How to Get Spell Check and Grammar Correction in Any Email App on Mac

Apple Mail has macOS spell check - red squiggles, no grammar. Web-based email clients in browsers have inconsistent basic spell check and no grammar correction at all. The result: you have different writing protection depending on which email client you happen to be in. Charm eliminates that inconsistency by providing real-time spelling and grammar correction in every email environment on your Mac, at the kernel level.

What spell check and grammar correction does each email client provide?

Understanding the gap requires a clear picture of what each type of email client actually offers.

Apple Mail is a native macOS app built on Apple's AppKit framework. Because it uses NSTextView for text input, it gets the full macOS text services stack automatically. This includes red-squiggle spell check (words flagged but not auto-corrected by default) and basic grammar checking via Edit > Spelling and Grammar > Check Grammar With Spelling. The grammar checking is a manual, post-writing review feature - it is not inline and does not correct as you type. It will underline potential grammar issues in green, but you have to initiate the check and then address each one individually. For busy email users, this is rarely done in practice.

Web-based email clients running in a browser are a different story. These clients render their compose windows using the browser's rendering engine - Blink in Chromium-based browsers, WebKit in Safari. The browser provides its own basic spell check: a red squiggle appears under words it considers misspelled, and you can right-click for correction suggestions. That is all. There is no auto-correction, no grammar checking, and no inline correction. The coverage is also inconsistent: what gets flagged as a misspelling varies between browsers, and some compose windows in web apps disable spell check entirely.

Research on workplace communication found that over 40% of professional email is now sent through web-based clients rather than native apps. For those users, the gap in writing assistance is significant and largely invisible - most people assume their email client has adequate checking, without realising how much is missing.

The practical consequence is that users who switch between Apple Mail and a web-based email client during the day experience inconsistent correction behaviour. An error that gets caught in one client may slip through in another. Building a reliable email writing habit requires consistent tools - and the built-in options do not provide that.

Why can't macOS just extend spell check to web-based email?

The limitation is architectural. macOS text services - the system that provides spell check, grammar checking, text replacement, and autocorrect - are built on top of the NSTextView framework. NSTextView is Apple's native text input component, used exclusively in apps built with Apple's AppKit framework.

When you type in a web-based email client, the text field is rendered and managed by the browser's engine - not by NSTextView. The browser maintains its own separate text input pipeline. macOS text services never receive those keystrokes; they go directly into the browser's own processing. The browser then applies whatever basic spell checking it has built in, which does not include grammar checking or auto-correction.

Apple has no mechanism to force browsers or web apps to use NSTextView. Each browser controls its own input handling. This is a structural gap that has existed since web apps became a significant part of Mac workflows and is unlikely to change. The only way to get consistent correction across all email environments is to operate at a level below both NSTextView and browser input - which means operating at the OS kernel level.

How does Charm provide uniform correction across all email clients?

Charm uses CGEventTap - a macOS API that intercepts keyboard and mouse events at the kernel event level, before they reach any application. This is a fundamentally different layer from where both NSTextView and browser input pipelines operate. At the CGEventTap level, there is no distinction between native apps and web apps. Every keystroke from every app passes through the same kernel event pipeline.

Charm monitors this pipeline for its correction features. When you type a misspelled word, Charm Spells detects it and applies the correction by injecting replacement keystrokes back into the same pipeline - before the app ever records the misspelling. The correction happens in under 200ms, marked with a subtle cyan glow. Because the correction is injected at the kernel level, it appears in whatever text field is active: Apple Mail, a web-based email client, or any other application.

Charm Polish works the same way for grammar. As you complete phrases and sentences, Polish checks the grammar and applies corrections inline - a blue glow marks the fix. This is real-time grammar correction in environments that have never had it: web-based email clients, browser tabs, any text field anywhere on your Mac.

The result is that wherever you write email - Apple Mail, a web-based client in any browser - you have the same quality of correction. The behaviour is identical because it happens below the app layer entirely.

How do you set up Charm for email use?

Setup takes approximately two minutes:

  1. Download and install Charm from theodorehq.com/charm. Charm requires macOS 14 Sonoma or later and works on both Apple Silicon and Intel Macs.
  2. Grant Accessibility permission. On first launch, Charm will guide you to System Settings > Privacy and Security > Accessibility. Toggle Charm on. This permission enables Charm's kernel-level interception across all apps, including browsers.
  3. Check your feature settings. Open Charm from the menu bar. Confirm Spells and Polish are enabled (both are on by default). You can also enable Oracle (word prediction with a purple glow) if you want suggestions as you write emails.
  4. Add domain-specific terms to your personal dictionary. If Charm flags names, product terms, or technical vocabulary as misspellings, add them to your personal dictionary via the Charm settings. This takes a few minutes initially and prevents false corrections in your specific writing context.
  5. Compose email normally. Open Apple Mail or your web-based email client. Charm is active immediately. Spelling corrections appear as cyan glows, grammar corrections as blue glows, entirely inline as you write.

A useful verification step after setup: deliberately type a misspelled word and a grammar error in a compose window in each email client you use. Confirm that both are corrected. This takes 30 seconds and confirms the setup is working across all your email environments before you rely on it in real correspondence.

The same writing quality in every email client
Charm provides real-time spelling and grammar correction in Apple Mail and every web-based email client on your Mac.
Learn more about Charm Get Charm for Mac $9.99

Frequently asked questions

Does Apple Mail have grammar correction on Mac? Apple Mail has macOS spell check (red squiggles for misspellings) but no real-time grammar correction. You can run a manual grammar check via Edit > Spelling and Grammar, but this is a post-writing review step, not inline correction. Charm adds real-time grammar correction to Apple Mail via the Polish feature.

Do web-based email clients have spell check on Mac? Web-based email clients running in a browser get only the browser's built-in spell check, which varies by browser and provides red-squiggle indicators only - no auto-correction and no grammar checking. Coverage is inconsistent and does not match what is available in native Mac apps.

How do I get grammar correction in web-based email on Mac? Install Charm. Charm uses CGEventTap at the kernel level to intercept and correct keystrokes before they reach any app. This means Charm's Polish (grammar correction) fires in web-based email clients running in browsers, just as it does in native apps - providing real-time grammar correction that no browser or web app offers natively.

Why does spell check work differently in different email apps on Mac? The difference comes down to which text framework each app uses. Native Mac apps like Apple Mail use NSTextView, which gets macOS spell check automatically. Web-based email clients render text with the browser's engine, which has its own basic spell check. The result is inconsistent behaviour across apps, with grammar correction absent everywhere except native apps.

Is Charm a browser extension for email? No. Charm is a native Mac app that works at the operating system level, not through a browser extension. It works in every app on your Mac - including inside browsers - without needing to install anything in the browser itself. This means it works consistently regardless of which browser you use.