About this project

Harper is an open-source English grammar checker written in Rust, designed to be fast, lightweight, and completely private. Unlike cloud-based services such as Grammarly, Harper runs entirely offline, meaning nothing you write leaves your machine. The author created it to address shortcomings in existing tools: Grammarly was seen as expensive, overbearing, and a privacy concern, while LanguageTool was considered too resource-intensive, requiring large n-gram datasets and significant RAM. Key characteristics of Harper include: - Speed: Linting a document takes milliseconds. - Low memory usage: Less than 1/50th of LanguageTool's footprint. - Privacy-first: All processing happens locally; no data is sent to servers. - WebAssembly support: Small enough to run in the browser via WASM. Harper integrates with a variety of editors through its language server (harper-ls) and dedicated plugins. Supported editors include Visual Studio Code, Neovim, Helix, Emacs, Zed, and Obsidian. A JavaScript package, harper.js, is also available for programmatic integration. Currently, Harper only supports English, but its core is extensible to other languages and contributions are welcome. The project treats long lint times as bugs and encourages users to report performance issues.