Charm
Autocorrect that actually works on your Mac.Visit CharmFAQ41
Charm is a private writing assistant that runs entirely on your Mac. Three features work together: Spells catches typos the moment you press space, Polish quietly fixes grammar like missing full stops and lowercase starts, and Oracle predicts your next word, with Tab to accept. On top of that there is text replacement, emoji replacement, and a personal dictionary that learns your vocabulary. Each feature can be toggled independently.
Charm runs on macOS 14 Sonoma or later, on both Apple Silicon and Intel Macs. The app itself is tiny, around 18 MB. The on-device AI model adds a one-time download of about 1.5 GB for the lite model or 1.7 GB for the recommended one. The lite model needs a Mac with 8 GB of memory; the recommended model needs 16 GB. Charm checks this before downloading, so it will only offer models your Mac can comfortably run. Spelling correction works even without a model installed.
Download Charm from theodorehq.com/charm/download, open the DMG, and drag Charm into Applications. On first launch a setup guide walks you through everything: entering the license key from your purchase email, granting the two macOS permissions (Accessibility and Input Monitoring), downloading the on-device AI model, and a quick tour of how Charm behaves in different apps. The whole thing takes a few minutes, and Charm then lives quietly in your menu bar. If you ever want a refresher, the interactive guide at theodorehq.com/charm/try covers every feature in about two minutes.
Charm corrects text inside other apps, which macOS only allows through two permissions. Input Monitoring lets Charm notice when you finish a word, so it knows the right moment to check spelling. Accessibility lets Charm read the word you just typed and replace it in place with the correction. Without both, Charm cannot see or fix anything. Both are granted in System Settings > Privacy & Security, and they sit in two separate lists there. Everything Charm reads stays on your Mac: nothing you type is ever stored or sent anywhere, and password fields are skipped entirely.
Yes. Native Mac apps get Automatic mode, where Charm corrects inline as you type with no setup. Web browsers and Electron apps handle text differently, so there Charm uses Fix Selection: press Option-Command-V and it fixes the whole field in one pass, no selecting needed. Charm sets the right mode for every app automatically and picks up newly installed apps on launch, and you can override any app in Settings. If you would rather have live correction in a browser, set it to Automatic in Settings and Charm will keep it there. It is best-effort in browsers, so the odd correction may not apply, but Fix Selection always works too.
No. Charm is lightweight at idle. On first launch it downloads a local AI model, around 1.5 GB for the lite version or 1.7 GB for the recommended one, one time only. After that everything runs locally with minimal CPU usage, and corrections land in under 200ms.
Yes. All corrections and predictions run on your Mac using a local AI model, so Charm works fully offline: on a plane, on a train, anywhere. You only need a connection three times: downloading the app, downloading the AI model on first run, and activating your licence key. After that, Charm quietly reconfirms your licence in the background when you happen to be online, and it is happy to run fully offline for up to 7 days at a time. Away longer than that? Just connect once and it revalidates automatically, no key re-entry needed; your key is stored securely in the macOS Keychain. Updates also download automatically whenever you are connected.
Press Ctrl-Option-C to toggle all of Charm on or off instantly, from any app. The menu bar icon changes so you can see the current state at a glance. You can change this shortcut in Settings > Customise > Keyboard Shortcuts, and you can also record separate shortcuts there to toggle individual features: Spells, Polish, Oracle, or emoji replacement. Each one shows a small confirmation when pressed, so you always know what just changed. The menu bar popover has the same toggles if you prefer clicking.
Open Settings > Development, where you will find a Support section. From there you can Report a Bug, Request a Feature, Leave a Testimonial, Review Roadmap, or open the FAQ Section. Each one takes you straight to the relevant page on the Support Centre in your browser, so you can see what has already been raised, add your own, and follow along. If you would rather include a diagnostic report with a bug, grab it first from Settings > Diagnostics (Copy or Send Feedback), then attach it. Everything is read and answered by a real person.
Fix Selection is Charm's on-demand cleanup. Select some text and press Option-Command-V, and Charm fixes spelling, grammar, capitalisation, and punctuation in one pass. With nothing selected, it fixes the entire text field. It works everywhere, including web browsers and apps like Slack where live correction is not possible, and you can press Esc to cancel while it is working. It is also polite: in chat apps it never adds a full stop to the end of your message. You can change the shortcut in Settings > Customise > Keyboard Shortcuts.
Oracle predicts your word after you have typed three or more letters and pause for a moment. The suggested ending appears highlighted right in your text: press Tab to accept it, Esc to dismiss it, or just keep typing to replace it. Oracle is off by default, so switch it on in the menu bar popover when you want it. It gets smarter as you write: real words you use often become suggestions, and anything you write a few times, from a single word to a short sign-off, can be completed with a single Tab. It only ever suggests genuine words, so a stray typo never gets offered back to you. It deliberately skips very common short words, and stays out of search bars and address bars.
Press Command-Backspace (or Command-Z) immediately after a correction and your original word comes straight back. Charm then offers to add that word to your personal dictionary: press Y to add it so it is never corrected again, or N to dismiss. Press Backspace again quickly and Charm deletes the whole word for you, ready to retype. The undo window lasts a few seconds after each correction, and once you keep typing, normal Command-Z behaviour returns to the app. Charm also remembers what you undo, so a correction you reject twice stops being suggested.
Add it to your personal dictionary. The quickest way: when Charm corrects the word, press Command-Backspace to undo, then Y when Charm asks whether to remember it. You can also add and remove words directly in Settings > Personal. Dictionary words are never flagged again in any app, and Charm even protects them during grammar fixes. It also respects your capitalisation: add "Bauhaus" and typing "bauhaus" gets promoted to your preferred form. Names, brands, slang, project codenames, whatever you write, Charm learns your vocabulary.
Yes. In Settings > Personal you can create replacement pairs: type a short trigger and Charm expands it the moment you finish the word. Make "addr" your postal address, "@@" your email, or "sig" your signature. Replacements work across your apps, including web browsers and chat apps, and matching ignores capitalisation. If an expansion ever fires when you did not want it, press Command-Backspace straight away to undo it. You can add, edit, and remove shortcuts any time.
With emoji replacement on, typing certain words converts them to the matching emoji: "coffee" becomes the coffee cup, "magic" becomes sparkles. Only lowercase words trigger it, and some two-word phrases work too. If Charm converts a word you wanted as text, press Command-Backspace to undo, and Charm will ask whether it should stop converting that word for good. Your exclusions are listed in Settings > Personal, where you can remove one to bring the emoji back. You can also switch emoji replacement off entirely, globally or just for specific apps and websites.
Yes, completely. Open Settings > Customise. Under Apps you can set any app to Automatic (corrects as you type) or Manual (corrects only when you press Option-Command-V), and switch spelling, grammar, prediction, and emoji on or off individually for that app. Under Websites you can do the same per domain, so you could keep prediction on in Gmail but off in Google Docs. Rules Charm created automatically carry an Auto badge so you can tell them apart from your own, and one click resets the automatic ones.
Charm currently supports English (UK) and English (US), switchable in Settings. It picks the right variant automatically from your Mac's language settings, so British users get "colour" accepted and American users get "color" accepted, and every correction respects the variant you chose. One nice touch: whichever variant you use, Charm never converts your currency symbols, so quoting $ amounts in British English is always safe. Support for more languages is on our roadmap; if there is one you would love to see, tell us on the feedback board or at support@theodorehq.com.
Charm offers two on-device models. Gemma 2 2B (about 1.5 GB) is best for speed and runs on Macs with 8 GB of memory. Qwen 2.5 3B (about 1.7 GB) gives smarter grammar and context and wants 16 GB. Only one is loaded at a time, and you can switch or remove models whenever you like in Settings > General under AI Engine. Charm checks your Mac's memory before offering a model, so you cannot pick one your machine cannot handle. Spelling correction works even with no model installed; the model powers the grammar pass and the trickiest spelling calls.
Yes, in a few ways, all stored locally. Corrections you accept a couple of times become instant. If Charm ever corrects a word to the wrong thing and you fix it to what you actually meant, it learns your word and gives you that next time. Corrections you undo are remembered too, so Charm stops making that change. For prediction, real words you type often become suggestions (it never offers a typo back to you), and anything you write a few times, from a single word to a short sign-off, can be offered in full with one Tab. You stay in charge of all of it: Settings > Personal lists the words you've taught Charm and your learned phrases, where you can search them, add or edit your own, and remove or reset any entry.
Yes. Each correction appears with a soft glow, and Settings > Appearance lets you make it yours. Choose any glow colour from the full colour spectrum, and pick an animation style: Subtle (the default), Playful for a little more delight, or None if you would rather corrections happen invisibly. Charm follows your Mac's light and dark mode automatically. If you are curious what got corrected, Settings > History keeps a log of your recent corrections along with counters for today and all time.
Yes. If Charm corrects a word to the wrong thing and you replace it with the word you actually meant, Charm learns that pairing and gives you your word next time instead. This is handy for words you often mistype in the same way, where the built-in checker lands on a close but wrong word. It kicks in after you have done the same fix a couple of times, so a one-off edit never sticks, and it only ever learns a real word. You can see and remove everything it has picked up in Settings > Personal > Taught. It all stays on your Mac.
Yes. Charm shows short messages near the top of your screen to tell you what it has done, such as confirming your corrected text is on the clipboard. If your menu bar or an app's toolbar is busy up there, open Settings > Appearance and drag Message Position to the height that suits you, anywhere from just under the menu bar down to the middle of the screen. A live preview follows the slider as you drag, so you can place it against your own screen rather than guess, and your choice is remembered for every future session. This is separate from the correction glow: moving your messages does not change how corrections themselves look as you type.
Charm is a one-time purchase, normally $19.99 and currently $9.99 as a launch offer, with no subscription and every feature included. There is no separate free trial because every purchase carries a 14-day money-back guarantee: buy it, use it for two weeks, and if it is not for you, email support@theodorehq.com for a full refund. That is your risk-free trial.
Three quick checks fix almost every case. First, make sure it is a Charm key: it starts with CHARM followed by groups of letters and numbers. A key from one of our other apps (like Solace) will politely tell you it belongs to a different product. Second, copy and paste the entire key from your Polar purchase email rather than retyping it; Charm ignores spaces and capitalisation, but every character matters. Third, activation needs a brief internet connection, so check you are online. Still stuck? Email support@theodorehq.com and we will sort it quickly.
Up to 3, and your licence is tied to the key, not the machine, so replacing a Mac is painless. Updates are automatic too: Charm checks in the background and offers new versions with one click to install, free forever with your licence. You can download the latest version any time at theodorehq.com/charm/download.
Each Charm licence activates up to 3 Macs. If you have replaced a machine and see the activation limit message, just email support@theodorehq.com from your purchase email address with your licence key, and we will free up the slot from the old Mac, usually within a day. Activations belong to the key, not the machine, so nothing else changes: your settings, dictionary, and learned corrections all live on each Mac and are unaffected.
Charm needs two macOS permissions: Accessibility and Input Monitoring, both switched on in System Settings > Privacy & Security. They sit in two separate lists, so it is easy to have one on and the other off. After enabling both, quit and reopen Charm so macOS registers them. To confirm it is working, type teh followed by a space in any native Mac app; it should become the.
macOS reads permissions when an app launches, so a freshly granted toggle often is not noticed until Charm restarts. Charm offers a one-click Relaunch when this happens; otherwise quit from the menu bar and reopen. If the warning persists after that, the permission entry itself is usually stale, which can happen after a macOS update: open System Settings > Privacy & Security, go into Accessibility and Input Monitoring, remove Charm from the list with the minus button, add it back, switch it on, and relaunch. Charm's warning always names exactly which of the two permissions is still missing, and its Fix button opens the right pane.
That is by design. Web browsers and apps built on web technology (Slack, Notion, Discord, VS Code, and many more) handle text in a way that does not allow safe live rewriting, so Charm automatically sets them to Manual mode. Type as normal, then press Option-Command-V and Charm fixes the whole field in one pass, spelling and grammar together, no selecting needed. Charm configures this automatically for every such app, including ones you install later, and shows a one-time tip the first time you type in one. You can override any app's mode in Settings > Customise.
When both Charm and the built-in macOS autocorrect are on, the two engines can react to the same keystroke, which occasionally shows up as doubled words or odd cursor jumps. The clean setup is one engine: open System Settings > Keyboard > Text and turn off the built-in correction, then let Charm handle everything. Charm makes this easy: when it notices system autocorrect is on, it shows a small banner in the popover with a Fix button that takes you straight to the right settings pane. Charm never changes your system settings itself; that choice is always yours.
First, check Oracle is switched on in the menu bar popover; prediction is off by default so it never surprises anyone. If it is on, remember Oracle is deliberately selective. It needs at least three typed letters, only suggests when the ending saves you three or more characters, and skips very common words. When you are typing quickly it only offers longer words, because interrupting fluent typing costs more than it saves. It also stays out of search bars, browser address bars, single-line web form fields, launchers like Raycast and Spotlight, terminals, and password fields. Pause briefly mid-word in a normal document and suggestions will appear.
Charm watches whether its corrections actually land cleanly in each app. If an app repeatedly refuses them (some apps handle text in unusual ways), Charm switches that app to Manual mode so your typing is never disrupted, and shows a small notice with an Undo button. Tap Undo to put the app straight back, and Charm respects that choice for the rest of the session. You can also change any app's mode in Settings > Customise, where automatically created rules carry an Auto badge and can be reset in one click. Prefer Charm never to manage modes for you? Turn off Smart Mode Selection in the same tab.
Terminals are the one place Charm deliberately never touches, and there is no setting to change that. In a terminal, every character is a live command rather than prose, so automatic corrections, predictions, or even an on-demand fix could alter or run commands you did not intend. Charm recognises all the popular terminals, including Terminal, iTerm2, Warp, kitty, Alacritty, WezTerm, and Ghostty, and stands down completely in them. Everywhere else on your Mac works as normal.
For a failed download, just retry from Settings > General under AI Engine: Charm automatically clears any partial download first, so a retry always starts clean. The error message tells you whether the cause was your connection, disk space, or memory. If Charm disappeared while loading a model, that means your Mac ran out of memory for it; on next launch Charm detects this, explains which model struggled, and steps back so it cannot happen in a loop. In that case choose the lighter Gemma 2 2B model, or run without a model; spelling correction works fine either way.
No. The AI model unloads itself after 5 minutes without a correction, freeing that memory completely, and reloads invisibly the next time it is needed. Memory during inference is tightly capped too. In browsers, Charm keeps its footprint deliberately small: it only inspects page details when you have actually created per-website rules, and recent updates significantly reduced how much work happens while you type in a browser. If anything ever feels heavy, make sure you are on the latest version (Settings > General > Check for Updates), then email support@theodorehq.com and we will take a look.
Open Settings > Diagnostics. You will see Charm's recent activity log: permission status, model events, and anything unusual, capped at the last 200 entries. Press Copy to put the whole report on your clipboard, then paste it into your email to support@theodorehq.com, or use Send Feedback which drafts the email for you (and copies the full log to your clipboard as a backup, since some mail apps truncate long messages). The log records events only, never the text you type, so it is always safe to share. A Clear button wipes it whenever you like.
Email support@theodorehq.com. A real person, not a bot, reads every message and usually replies within a day. Whether it is a question, a bug report, or an idea for Charm, we would love to hear from you. You can also report bugs, request features, and vote on ideas right here on the feedback board.
No. Everything Charm does happens entirely on your Mac using a local AI model, and it works fully offline. Nothing you type is ever stored or sent anywhere: no servers, no cloud, no account, no tracking. Charm only acts on the text you are actively writing, stays out of your browser's address and search bars, and skips password fields entirely.
No. Charm detects password fields several ways and never reads, corrects, or predicts in them. It recognises secure fields in native Mac apps and in every major browser, honours the system-wide secure input mode that password prompts switch on, and as an extra safety net it treats any masked field showing dots as off-limits too. The same protection covers everything: live correction, word prediction, phrase learning, and Fix Selection all stand down the moment a password field has focus. And since Charm runs entirely on your Mac with no cloud and no logging of typed text, there is nowhere for anything sensitive to go anyway.
Charm keeps a small amount of data locally so it can serve you better: your settings and per-app rules, your personal dictionary and text replacements, the corrections it has learned from you, short phrases and word frequencies for prediction, a log of your last 100 corrections, and a diagnostic event log. Your licence key lives in the secure macOS Keychain. None of it ever leaves your Mac. Everything is inspectable and clearable: Settings > Personal manages the dictionary, replacements, and learned data, Settings > History clears the correction log, and Settings > Diagnostics clears the event log.
Exactly three things use a connection, and none of them include your text. First, downloading the on-device AI model when you set up or switch models. Second, activating and occasionally revalidating your licence key with our payment provider Polar; that request carries the key and your Mac's name so you can recognise the device, nothing more. Third, checking for app updates from our website. Everything else, every correction, prediction, and piece of learning, happens entirely on your Mac. There are no analytics, no telemetry, and no account.