Lightweight, offline autocorrect for Windows.
AutoCorrect fixes common typing mistakes as you type and stays out of the way in the system tray. It is designed to feel fast, local, and dependable instead of cloud-heavy or distracting.
AutoCorrect is a system-wide Windows typing helper built for people who type quickly and make small mistakes often:
tehinstead ofthesomthinginstead ofsomethingwnatinstead ofwant
The goal is simple: make desktop typing feel a little more like phone autocorrect, but without sending your text anywhere and without depending on paid APIs.
The project is built around a local typo-correction engine using symspellpy, plus a lightweight Windows desktop wrapper:
symspellpyfor fast spelling suggestionspynputfor global key listeningpystrayfor the tray icon and tray menutkinterfor the settings windowPillowfor icon generation and tray graphics
The app listens for typing system-wide. When you press Space or Enter, it treats that as the end of a word.
Then it:
- reads the last typed word from its in-memory buffer
- checks whether the app is enabled
- sends the word through the local correction engine
- if a better correction is found, it erases the old word and types the corrected one
That means correction happens word by word, in real time, without scanning entire documents and without making internet requests.
The speed comes from the correction approach.
Instead of comparing a typo against every dictionary word one by one, the underlying engine uses a precomputed delete-based index. That lets it jump quickly to likely matches for misspelled words.
In practice, lookup is designed to behave like near-constant-time dictionary access for common use, which is why SymSpell is widely known for being extremely fast compared with traditional edit-distance spell checking.
Important nuance:
- the full app is not literally
O(1)end to end in the strict theoretical sense - there is still work for indexing, candidate lookup, filtering, and simulated retyping
- but for typical desktop usage, the correction step is small and fast enough to feel immediate
That is the real reason this project works well as a background utility: it is lightweight enough to react as you type instead of feeling delayed.
This project intentionally avoids:
- cloud models
- paid APIs
- heavy background inference
- online dependency for normal usage
That makes it:
-
Lightweight Runs as a small local background utility instead of a heavy assistant.
-
Fast Uses a local correction engine tuned for instant word-by-word fixes.
-
Offline No cloud calls, no API bills, no internet required.
-
System-wide Designed for everyday Windows typing, not just one editor or browser tab.
-
User-controlled You can tune ignored words, custom replacements, startup behavior, and live settings from the tray app.
- real-time correction on
SpaceandEnter - system-wide Windows listener
- offline local correction
- tray icon controls
- branded settings window
- ignored words list
- custom replacements
- startup control
- settings import and export
- live preview tab
For normal users, this is the path that matters:
- Open the repository on GitHub
- Click
Releases - Download the latest installer, such as
AutoCorrect-Setup.exe - Run the installer
- Launch AutoCorrect from the installer finish screen, Start Menu, or desktop shortcut
After that, AutoCorrect runs from the Windows system tray and you can turn it on or off from there.
Once AutoCorrect is running:
- Type normally in Windows apps
- Press
SpaceorEnter - AutoCorrect fixes the last word when it recognizes a common typo
Use the tray icon to:
- turn autocorrect on or off
- open settings
- enable launch at startup
- quit the app
Windows often hides tray icons by default. If you do not see AutoCorrect right away:
- Look at the bottom-right corner of the taskbar near the clock
- Click the small
^arrow to open hidden tray icons - Find the AutoCorrect icon there
- Right-click it to open the menu
If you want it visible all the time, pin it from the Windows tray settings.
If someone clicks Quit, AutoCorrect fully closes and stops correcting until it is launched again.
To run it again:
- Open the Windows Start Menu
- Search for
AutoCorrect - Click the app to start it again
If a desktop shortcut was created during install, the user can also start it from there.
If Launch at startup is enabled, it will also come back automatically the next time the user signs into Windows.
- no telemetry
- no paid API dependency
- no internet requirement
- local settings only
- local correction only
- It fixes typos, not full sentence meaning
- Wrong-but-valid words can still slip through
- Protected or elevated apps may block simulated typing
- Very short words are corrected conservatively to avoid false positives
If you want to run from source:
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python main.pyBuild the standalone app:
.\build.ps1Build the installer:
- Build the standalone exe with
.\build.ps1 - Open
installer.issin Inno Setup - Compile the installer
main.py: app startup, tray integration, runtime wiringinjector.py: keyboard buffering and word replacementcorrector.py: local correction logicsettings.py: persistent settings and startup integrationui.py: settings windowapp_info.py: release metadatatools/generate_icon.py: build-time icon generationAutoCorrect.spec: PyInstaller specinstaller.iss: Inno Setup installer script
Contributions are welcome. Start with CONTRIBUTING.md.
This project is released under the MIT License. See LICENSE.