What Highlighty Can't Do (and Why We Tell You)
Written on:
Most software pages tell you everything a tool can do. This one is about what Highlighty can't do — the spots where it falls short, and why.
That might seem like a strange thing to publish. But naming your limits is part of being trustworthy: if we're honest about the edges, you can believe us about the middle. And when a search comes up empty, knowing why saves you from wondering whether the tool is broken.
TL;DR
- Highlighty can't read content embedded from a different website (cross-origin iframes). The browser blocks all extensions from reading those, for security — not just us.
- Some custom widgets keep their text in their own internal layer, where it stays out of reach.
- Scanning very large pages with a lot of queries is CPU-intensive. Older machines or many open tabs can slow down.
- On-device OCR for scanned PDFs is English-only in this first release.
- Form-field highlighting is a Beta feature and is off by default.
- These limits exist for real reasons — browser security, page design, hardware, and caution about new features — not because we're hiding anything.
It can't read content from another website embedded in the page
Some pages embed content from a different website inside them — a comment box, a map, an embedded document, an ad. These are cross-origin iframes, and the browser deliberately walls them off so that the outer page (and any extension running on it) can't read inside.
That wall is a core browser security rule, not a Highlighty shortcoming. It blocks every extension equally — there's no setting or workaround that lets us override it, and you wouldn't want one, because the same rule is what stops a malicious page from reading your logged-in session in an embedded frame.
So if a page clearly shows a word that Highlighty can't find, it's often because that word lives inside an embedded frame from another site. (Most same-site embedded frames, by contrast, Highlighty can reach.)
Some custom widgets hide their text out of reach
A few pages build their content with custom widgets that keep text in their own internal layer rather than in the normal page where it can be read. That text never becomes part of what an extension can see, so Highlighty can't find or highlight it.
This is uncommon, but it's the other usual explanation for "I can see it, why can't Highlighty?" The text is rendered in a way that's unreachable to extensions in general, not just to ours.
Big pages with many queries can be slow
Searching is work. Scanning a very large page, especially with a long list of active queries, is CPU-intensive — Highlighty has to look through a lot of text and paint a lot of matches.
On a modern machine with a reasonable number of tabs, you won't notice. But on older hardware, or when you've got many heavy tabs open at once, that work can show up as a slowdown. It's a genuine trade-off of doing the search thoroughly and locally, on your device, rather than cutting corners.
If you hit this, narrowing your active query list or using the whitelist and blacklist to limit where Highlighty runs both help.
OCR is English-only for now
Highlighty can make scanned, image-only PDFs searchable by reading them with on-device OCR — no upload, the page image never leaves your computer. In this first release, that OCR handles English only.
We chose to ship the on-device, no-upload version first rather than wait, even though it means other languages aren't covered yet. The privacy trade-off is the reason it's worth doing carefully: keeping OCR on your device is the whole point, so we'd rather grow language support deliberately than route your documents through a server to do it faster.
Form-field highlighting is Beta and off by default
Highlighty can paint your saved-query matches inside inputs and text areas, without ever modifying the field's real value — copy, paste, undo, and submit all see the literal text you typed. That feature, "Highlight form fields," is still in Beta.
Because it's Beta, it ships turned off by default. You can switch it on under the Advanced settings if you want it, but we'd rather it be an opt-in you choose than a default that surprises you while it's still maturing. That's the cautious-by-default stance we take with anything that touches what you type.
Why we tell you all this
Every one of these limits has a cause we can point to: a browser security boundary, how a particular page is built, the cost of doing real work on your hardware, or our own caution about new features. None of them is a secret, and pretending they don't exist would just leave you puzzled the first time you hit one.
We'd rather you know the edges going in. A tool that's honest about what it can't do is easier to trust on what it can.
Frequently asked questions
Why can't Highlighty find a word I can clearly see on the page?
Two cases cover almost all of these: the word is inside content embedded from another website (a cross-origin iframe), or it's inside a custom widget that keeps its text in its own internal layer. Both are unreachable to extensions in general — not just Highlighty.
Why can't any extension read a cross-origin iframe?
Because the browser deliberately walls off content embedded from a different website, as a core security rule. It stops the outer page and its extensions from reading inside an embedded frame. There's no workaround, and the same rule protects you from malicious pages.
Highlighty feels slow on a big page — what's happening?
Scanning a very large page with many active queries is CPU-intensive, and older machines or lots of open tabs can slow down. Narrowing your active query list, or using the whitelist and blacklist to limit where Highlighty runs, both help.
Does OCR work for languages other than English?
Not yet. On-device OCR for scanned PDFs is English-only in this first release. We kept it on-device (the page image never leaves your computer) and chose to grow language support carefully rather than send documents to a server.
Why is form-field highlighting off by default?
Because it's still in Beta. The feature paints matches inside inputs without changing the field's real value, but while it matures we ship it turned off so it's an opt-in you choose rather than a surprise. You can enable it in the Advanced settings.
Why publish a list of your own limitations?
Because naming the limits is part of being trustworthy, and because knowing why a search came up empty saves you from wondering whether the tool is broken. Each limit has a real cause — browser security, page design, hardware, or our own caution — and we'd rather you know the edges going in.
Would you like to read more? Please check our other blog posts here.