What Is Spell Check? Definition, How It Works, and Its Limits

Spell check is software that compares each word you type against a dictionary of correctly spelled words and flags any that don't match. On Mac, spell check is built into every native text area and highlights misspelled words with a red underline. It doesn't understand grammar, context, or meaning - only whether a word exists in its dictionary.

How does spell check work on Mac?

macOS spell check is built on Apple's NSSpellChecker framework, which has been part of the operating system since Mac OS X 10.3. When you type a word, NSSpellChecker compares it against its vocabulary using an edit-distance algorithm. If the typed word doesn't appear in the dictionary but a close match does (typically within 1-2 character differences), the system raises a flag and shows a red underline.

When you right-click an underlined word, macOS presents up to 5 suggested corrections ranked by their edit distance from the typed word. You can accept a suggestion, ignore the flag for this instance, or add the word to your personal dictionary so it's never flagged again.

NSSpellChecker covers a vocabulary of approximately 10,000 common English words. That is sufficient for everyday prose but leaves gaps for technical terms, proper nouns, brand names, and specialist vocabulary. Words that look like genuine misspellings but are actually domain-specific terms will be flagged incorrectly until you teach the system to recognise them.

There is also an important architectural constraint: NSSpellChecker only works in apps that explicitly opt in to the framework. Native macOS apps like Notes, Mail, Pages, and TextEdit use it by default. But Electron-based apps - which include Slack, VS Code, Discord, and Notion - bypass NSSpellChecker entirely because they render text through Chromium's web engine rather than macOS's native text pipeline. In those apps, the built-in spell checker is simply absent.

What's the difference between spell check and autocorrect?

Spell check and autocorrect are related but distinct mechanisms, and macOS runs both simultaneously in native text fields.

Spell check is passive. It identifies a word that doesn't appear in its dictionary and draws a red underline beneath it. No change is made to your text. The decision of what to do next is entirely yours: accept a suggestion, ignore the flag, or keep typing.

Autocorrect is active. When you type a misspelled word and then press Space or punctuation, autocorrect substitutes the word it thinks you meant - automatically, without prompting you. On Mac, autocorrect uses a brief animated underline to signal that a change is about to happen, but by default the replacement occurs immediately.

You can have spell check enabled with autocorrect disabled (System Settings > Keyboard > Text Input). In this configuration, misspelled words are underlined in red but never automatically replaced. This is a useful setting for technical writers or developers who type many unusual strings that would otherwise trigger unwanted corrections.

Research from Carnegie Mellon linguistics studies estimates that real-word errors, where the wrong real word is used, account for approximately 15% of all writing mistakes. Neither spell check nor standard autocorrect can catch these.

What can't spell check catch?

Spell check's fundamental limitation is that it validates existence, not correctness. A word is either in the dictionary or it isn't. This creates several categories of error that slip through undetected.

Real-word substitution errors are the most significant gap. "Their", "there", and "they're" are all in the dictionary, so using the wrong one never triggers a flag. The same applies to: "affect" vs "effect", "its" vs "it's", "your" vs "you're", "then" vs "than", and dozens of other commonly confused pairs. Research estimates that spell check catches approximately 80% of misspelled words but 0% of real-word substitution errors.

Proper nouns that aren't in the dictionary will be flagged incorrectly. Your name, your company, your city, the names of tools you use every day - these all appear as red underlines until you add them to your personal dictionary.

Technical jargon presents the same problem. Medical professionals, lawyers, developers, and engineers all work with vocabulary that isn't in a general English dictionary. Without a domain-specific dictionary or a well-maintained personal dictionary, these terms will be flagged constantly.

Compound words and hyphenated terms vary in how different dictionaries handle them. "Email" vs "e-mail", "setup" vs "set-up", and similar variations may be flagged in one app and accepted in another depending on which version of the word the dictionary contains.

Foreign words used in English text are often flagged even when their use is entirely standard. Words like "schadenfreude", "je ne sais quoi", or "vis-a-vis" may or may not appear in the dictionary depending on the system.

How do you get better spell checking on Mac?

There are three ways to improve spell check coverage on Mac: maintain your personal dictionary, use a tool with broader vocabulary, and use a tool that works in Electron apps.

Personal dictionary: Right-clicking an incorrectly flagged word and choosing "Learn Spelling" adds it to ~/Library/Spelling/LocalDictionary. This is a plain text file you can also edit directly. Adding your 25 most-flagged terms reduces false corrections by approximately 40%. The file syncs across Macs via iCloud.

Broader vocabulary: Charm's Spells feature uses a machine learning model trained on a corpus that covers 100,000+ words, including technical vocabulary, proper nouns, and modern language. Rather than just underlining, Spells automatically replaces misspelled words as you type, with a cyan glow indicating a correction was made. This is automatic replacement, not just flagging, so it catches errors without requiring you to right-click anything.

System-wide coverage: Charm operates via the macOS Accessibility API rather than NSSpellChecker. This means it works in every app on your Mac, including Slack, VS Code, and Discord, where built-in spell check is absent. If you spend any significant time typing in Electron apps, this is the most impactful change you can make to your spelling coverage.

Key fact: Spell check catches approximately 80% of misspelled words but 0% of real-word substitution errors. For the remaining 20% of misspellings plus all real-word errors, you need grammar checking or a more sophisticated correction model that understands context.

Frequently asked questions

What is spell check?

Spell check is software that compares each word you type against a dictionary and flags any that don't appear in it, typically with a red underline. It does not understand context or meaning - only whether a word exists in its dictionary.

Is spell check the same as autocorrect?

No. Spell check flags misspelled words passively, leaving you to decide what to do. Autocorrect automatically replaces the misspelled word without asking. On Mac, you can run spell check without autocorrect by disabling autocorrect in System Settings while leaving "Check Spelling While Typing" enabled.

Why doesn't spell check catch "their" vs "there"?

Because both words exist in the dictionary. Spell check only verifies that a word is real, not that it's the right word for the context. "Their", "there", and "they're" are all correctly spelled, so no flag is raised even when the wrong one is used. Grammar checkers can catch this class of error.

How do I add words to spell check on Mac?

Right-click any red-underlined word and choose "Learn Spelling". The word is added to your personal dictionary at ~/Library/Spelling/LocalDictionary and will no longer be flagged in any native Mac app. You can also edit this file directly in TextEdit to add or remove words in bulk.

Does Mac spell check work in every app?

No. Mac spell check uses NSSpellChecker, which only works in apps that opt in to it. Native apps like Notes, Mail, and Pages support it. Electron-based apps like Slack, VS Code, and Discord bypass NSSpellChecker entirely, so built-in spell check is absent in those apps. Charm's Spells feature fills this gap by working system-wide via the Accessibility API.

Spell correction that works in every app.

Charm's Spells feature covers 100,000+ words, works in Slack, VS Code, and Discord, and costs $9.99 once - yours forever.

Learn more about Charm Get Charm for Mac $9.99