The whole web, easier to read.

Aurora Toolkit is a free Chrome extension with six on-page accessibility tools — reading guides, annotations, color themes, comfortable fonts, read-aloud, and comfort settings for video. Always on by default, and always under your control, site by site.

Runs on your device No accounts, no analytics Free, no sign-up

The architecture

Six tools, one small button, nothing you didn't ask for

Aurora Toolkit is one extension built à la carte. Turn a module on and it loads on the pages you allow; leave it off and its code is never injected at all — not idle, not waiting. Not there.

Always on, until you say otherwise

It runs everywhere by default, so you never have to remember to switch it on. One click excludes the site you're on — or flip to allow-list mode and it runs only where you invite it. Entries can be a whole site or one section of it, like docs.google.com/document.

À la carte, so it stays light

The background worker checks your settings against the page's address, then injects only the modules you enabled. Six modules on is a handful of small scripts; zero modules on is zero scripts.

Out of the way, then right there

One 46-pixel button floats over the page. Hover it and only the tools you turned on fan out; click one and its settings open in place. Drag it anywhere, or press Alt+Shift+A to land on it without a mouse.

The toolbar popup

This is the real popup's layout. Flip a module and watch the floating button — and the injection list — change.

Reading Tools

Stay on the line you're reading

A bright focus line, and two masks that dim everything except a clear band around it. Turn on Autofollow and the band tracks your mouse; leave it off and drag the grip on the left edge — or nudge it with the arrow keys.

Reading Tools

Masks stay click-through — drag the left-edge grip to move, or turn on Autofollow.

Autofollow on — move your pointer over the page

In plain words

A window that follows your reading down the page and dims the rest, so long paragraphs stop swimming. You can still click straight through it, and it never moves unless you tell it to.

Under the hood

The overlay is a custom element with its own shadow root, pinned at the very top of the stacking order so a site's own z-index can't bury it. Every piece is pointer-events: none except a 15 px grip. Updates are split in two — settings changes rebuild the geometry, each frame writes only the new y — and the masks register as "escapable" so a page recolor from the Color Engine can't tint them.

Color Engine

A color engine that reads the site first

Nineteen ready-made themes — Smart Dark, a Dark Reader–powered dark mode, grayscale, and sixteen high-contrast duotones — plus a builder for your own. Flip the sample site to dark mode and watch each theme hold its look instead of inverting into nonsense.

Color Engine

Theme


Custom duotone

filter: none Sample site scheme: light

In plain words

Pick the colors that are kindest to your eyes and the whole page changes at once. Because it looks at the site before it starts, amber-on-black stays amber-on-black — even on sites that were already dark. Photos can keep their natural colors, and the toolkit's own menus can match your theme.

Under the hood

A duotone is grayscale(1) contrast(160%) followed by an SVG feColorMatrix that maps luminance onto a two-color ramp — out = lum·(bg − text) + text — applied to <html> so the page's fixed elements stay pinned. It's one GPU pass, not a CSS overlay. Smart mode scans the page's real light and dark elements first: a duotone on an already-dark site is pre-inverted, and Smart Dark re-inverts the sections that were already dark so they don't flip to light. A contrast guard reverts low-contrast text-on-color chips to their original colors.

Font Engine

Type you can actually read

Swap the page's reading text for a font that suits you, then open up the space between lines, letters, and words until it stops feeling cramped. Layouts stay intact.

font-family: (page default)

Font Engine

Font

In plain words

Choose a friendlier font and give the text room to breathe. Nothing gets downloaded, nothing phones home, and the site's buttons and icons don't turn into squares.

Under the hood

System-safe stacks only: Manifest V3 forbids remote fonts, so nothing is ever downloaded — starred entries such as OpenDyslexic and Atkinson Hyperlegible use your installed copy and fall back if it isn't there. The override ships as a constructable stylesheet (with a <style> fallback) targeting a conservative list of reading-text selectors, and the same variables restyle the toolkit's own menus so they match what you chose.

Notes & Annotation

Draw on the web, and come back to it

Pen, highlighter, and a stroke eraser, straight on the page. Ink is vector, so it stays razor sharp at any zoom — and it's saved for that page, so it's still there tomorrow.

Notes & Annotation

