A local-first desktop writing assistant that proofreads, rewrites, and exports drafts without sending text to any server.
Automattic/harper
Offline, privacy-first English grammar checker written in Rust, usable from editors, the browser, and Node.js.
Open-source alternative to:Grammarly
LanguageTool
- Stars
- 16,732
- Forks
- 837
- Open issues
- 1,019
- Last commit
- 14 hours ago
What is it?
Harper is an English grammar checker that runs entirely on your machine, so text is never sent to a server. It is written in Rust and is designed to lint documents in milliseconds, using a small memory footprint compared with heavier alternatives such as LanguageTool.
The project ships as several pieces: harper-ls, a language server that brings grammar checks into editors such as VS Code, Neovim, Helix, Emacs and Zed; harper.js, a WebAssembly build for use in web pages and Node.js; and an Obsidian plugin and a Chrome extension for everyday writing. Support currently covers English only, though the core is built to be extended to other languages.
Key features
- 01Runs fully offline, so written text is never sent to external servers.
- 02Lints documents in milliseconds with a low memory footprint.
- 03Integrates with editors via a language server (harper-ls).
- 04Runs in the browser and Node.js through WebAssembly (harper.js).
- 05Includes an Obsidian plugin and a Chrome extension.
Use cases
- Checking English prose in Neovim, Helix, Emacs, VS Code or Zed without a cloud service.
- Adding grammar checks to a web app or Node.js tool via harper.js.
- Proofreading notes in Obsidian while keeping content private.
- Writing sensitive documents that should not leave the local machine.
Quick start
- 1
Read the Links section and pick an editor or integration guide
- 2
Install the harper.js package from npm
npm install harper.js
Things to know
- Supports English only.
- Documentation is hosted on an external website rather than in the README.
Topics
FAQ
- What is harper?
- Offline, privacy-first English grammar checker written in Rust, usable from editors, the browser, and Node.js. Harper is an English grammar checker that runs entirely on your machine, so text is never sent to a server. It is written in Rust and is designed to lint documents in milliseconds, using a small memory footprint compared with heavier alternatives such as LanguageTool.
- Is harper free to use? What license does it have?
- harper is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is harper still maintained?
- Actively maintained. The last commit to harper was on Oct 19, 2026.
- What can I use harper for?
- Checking English prose in Neovim, Helix, Emacs, VS Code or Zed without a cloud service. Adding grammar checks to a web app or Node.js tool via harper.js. Proofreading notes in Obsidian while keeping content private. Writing sensitive documents that should not leave the local machine.
- How do I install harper?
- Read the Links section and pick an editor or integration guide Install the harper.js package from npm: npm install harper.js
- Where can I get harper?
- The source code and installation instructions are on GitHub: https://github.com/Automattic/harper
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A browser-based image compressor for JPG, PNG and WebP that works fully offline, so images never leave your device.
Open-source, local-first AI meeting notepad that captures device audio without a bot joining the call, as an alternative to Granola.
Offline-first desktop photo manager for macOS, Windows and Linux, with local AI search, face clustering and duplicate cleanup for large libraries.
Desktop app for real-time speech translation on macOS and Windows, using your own API keys with no intermediary server.
Local file converter that runs from a right-click menu, handling images, video, audio, PDFs and documents without uploading them.