Offline, privacy-first grammar checker. Fast, open-source, Rust-powered
11k
Stars
387
Forks
644
Open issues
30
Contributors
AI Analysis
Harper is an offline, privacy-first English grammar checker written in Rust, designed as a lightweight alternative to Grammarly and LanguageTool. It excels for privacy-conscious users, developers, and writers who need fast linting with minimal resource consumption, particularly those integrating grammar checking into editors (VSCode, Neovim, Helix, Emacs, Zed), Obsidian, or web applications via WebAssembly. It is not suitable for non-English text or users requiring extensive language support.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
Automattic-backed Rust grammar checker offers offline, sub-millisecond linting without privacy trade-offs
Harper is a lightweight, offline-first English grammar checker written in Rust, designed for developers and writers who want fast, private grammar checking inside their editors. It runs as a Language Server Protocol (LSP) daemon, integrates with VS Code, Neovim, Helix, Emacs, and Zed, and also compiles to WebAssembly for browser use. Backed by Automattic (WordPress parent), it targets users frustrated by Grammarly's privacy model or LanguageTool's heavy resource requirements. Its core value proposition is near-zero latency, tiny memory footprint, and no data leaving the machine.
Created in October 2023 by a developer frustrated with existing grammar checkers, Harper was later adopted under the Automattic organization, giving it institutional backing. It has grown steadily since launch, adding editor integrations and an Obsidian plugin.
Growth appears driven by organic developer interest in privacy-preserving tooling and the rise of local-first software philosophy. The Automattic acquisition/adoption likely accelerated credibility and contributor momentum. The Obsidian plugin download badge suggests meaningful traction in the note-taking community, and broad editor integrations have widened the addressable audience progressively.
The repository displays download badges for both binaries and an Obsidian plugin, implying measurable real-world installs, though exact numbers are not stated in the README excerpt. Crates.io and npm package presence confirm public distribution. The Obsidian plugin badge specifically suggests adoption beyond developer tooling into general writing workflows. Exact production scale is not independently verifiable from available metadata.
Likely built around a core Rust library that implements grammar rules without network dependencies. Appears to expose an LSP server (harper-ls) for editor integration and a WebAssembly build (harper.js) for browser/web use. The multi-target approach (native binary, WASM, npm package) suggests a well-layered architecture separating core logic from delivery mechanisms.
Not documented in README, though CI badges for binaries, web build, and 'just_checks' workflows suggest automated quality gates exist.
Last push was 2026-06-22, less than 24 hours before the evaluation date — this is actively maintained. The project has multiple CI workflows, a structured contributor guide, and a dedicated documentation site, all pointing to a professionally managed open source project.
ADOPT IF: you are a developer or power user who writes in a supported editor, values offline operation and privacy, and needs near-instant grammar feedback without memory or network overhead. AVOID IF: you need multi-language support, deep semantic suggestions, or a plug-and-play experience for non-technical end users. MONITOR IF: you are building a writing tool or IDE plugin and evaluating embedded grammar checking — the WASM path may become a viable alternative to server-side grammar APIs.
Independent dimensions
Mainstream potential
4/10
Technical importance
8/10
Adoption evidence
5/10
- English-only support is a hard ceiling on addressable market; multi-language expansion requires significant linguistic engineering investment.
- Grammar rule depth likely trails LanguageTool and Grammarly for complex sentences — the lightweight architecture involves tradeoffs in coverage that are not fully documented.
- Dependency on Automattic's continued sponsorship introduces organizational risk; if priorities shift, the project could lose its primary maintenance driver.
- The LSP/editor-centric integration model limits accessibility for non-developer users, potentially capping adoption in the broader consumer writing market.
- At ~32 new stars per week as of evaluation date, growth has likely plateaued from an earlier spike; sustaining momentum without a major new integration or feature push may be difficult.
Harper is likely to consolidate its position as the preferred lightweight LSP-based grammar checker for developers and power users, potentially expanding into embedded WASM use cases within web-based editors. Mainstream consumer adoption appears unlikely without a GUI layer.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Website
- https://writewithharper.com
- Language
- Rust
- License
- Apache-2.0
- Last updated
- 17h ago
- Created
- 33mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
Ignore <code> and <pre>
We should flag space on the wrong side of a period like we do with commas
False negative: `MassNouns` doesn't flag "a software" that has modifiers/qualifiers
False negative: "being bias" not flagged
[Obsidian] Harper plugin might crash/freeze obsidian with their next electron bump
Top contributors
Recent releases
Similar repos
huacnlee/autocorrect
AutoCorrect is a linter and formatter written in Rust that corrects spacing,...
huhu/rust-search-extension
A browser extension that enables instant searches for Rust documentation,...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
11k | +75 | Rust | 8/10 | 17h ago |
|
|
5k | — | JavaScript | 6/10 | 4d ago |
|
|
1.6k | — | Rust | 8/10 | 2w ago |
|
|
26.1k | — | Rust | 8/10 | 1d ago |
|
|
1.3k | — | JavaScript | 8/10 | 12h ago |
|
|
16.6k | — | Rust | 9/10 | 20h ago |
Grammarly is a commercial, cloud-based service with significantly broader rule coverage and AI-powered suggestions. Harper explicitly positions against it on privacy and latency grounds. Grammarly remains dominant for non-technical users; Harper is a credible alternative only for those comfortable with terminal/editor-based workflows.
LanguageTool offers deeper grammar analysis and multi-language support but has a large memory footprint (~16GB for full n-gram dataset) and slower lint times. Harper wins on speed and resource efficiency; LanguageTool wins on rule depth and language breadth.
Vale is a style linter (not a grammar checker) focused on prose style rules for technical documentation. The two tools complement rather than directly compete — Vale enforces style guides, Harper catches grammar errors. Some users may use both.
ltex-ls is a LanguageTool-based LSP server offering similar editor integration. Harper significantly outperforms it on startup time and memory use, but ltex-ls inherits LanguageTool's more mature rule set.
Zettlr is a Markdown editor with built-in spell/grammar checking, targeting academic writers. It is not a library or LSP — the comparison is indirect. Harper's Obsidian plugin competes for the same 'serious writer in a markdown app' persona.