Spell Fixer is a Chrome extension (Manifest V3) that performs offline, real-time spell checking in text fields, textareas, and rich-text editors on any website. No remote API, no user data collection — everything runs locally.
- Website-wide, per-page correction highlights
- Real-time misspelling underlines and suggestions
- Keyboard-friendly and accessible architecture
- Supports custom words via
chrome.storage.local
Created and maintained by rabbiislamrony.
Source repository: https://github.com/rabbiislamrony
This project is fully open source and free to use, fork, modify, and share under the MIT license.
- Clone or download this repository.
- Open Chrome, go to
chrome://extensions. - Enable Developer mode.
- Click Load unpacked and select this
spell-fixer/folder. - Ensure the extension is enabled.
- Visit any website and start typing.
- Spell checking in:
input[type=text],input[type=search]textarea[contenteditable=true]
- Mirror-div rendering for text inputs/textareas, with inline red underlines.
- TreeWalker approach for contenteditable fields (Word wrap around DOM nodes).
- Suggestion popup with corrections and "Add word".
- Custom dictionary (
userWords) stored inchrome.storage.local. - On/off toggle in extension popup (
popup.html). - Works offline with local dictionary (
dictionary.js+spellchecker.js).
manifest.json— extension metadata (MV3)content.js— injection logicspellchecker.js— tokenization + spelling + suggestionsdictionary.js— ~3000 words set (can be expanded)popup.html/popup.js— enable/disable togglestyles.css— highlight and popup UI styling
- Click a misspelled word or underline.
- Pick a suggestion from the popup.
- Use Add word to whitelist and avoid future false positives.
- Toggle the extension on/off from the popup.
- No telemetry
- No third-party network requests
- Custom words stored only in user local Chrome storage
Suggested improvements (server by current ROADMAP.md):
- Better dictionary (50k+ words) to reduce false positives.
- Per-site disable settings (housekeeping, banking sites).
- Keyboard navigation for suggestion dropdown (ArrowUp/Down, Enter, Esc).
- Autocorrect common typos (e.g.,
teh→the). - Ignore / Ignore-all convenience controls.
- Add international language support (Bengali documentation + multi-lingual dictionary).
Contributions are welcome!
- Open an issue for bugs or feature requests
- Fork and submit a pull request
- Add tests in
test/test-logic.jsandtest/test-browser.js
Please follow standard GitHub flow:
- Fork repository
- Create feature branch:
git checkout -b feature-name - Make changes and test locally
- Commit:
git commit -m "feat: ..." - Push:
git push origin feature-name - Open Pull Request
- Add
CONTRIBUTING.mdandCODE_OF_CONDUCT.md - Add a public GitHub Pages or
privacy.htmlas privacy policy for Chrome Web Store - Add more context in
READMEandHOW_IT_WORKSwith screenshot examples
This project is licensed under MIT License - see LICENSE for details.