saiken330 downloadsLive readability and style marks in the editor: passive voice, adverbs, hedges, long sentences, and a Flesch reading grade. Works fully offline.
Tighten bloated drafts into cleaner copy without leaving Obsidian.

Works offline · Pay once · Unlimited updates · No account
Prose Lens gives Obsidian a real editorial pass. It surfaces filler, repetition, hedges, weak claims, and long sentences while you revise — so the draft gets sharper before it leaves the note.

Prose Lens never writes to your notes. It only highlights. Disable it and every character stays exactly where you left it.
Most writing tools for Obsidian fail in one of two ways:
Prose Lens fixes both.
You keep drafting in Obsidian, and the plugin only analyses actual prose. Code fences, inline code, math, frontmatter, URLs, wikilinks, headings and table rows are masked before any rule runs.
That means:
const was_deleted = obviously(x) is not flagged as passive voice with an adverb.If a tool flags your code block, your URL and your wikilink title as bad writing, it is not being strict — it is linting Markdown instead of prose. That is the problem the masking layer exists to solve, and it is the reason the highlights are worth reading at all.
Each rule has its own colour and its own underline shape, so the marks stay distinguishable without colour and in high-contrast mode. The panel shows the same key, with a live count for the note you are in.
| Mark | Looks like | What it catches |
|---|---|---|
| Adverbs | solid | -ly words. A stronger verb usually beats one. |
| Passive voice | double | Be-verb plus past participle. Conservative by design. |
| Hedges | dotted | maybe, somewhat, I think — the qualifiers that weaken a claim. |
| Weasel words | dashed | many, clearly, significantly — claims with nobody behind them. |
| Clichés | thick dashed | Phrases the reader's eye slides over. |
| Doubled words | wavy | the the. |
| Long sentences | tinted, with a left bar | Sentences past your threshold, with a second tier for the real wall-of-text monsters. |
Free is meant to stand on its own, not act like a crippled demo. Every mark in the table above is free, and so is the grade. There are no caps, no note limit, no session limit and no nag screen — and a switch that hides the Pro sections completely if you never want to see them.
| Feature | Free | Pro |
|---|---|---|
| All seven style marks | ✓ | ✓ |
| Mark legend with live counts, click to walk them | ✓ | ✓ |
| Reading grade in the status bar | ✓ | ✓ |
| Sentence-length heat | ✓ | ✓ |
| Rhythm map | ✓ | ✓ |
| Go to next / previous mark | ✓ | ✓ |
| De-slop marks | ✓ | |
| Echo detector | ✓ | |
| Revision delta | ✓ | |
| Focus mode | ✓ |
Pro adds the higher-leverage editorial tools:
De-slop is a highlighter, not an AI detector. It does not pretend to know who wrote a passage, and it will never produce a confidence percentage.
Prose Lens makes no network calls. Not for analysis, not for licensing, not for updates, not ever. Your draft is analysed inside the editor process and never leaves the machine — there is no server to send it to.
Pro license keys are verified offline with an Ed25519 signature bundled in the plugin. No account, no sign-in, no telemetry, no analytics.
The plugin also never writes to your notes. It only draws highlights. Ignored words and muted notes are stored in the plugin's own settings, never in your Markdown.
One key covers all your devices. The license is not tied to a machine and has no activation limit — buy once and use the same key everywhere, forever. The key is stored in the plugin's per-vault settings, so a second device or a second vault will show Free until you paste that same key in again. You never need to buy Prose Lens Pro more than once.
Listed as Optional payments in the Obsidian community directory: a free core plus a paid Pro unlock.
Is the free version actually useful on its own? Yes. Every mark in the table above is free, and so is the reading grade, the legend, the counts and the rhythm map. Pro adds editorial tools for people revising seriously, not the basics.
Does Prose Lens send my writing anywhere? No. There is no network code in the plugin at all — including the license check.
Is this a grammar or spell checker? No. It does not correct anything and never edits your note. It marks patterns that usually mean a sentence can be tightened, and leaves the decision to you. For grammar and spelling, LanguageTool and Harper are the right tools, and they sit happily alongside this.
The source is MIT — why pay? You are paying for the Pro features, an offline key, and for the plugin to keep improving. One purchase unlocks the paid tier and includes unlimited future updates.
Does de-slop detect AI writing? No, and it never claims to. It highlights specific phrasing — "it's worth noting," "a testament to," "delve," em-dash pile-ups. It produces no score and no percentage.
Will it work in my language? English only. Flesch and the syllable model are fitted to English; running them over another language produces confident nonsense, so the plugin does not pretend.
If Prose Lens marks something you would keep, right-click the word and ignore it, or turn the rule off in settings.
People who actually draft inside Obsidian: essay writers, bloggers, newsletter writers, students, fiction writers, and anyone writing client memos, proposals or documentation. It is especially useful if you care about privacy and hate pasting drafts into web tools.
Search for Prose Lens in Settings → Community plugins. One click, and it auto-updates.
Download main.js, manifest.json and styles.css, then copy them into
.obsidian/plugins/prose-lens/ and enable the plugin.
No default hotkeys. Bind whatever you like.
Bug reports, feature requests, and questions all go to the GitHub issue tracker. It is the only place I track them, so an issue will always get further than a review comment.
Not the right fit for your workflow? Email within 14 days of purchase for a refund, no argument.
Small, local-first Obsidian plugins that each do one job and keep your data in your vault. All of them are in the community directory — search the name under Settings → Community plugins.
Search and views
.base file.Vault health
Writing and research
Time and billing
#billable notes into numbered invoices, so nothing is missed or billed twice.npm install
npm run dev
npm test
npm run build
The linguistic core in src/core/*.mjs is pure JavaScript with no obsidian import and no
runtime dependency on the app, so the rule engine can be tested under plain Node without
mocking the entire editor.
MIT. See LICENSE.