Harper

Tool snapshot
Best fitText Generation · Coding · Design
In one lineHarper checks English grammar on your device, with an Obsidian plugin and configurable editor integrations. Its checks do not depend on a language-model API.

Harper checks grammar on your device. The publisher's privacy statement says checks happen locally without cloud requests, telemetry or an LLM. That makes it worth considering for notes and drafts you want to keep out of an online writing service. Harper's job is to flag writing problems; the documented integrations focus on checking text as you edit it.

Grammar checks inside Obsidian

The Obsidian plugin runs Harper's checking engine inside the editor. It highlights errors while you type and ignores code fences and inline code blocks. That distinction helps writers mixing prose with commands or programming examples: the surrounding explanation can receive grammar checks without treating the code itself as ordinary English.

Harper is open source. The Obsidian installation guide directs users to Community Plugins, where they can search for Harper, install it and enable it. The guide warns that Harper expects an up-to-date Obsidian installer. Updating plugins alone may therefore be insufficient if the underlying installation is old.

Configure checks for your editor

Harper's Neovim integration uses the harper-ls language server. The configuration guide requires that server to be available on the system or editor path and describes both nvim-lspconfig and native Neovim LSP setup. The native example covers Markdown, plain text, TeX and Typst files.

The documented settings include spelling checks, repeated words, sentence capitalization and long sentences. Users can configure dictionaries and diagnostic severity. For programmers finding the checks too sensitive, the guide provides an example that disables spelling and sentence-capitalization rules. These settings are useful when project names or technical shorthand would otherwise generate frequent suggestions.

Decide whether its scope fits your writing

The Obsidian documentation lists English language support and describes it as extensible. Check that scope before expecting multilingual proofreading. Local execution removes the network request from a check, but Franklin has not measured Harper's speed or compared its error detection against competing tools. Try it on a representative note containing your usual terminology, then adjust the rules that interrupt more than they help.