Automattic/harper
Offline, privacy-first grammar checker. Fast, open-source, Rust-powered
Build with Backblaze B2
SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.
Loading star history...
Where it stands
Rank, growth pace and release cadence relative to everything GStars tracks.
Ranks #61 of 2,794 repositories GStars tracks this week (top 2%).
5 releases in the last 90 days, the latest 3 days ago, with 152 contributors on GitHub.
Peaked at #6 in the weekly ranking the week of Jul 19, its best in the past year.
Use Cases & Benefits
- Provides an offline, privacy-first English grammar checker powered by Rust and WebAssembly for fast, accurate text linting.
- Delivers high-speed grammar checking with minimal memory usage and no data sent to external servers, ensuring user privacy.
- Use for integrating a lightweight, private grammar checker into web applications via WebAssembly for real-time text validation.
- Use for embedding a fast, offline grammar checking tool in code editors like Visual Studio Code, Neovim, or Emacs.
- Use for developers seeking a customizable, open-source grammar checker to extend language support or build language server integrations.
Should you depend on it?
License terms, project hygiene and risks, from GitHub metadata and GStars' snapshots.
License
Apache 2.0
Permissive: commercial use, modification and redistribution are allowed with attribution; includes an explicit patent grant from contributors.
Community files
- README: present
- Contributing guide: present
Watch-outs
No watch-outs from GStars' checks.
General guidance from repository metadata, not legal advice. How we score
From the README
Harper is an English grammar checker designed to be just right. I created it after years of dealing with the shortcomings of the competition.
Grammarly was too expensive and too overbearing. Its suggestions lacked context, and were often just plain wrong. Not to mention: it's a privacy nightmare. Everything you write with Grammarly is sent to their servers. Their privacy policy claims they don't sell the data, but that doesn't mean they don't use it to train large language models and god knows what else. Not only that, but the round-trip-time of the network request makes revising your work all the more tedious.
LanguageTool is great, if you have gigabytes of RAM to spare and are willing to download the ~16GB n-gram dataset. Besides the memory requirements, I found LanguageTool too slow: it would take several seconds to lint even a moderate-size document.
That's why I created Harper: it is the grammar checker that fits my needs. Not only does it take milliseconds to lint a document, take less than 1/50th of LanguageTool's memory footprint, but it is also completely private.
Harper is even small enough to load via WebAssembly.
Harper currently only supports English, but the core is extensible to support other languages, so we welcome contributions that allow for other language support.
We consider long lint times bugs. If you encounter any significant performance issues, please create an issue on the topic.
Daily snapshots
Stars gained per day, and how forks and open issues moved, from GStars' daily snapshots
+4,704 stars over 89 days across 52 snapshot days; best day +831 on Jul 24.
Forks
855+408
Open issues
1.0K+333
Compared with peers in Developer Tools
Fastest-growing repositories GStars tracks in this cohort for the week of Oct 18, by 7-day star growth
| Repository | Stars | +7d | Health | Last release |
|---|---|---|---|---|
| stablyai/orca | 102.8K | +9.4K | 60 | 1 day ago |
| DietrichGebert/ponytail | 173.5K | +9.2K | 75 | 6 days ago |
| OpenCut-app/OpenCut | 95.1K | +1.7K | 59 | 23 days ago |
| michael-denyer/pstack-claude | 3.3K | +1.1K | 75 | today |
| ShawnPana/phone-harness | 3.8K | +596 | 31 | 2 days ago |
| Automattic/harper | 16.8K | +0 | 75 | 3 days ago |
| Category median | 95.1K | +1.7K | 60 | — |
Also by Automattic
Other repositories from this maintainer that GStars tracks
Discover Repositories
Search across tracked repositories by name or description