Tool

Colour

On a real page: bare Z undoes while a drawing tool is active, and Esc drops back to Select so the page takes clicks again.

0 strokes

In plain words

Highlight a clause, circle a form field, scribble a reminder to yourself. Zoom in and your ink is still sharp instead of blurry. Come back to the page later and it's still where you left it — on your computer, never uploaded.

Under the hood

Each stroke is an SVG <path d> in page coordinates (client + scroll), so ink is anchored to content, scrolls with it, and stays crisp at 500% browser zoom — which is exactly why it isn't a canvas. The eraser removes whole strokes within about 12 px using a point-to-segment distance test. Strokes autosave, debounced, into chrome.storage.local keyed to the page's URL, pruned to the 50 most recent pages.

Read Aloud

It reads the page out loud — and the pictures too

Press play and every visible block becomes a reading unit, highlighted as it's spoken. Click any paragraph to start from there. And when the words are baked into an image, on-device text recognition digs them out and reads those too.

Read Aloud


Uses one of your browser's own voices. The extension defaults to an on-device voice so the text never leaves your computer.

Idle

Freeze Frame

Some text isn't text: a scanned page, a slide, a screenshot, a menu drawn as one big image. Freeze Frame snapshots what's on screen, recognises the words, and turns each paragraph into something you can click and hear.

The image below is a picture — there is no selectable text in it at all.

Notice of scheduled works Water will be shut off on Tuesday from 9am until 2pm. Please fill a container the night before. Questions go to the building office on the ground floor, or call the number posted by the mailboxes.

tesseract · eng · bundled · offline

In plain words

It reads to you and shows you where it is. Click a paragraph to start there instead. If the words are inside a picture, it works them out on your own computer — English recognition is built in and works with no internet at all — and reads those too.

Under the hood

Two tiers. Real text: every visible block becomes a reading unit, spoken through chrome.tts — owned by the service worker, so the queue survives a slow page and stops cleanly if you navigate away. Baked-in text: the image goes to a bundled Tesseract WebAssembly worker running in an MV3 offscreen document, because service workers have no DOM or canvas. Freeze Frame captures the visible tab, OCRs it, and rebuilds clickable paragraph boxes with word-level highlight sync. Reading Tools' masks can follow along via an internal position message.

Video Tools

Make any video comfortable to watch

Eight adjustments applied to whatever video the page decides to play — plus Adaptive High Contrast, which measures the picture as it goes and keeps it readable while the scene changes.

Video Tools

Preset


Any slider you touch switches the preset to Custom — the same as in the extension, so you never lose your own picture to a named one.

filter: none

No video file is downloaded for this demo — the scene is drawn by the page, so aurora.tools stays one self-contained file. On a real page these controls apply to real <video> elements.

In plain words

Turn down a video that's too bright, lift the shadows in one that's too dark, cut the blue for late nights, or let Adaptive High Contrast keep the picture readable by itself as scenes change. Every video the page plays gets the same treatment, automatically.

Under the hood

One stylesheet rule keyed to a data-vt-video attribute, so a slider drag rewrites a single rule instead of touching every player on the page — and videos inside open shadow roots get the sheet adopted into their root, because document CSS can't reach in. Gamma is an feComponentTransfer; sharpen is a 3×3 feConvolveMatrix. Adaptive High Contrast samples the presented frame into 32×18 pixels — about eight times a second by default, and you can tune that from 40 ms to a full second — builds a luminance histogram, stretches the 5th–95th percentile with a linear transfer, corrects the mid-tone with a gamma transfer, and smooths the result with a dead zone and a hard rate cap so the picture never breathes or flickers. Manual sharpen and the mode's edge separation deliberately share one convolution pass, because two of them on a moving 1080p surface is the most expensive thing the module could do. Known limit: Picture-in-Picture draws frames outside the page, so nothing CSS does can reach it — fullscreen is fine.

The rest of it

Built to be used by everyone

Accessibility isn't a settings page you visit once — it's the whole point of the thing.

Full keyboard control

Reach the floating button from anywhere with a shortcut, then move between tools with the arrow keys, type a tool's first letter to jump to it, and press Esc to return to exactly where you were reading. Every control is a real, labelled form control.

