A Chrome extension that highlights probably-AI-written text on any page. It works on linguistic patterns rather than a model, so detection runs locally and instantly with nothing sent anywhere.
- Download or clone this repository
- Open
chrome://extensions/ - Turn on Developer mode, top right
- Click Load unpacked and select the extension folder
The default pattern list is the set of phrases that show up far more in generated prose than in writing people did themselves:
"isn't just about", "—it's about", "more than just", "; it's a", "it's important to", "it's worth noting", "dive into", "delve into", "in today's world", "landscape", "navigate", "foster", "leverage", "in conclusion", and the refusal boilerplate: "I cannot and will not", "I cannot provide", "I cannot assist".
Several of these are antithesis constructions, where a sentence sets up one idea and negates it to make a point. That shape is the strongest single tell, which is why four separate variants of it are on the list.
Edit the list in the options page. They're plain phrases, so you can tune it for whatever you're reading.
The setting that matters most. Sensitivity is how many patterns have to match before a block gets highlighted.
At 1, any page containing the word "landscape" lights up, and you stop trusting it by the second page. Raising it means a passage has to show several tells at once, which is closer to how you'd judge it yourself. Start at 2 or 3.
- Highlight style: background, border, or underline
- Colour: 10 presets or your own hex, with an opacity slider. The default is
a light yellow (
#fffde7) chosen to be readable over body text rather than to shout - AI badge: an optional small indicator on detected content
- Excluded domains: sites where detection stays off
- Import and export: settings to and from JSON
The page is rescanned as content changes, so it works on feeds and anything else that loads as you scroll. There's a rescan button in the popup for pages that rewrite themselves in ways the observer misses.
Everything happens in your browser. No text leaves the page, no server is contacted, and there's no analytics. Settings go in Chrome's sync storage, so they follow your Chrome profile across machines.
The manifest asks for storage and activeTab and nothing else.
- It detects phrasing, so a person who writes in those patterns gets flagged and generated text that avoids them doesn't. Treat it as a prompt to read more carefully.
- English only.
- Chrome and Chromium browsers, on Manifest V3.
- Pattern matching is literal rather than regex, so "delve" and "delving" are two separate entries.
MIT. See LICENSE.
More at benattanasio.com/lab.