Chrome extension
Reform any English webpage into Euspell in place. The extension walks the page's text nodes, respells each word from context, and writes the result back — leaving structure, images, and layout untouched.
What it does
- Converts the visible text of any page to Euspell with a single toolbar toggle.
- Reforms PDFs too, through its own bundled PDF.js viewer.
- Resolves ambiguous words (noun vs verb, heteronyms) from their sentence context, not a blind find-and-replace.
- Adds speech dictation — speak, and your words are inserted already spelled in Euspell.
How it works
A content script runs walkTextNodes(document.body, convert) over the page. Because it only rewrites text-node values — never the element tree — the page keeps working exactly as before. The lexicon (~205000 entries) is pre-compiled into the bundle, so conversion is a local, offline lookup.
Dictation
Press Ctrl+Shift+9 — Cmd+Shift+9 on a Mac — or use the popup, to dictate. Speech recognition produces traditional English; the same converter respells it before it lands at your cursor. Conversion happens on whole sentences so context-dependent spellings come out right. Click into a text field first, then start. To change the shortcut, open chrome://extensions/shortcuts.
speech → [ASR: traditional English] → [Euspell convertText] → inserted at caret
Install
Google Chrome
- Open the Euspell listing on the Chrome Web Store.
- Click Add to Chrome, then Add extension to confirm.
- Click the puzzle-piece icon in the toolbar and pin Euspell so it stays visible.
- Click the Euspell icon and toggle reforming on for the current page.
Microsoft Edge
Edge runs Chromium extensions, so it installs from the Chrome Web Store. There is no Euspell listing on Edge Add-ons — that is a separate submission and review, and it would serve the same browsers this already reaches.
- Turn on
Allow extensions from other stores— Edge will prompt for this the first time. - Open the Euspell listing and click Add to Chrome, then Add extension.
Brave, Opera & other Chromium browsers
Install directly from the Chrome Web Store listing — these browsers accept Chrome extensions unchanged. Opera may ask you to enable Install Chrome Extensions first.
Firefox
If a Firefox build is published, open the Euspell listing on Firefox Add-ons and click Add to Firefox, then Add.
Safari (macOS)
Safari's version ships as a small, signed and Apple-notarized macOS app that carries the extension — Apple requires Safari web extensions to be delivered inside an app. It is a direct download (not the App Store yet), so it does not auto-update: re-download to get a newer version.
- Download Euspell for Safari (macOS) — version 0.3.4, notarized by Apple.
- Open the disk image and drag Euspell.app into your Applications folder.
- Double-click it once to register the extension with Safari; you can then quit the app.
- In Safari, open Settings ▸ Extensions and turn on Euspell.
- Open the Euspell entry and set it to Allow on Every Website(or grant per-site as you browse) — without access it can read nothing and pages won't convert.
file://pages and PDFs stay in Safari's native viewer — Safari web extensions can't read local files, and there is no per-extension file-access grant as there is on Chrome. Requires macOS with Safari 16.4 or later.Build from source
Firefox now has a Mozilla-signed build of its own, so building from source is only for development — on Firefox or on any Chromium browser. Grab the signed .xpi instead and open it in Firefox: it installs permanently, unlike the temporary add-on an unsigned build becomes. Firefox 128 or later, and it does not update itself.
The exact commands move with the build, so they are kept beside the code rather than repeated here: docs/installing.md is the maintained copy, and where it disagrees with this page it is right.
Settings
Everything you can tell Euspell to do lives in two places: the popup, for the page in front of you, and the Options page, for settings that stick. Both write the same stored state, so a change in one shows up in the other.
The popup — everyday switches
Click the Euspell toolbar icon. Changes apply to the page you're looking at immediately — there is no reload.
| Control | What it does |
|---|---|
| Convert pages | The one switch. Off means Euspell converts nothing, anywhere. |
| Dictate euspell | Start/Stop the speech dictation above. Shown only where your browser supports speech recognition. |
| Options | Opens the settings page below. |
The toolbar icon shows the state, so you need not open the popup to check: the normal blue mark while Euspell is converting, and the same mark inverted — a solid disc with the design knocked out — while it is off. Hovering it says which in words.
On a page no extension may touch — chrome:// pages, the Web Store itself — the popup says This page can't be converted. The switch still works; it governs every other tab.
The Options page — settings that stick
Reach it from the popup's Options button, or from chrome://extensions → Euspell → Details → Extension options.
- Convert pages — the same switch as the popup, kept in sync.
- Site access — whether Euspell may read pages at all. If you have revoked access (or you are on Firefox, where it is opt-in), a Grant access button appears here to restore it. This is the recovery path when conversion stops working everywhere at once.
file:// URLs), open chrome://extensions → Euspell → Details and turn on Allow access to file URLs. Chrome withholds this by default, even from an extension that may already read every website.If something looks wrong
| Symptom | Try |
|---|---|
| Nothing converts, on any site | Check the toolbar icon — inverted means Euspell is switched off. If it is on, go to Options → Site access and click Grant accessif it's offered. |
| A page converts only partly | Text a page adds after loading is converted as it appears, but a page that redraws its own text can win the race. A reload usually settles it. |
| The dictation row is missing | Your browser has no speech recognition, or the page is one no extension may touch. |
What is and isn't handled
| Content | Status |
|---|---|
| Context-free reforms (above → abov, night → niht) | Converted |
| NN2 | VVZ ambiguities, 702 plurals, 102 heteronyms | Converted from context (SVM + POS rules) |
| ~70 semantic homographs (read, bow, tear) | Resolved by per-word rules where available |
| Editable fields (you typing) | Deliberately left alone — the reader never rewrites your input |