Private by design

No accounts, no analytics, no servers of ours to send anything to. Your settings and your page notes live in your own browser. The few features that touch the network say so, and each one is avoidable.

Follows you, or doesn't

Settings save through Chrome's own sync, so your setup is waiting on your other computers if you're signed in. Prefer files? Export everything to JSON and import it on the next machine — the setup tour has a step for exactly that.

Two interface themes

Aurora for a calm dark panel, or High-Vis — black, white, and yellow with heavier borders — for maximum separation. Try the switch at the top of this page; it's the same pair the extension ships. Duotone themes can restyle the toolkit's menus to match, too.

Calm by default

Reduced-motion preferences are honoured, nothing strobes, and nothing moves unless you asked it to. Modules ship switched off — you turn on exactly what you want in a short setup tour.

Sits well with screen readers

Every injected surface lives in its own shadow root with proper roles and live regions, so the toolkit's own UI announces itself instead of leaking into the page's reading order.

Keyboard

The fast lane

Four shortcuts are bound out of the box; the per-module toggles are left unbound so they can't collide with anything you already use. All of them are rebindable.

ActionShortcut

To change these, open Chrome's own shortcut page — paste chrome://extensions/shortcuts into the address bar (links to chrome:// pages can't be clicked from a website, by design).

Privacy

What leaves your browser, and what doesn't

Aurora Toolkit has no accounts, no analytics, and no tracking, and there are no servers on our side — so we never receive, store, or have access to your data. Your settings and your notes stay in your own browser.

  • Your settings — modules, colours, fonts, reading and read-aloud preferences, your per-site list — are saved with Chrome's storage.sync. If you're signed in to Chrome, Chrome syncs them across your own devices. That's Chrome doing it, not us.
  • Your page notes are saved with storage.local, keyed to the page's address, so they reappear when you come back. They never leave the device they were drawn on.
  • Page content is processed on your device to render the tools. English text recognition is bundled and runs fully offline.

Read the full privacy policy (opens in a new tab)

Three optional features do reach the network — never to us: an online read-aloud voice, if you pick one (your browser sends that text to the voice's provider); a non-English recognition language, downloaded once from a third-party host and then cached; and the Dark Reader theme, which fetches the site's own stylesheets and images from the site's own servers to compute its dark version. Keeping the defaults keeps everything local.

Permissions, and why

<all_urls> + scriptingTo show the tools on the pages you allow
tabsTo read the current address for your site list, and to snapshot the visible tab for Freeze Frame
ttsTo speak page text with your system voices
offscreenTo run the bundled recognition engine, as Chrome requires
storageTo save your settings and notes

It does not touch your browsing history, form data, or passwords.

Questions

Before you install

Is it free?

Yes — free, with no account, no trial, and nothing to buy later.

Why does it need access to every site?

Because the tools draw on the page you're reading, and it can't know in advance which page that is. The trade is under your control in both directions: keep the default and one click excludes a site, or flip to allow-list mode so it runs only on the sites you name.

Will it break the sites I use?

The design tries hard not to. Overlays are click-through, font changes target reading text rather than icons, and colour themes run as a single GPU filter instead of rewriting the site's CSS. If a particular site does misbehave, exclude just that site — or just that section of it — and everything else keeps working.

Does it work everywhere in the browser?

No extension can run on Chrome's own pages (chrome:// settings, the Web Store, the new tab page) — Chrome blocks that for everyone. Built-in PDF and image viewers are also off-limits to page scripts. Everywhere else, including pages inside iframes, is fair game.

Chrome only?

It's built and tested for Chrome, and it also runs on Chromium browsers that support Manifest V3 and offscreen documents — Edge, Brave, Opera, and friends. Safari and Firefox use different extension systems and aren't supported.

What does "beta" mean here?

That it's real, usable, and still improving on a regular basis — you may meet the occasional rough edge. Bug reports genuinely help: hello@aurora.tools.

Is this the same thing as VDO Magnifier?

They're siblings. VDO Magnifier is a browser-based magnifier for a shared screen or video stream, and it's where a lot of this was worked out first — the colour matrices, the reading guides, the annotation tools. Aurora Toolkit takes those ideas and applies them to the pages you browse.