I've always subscribed to Grammarly because it seemed like the only serious way to catch grammar and spelling mistakes across everything I wrote. Emails, blog posts, and comments will inevitably get run through Grammarly’s editor at least once before hitting send. However, that came at a steady monthly cost and a nagging privacy trade-off. I decided I'll never use Grammarly again after realizing almost everything I typed ended up traveling off-device to remote servers. More than being just a privacy nightmare, it means someone, somewhere, has a copy of your drafts.
But then I discovered Harper and realized the monthly charge felt unnecessary. This open-source grammar checker does everything I actually need — without the subscription fees, without sending my writing to remote servers, and without the nagging feeling that my words are being harvested for AI training data.
Harper
- OS
- Chrome, Firefox, VS Code, Obsidian, WordPress, Neovim, Helix, Emacs, Zed, Sublime Text
- Developer
- Elijah Potter
- Price model
- Free (open-source)
Write better, distraction-free text with Harper, the open-source grammar and style checker. It catches mistakes locally for faster, more private writing.
Harper runs entirely on your device
Your rough drafts aren't training someone else's AI model
The most compelling reason I abandoned Grammarly was not even really about the money. It was about trust. Every time you run text through Grammarly, your words take a trip to its servers. Its policy says it does not sell your data, which is reassuring on the face level, but it still leaves room for analysis, model training, and other behind-the-scenes uses you never really get to see. For sensitive emails, confidential work, or even a private journal entry, that setup always felt a little too close for comfort.
Harper operates completely on-device, ensuring your data never leaves your machine. It's built in Rust and runs in the browser via WebAssembly, which means the entire grammar-checking engine runs locally. There's no network latency, no data upload, no third-party processing. Your writing stays yours, full stop.
What Is WebAssembly?
WebAssembly brings native speed to the browser and you don’t have to ditch your favourite language!
This architecture delivers a secondary benefit that you can actually notice: speed. Because Harper doesn't need to ping remote servers, it serves up suggestions in under 10 milliseconds. You see corrections appear as you type — not after an awkward pause while your text makes a round trip to the cloud. The whole experience feels direct and responsive in a way that online tools struggle to match.
The privacy angle also scales beyond personal use. If you are dealing with proprietary code, internal strategy docs, or client material, local processing erases a whole class of cybersecurity risks involved with remote work and third-party tools. You don't need to worry about data breaches at a third-party company or compliance issues around where your text gets stored. Harper sidesteps these problems entirely by never transmitting anything in the first place.
You can customize Harper's behavior to match how you actually write
The settings panel is capable for a free tool
To use Harper, there’s no account to create, no payment details to enter, and no onboarding gauntlet to run. You just have to install the browser extension for Chrome or Firefox, or grab the plugin for Obsidian, Visual Studio Code, Neovim, or WordPress, and you are up and running.
Once it is in place, Harper starts watching your text as you write and flags potential issues in real time. The interface stays out of your way. Mistakes show up as subtly colored underlines, with different shades hinting at different types of problems. Hovering over an underlined word reveals a tooltip showing what Harper caught: perhaps a repeated word, a spacing issue, or a common grammatical mistake. The tooltip presents the suggested correction with two simple options: "Dismiss" if you disagree, or accept the change with a single click.
Within the extension settings, you'll find controls for dialect preferences — American, British, Canadian, Australian, or Indian English — ensuring the tool aligns with your linguistic conventions. The local dictionary feature proves invaluable for specialized vocabulary: technical jargon, brand names, proper nouns, or domain-specific terms that standard dictionaries don't recognize. If you add a word once, Harper remembers it permanently without syncing to any cloud service.
VSCode is the perfect writing app and you can't convince me otherwise
Ditch your old, clunky text editor and switch to this streamlined writer's dream.
You can even import custom dictionaries by uploading a plain text file with one word per line. This is especially handy if you live in medical, legal, technical, or creative spaces where specialized language is just part of the job.
The rule system is transparent and searchable. Harper's error detection relies on a comprehensive list of rules that identify issues like spacing errors, punctuation mistakes, repeated words, and common grammatical problems. While you can't currently add custom rules, you can browse the existing ruleset to understand exactly what Harper's looking for. If you want to disable a specific rule that doesn't fit your writing style, click the dropdown next to any rule and select "Off."
Harper also includes an activation key feature for situations where you're accidentally triggering the checker. Set it to "Double Shift," "Double Control," or leave it off entirely. This prevents Harper from activating in password fields or code editors where grammar checking would be counterproductive.
For domains where you don't want Harper running at all, the "Export Enabled Domains" feature lets you download a JSON file of sites where you've explicitly enabled the extension. This gives you granular control over where Harper operates, which is particularly useful if you work across multiple writing environments with different needs.
There are tradeoffs, but manageable for most people
Harper won't write your sentences for you — and that's fine
Harper doesn’t try to position itself as an all-in-one writing platform, and that honesty shows in its feature set. It skips many of the premium bells and whistles you get with Grammarly, like tone analysis, clarity suggestions, genre-specific style guides, and AI-powered rewrites. If you are looking for deep, professional-level feedback on formal writing, Harper can feel a little barebones.
It is also an English-only tool for now, so multilingual writers will have to look elsewhere. And while Harper is great at catching the everyday stuff — typos, repeated words, spacing quirks, and basic grammar — it can occasionally miss the more subtle issues that heavier tools tend to spot. In my own use, it nailed the obvious mistakes and common phrasing errors, but it is not the kind of assistant that will reshape your sentences for flow or suggest more elevated word choices.
Free, private, and functional beats expensive and invasive
The fact that Harper is open-source under the Apache 2.0 license adds another layer of reassurance. The codebase is publicly available on GitHub for anyone to inspect, modify, or contribute to. If you're technically inclined, you can verify exactly how it works. If you discover a bug or want a new feature, you can submit a pull request. The development is backed by Automattic — the company behind WordPress — which provides some stability and longevity that purely volunteer-driven projects sometimes lack.
As I mentioned earlier, if you're a writer who needs advanced AI assistance or comprehensive style analysis, Grammarly Premium might still justify its cost. But if you just want solid, reliable grammar checking without sacrificing privacy or paying recurring fees, Harper hits a sweet spot. It respects your writing, respects your privacy, and gets out of your way. That's precisely what a grammar checker should do.