The most comprehensive report in the Rust suite. Not just passive voice — also hidden verbs, adverbs, emotion-tells, business jargon, subordinate clauses, repeated sentence starts, and inclusive-language suggestions. Ten different linguistic layers, each colour-coded and clickable.
Endpoint: /passivevoice — no word cap; runs on the full manuscript.
What it measures
The endpoint walks every sentence of your manuscript and tags each one against ten linguistic layers, each returning a list of specific occurrences with exact character offsets:
- Passive verbs — "was seen", "were told", "is being considered" constructions where the actor is either omitted or moved out of subject position. The classic passive.
- Hidden verbs — a verb turned into a noun with a weak helper, also called "nominalisation": "made a decision" instead of "decided", "reached an agreement" instead of "agreed", "conducted an investigation" instead of "investigated". These bloat sentences without adding meaning.
- Adverbs — every "-ly" adverb both inside and outside dialogue tags. Excess adverbs is a near-universal draft tic ("she said quietly", "he walked slowly", "it moved gracefully") and one of the fastest wins on a revision pass — most of them either disappear or get replaced by a stronger verb.
- Readability enhancements — specific phrasing tweaks the analyzer suggests to improve flow ("in order to" → "to", "due to the fact that" → "because").
- Emotion tells — "he was sad", "she felt happy", "they were angry" constructions where an emotion is named instead of shown through action or gesture. The classic tell-not-show flag.
- Business jargon — corporate-speak that leaked into your prose ("leverage", "synergy", "circle back", "actionable"). Almost never wanted in fiction; sometimes wanted in nonfiction; occasionally correct in character dialogue when the character is deliberately meant to sound corporate.
- Style improvements — general prose-tightening suggestions the analyzer flags as candidates for revision.
- Long subordinate clauses — nested clauses that push a sentence's complexity too high. Individually fine; in aggregate they make prose feel dense.
- Inclusive language — gendered defaults ("mankind" → "humanity"), outdated terms, and other language the analyzer suggests updating.
- Style guide items — usage flags against a general prose style guide (comma splices, dangling modifiers, common misuse patterns).
The endpoint also returns a passive index — the overall passive-voice percentage across the manuscript with a target range (usually ≤10%) and a plain-English verdict ("good" / "fair" / "needs improvement").
This endpoint has no word cap — it runs on the full manuscript.
Why it's useful
Because passive-voice-first-draft is nearly universal. Every writer's first pass has more passives, more hidden verbs, and more weak adverbs than they realise — the constructions come naturally when you're thinking about what to write, and they only become visible in a dedicated revision pass. This report surfaces every instance across ten different layers in one card, so you can do a targeted revision pass without hunting through the manuscript.
The value is in the specificity. Style score tells you "passive voice is amber"; Passive voice tells you exactly which sixty-four sentences contain a passive construction, groups them by pattern, and lets you click through them one by one. A single revision pass done from this report typically cuts passive voice by 40–60% — most of your first-draft passives were unintentional, and once they're pointed out most of them rewrite trivially.
The repeated sentence starts section at the bottom is particularly underrated. A few sentences in a row starting with the same word ("She turned. She looked. She waited.") is a rhythmic device; ten in a row is monotony. The report surfaces both so you can decide which was intent and which was drift.
Use alongside Style score (for the composite view including passive voice as one dimension) and Analyze (for issue-by-issue rewrite suggestions on a shorter section, where Passive voice only flags the constructions).
How to read it
All of the passive-voice output flows into one place: the Passive voice collapsible issue list near the bottom of the panel, marked with a purple dot. The row header shows the total count of flagged instances across all layers. Click to expand.
Inside, every instance is a row rendered as a small card:
- A purple dot at the top-left (the layer's swatch color)
- The flagged prose on the right — the exact sentence or phrase, line-clamped to 2 lines
- A meta line below in mono/tabular type naming the specific layer the instance came from — one of
passive,hidden,adverb,tell,jargon,long clause,style. If the layer names a specific phrase or verb the analyzer identified (e.g. the passive verb itself), that appears next to the layer label as· <phrase>.
The rows are listed in the order the layers ran (passive verbs first, then hidden verbs, then adverbs, etc.) — you can scan the entire flagged set in one pass and see the shape of your prose's issues.
Click any row to lock it as focused. When the list is open, the passive highlight layer paints in the editor across every flagged span, so you can see the full pattern in place. Clicking a specific row additionally puts a focused-style outline (a slightly thicker box with a soft shadow) on that exact span, and the editor scrolls to it. Click the same row again to deselect. Collapse the list to clear the paint entirely.
The passive index itself (the overall passive-voice percentage) does not render as a dedicated header on the passive card — it feeds into the Passive voice metric row inside the Style scores radar chart higher in the panel. Hover the "Passive voice" axis on the radar to see the current percentage and the ideal range.
When to ignore it
Passive voice isn't inherently bad. Scientific writing, official reports, legal documents, and certain literary effects benefit from it — sometimes the actor genuinely doesn't matter, sometimes the result is the emphasis and putting it in subject position serves the sentence. "Mistakes were made" is a passive construction that carries more meaning than any active alternative. Read the report as a density gauge, not a witch-hunt: it tells you how much passive voice you have, you decide whether that density is intentional.
Adverbs similarly: some adverbs are fine, some are load-bearing, and the "-ly" filter over-flags. "Rarely", "usually", "eventually", "immediately" are all -ly adverbs that carry semantic weight the sentence needs. Don't strip every flagged adverb — strip the ones that don't earn their place. Common defaults ("very", "really", "just", "quite", "actually") are almost always noise; specific temporal or frequency adverbs almost never are.
Emotion tells have a genre exception too. Interior monologue, epistolary fiction, and first-person confessional prose all tell emotions frequently because the narrator is reporting their own internal state — that's the form. Third-person narration usually benefits from showing over telling; first-person often benefits from a mix. Weight the flag against your POV.
Business jargon in fiction depends on whose voice you're in. In narration it's almost always wrong; in the dialogue of a corporate character it's correct characterization. The analyzer doesn't distinguish narration from dialogue when flagging, so filter its jargon list mentally.
Finally, the inclusive-language layer is opinionated and doesn't always apply to your work. Historical fiction, character voices, and certain rhetorical uses may require the language the analyzer wants to update. Consider the flag; don't automatically accept it.
How to run it
- Click Write in the left sidebar and open the document you want to analyze.
- Open the right rail: click the Reports button (bar-chart icon) in the editor's top toolbar.
- In the rail header, click the Rust tab.
- All 8 Rust endpoints run in parallel on tab open — typically completes in 2–5 seconds. There is no card to click; everything renders in one composite panel.
- The passive-voice output appears as the Passive voice collapsible issue list near the bottom of the panel. The row header shows the total flagged count; expanding it reveals every instance grouped by layer (passive verb / hidden verb / adverb / emotion tell / jargon / long clause / style), each with a small meta line naming the category.
- Click any row to jump to that phrase in the editor. The passive highlight layer paints while the list is open — clicking a specific row also puts a focused-style outline on that exact span.
What to read next
- Style score — the composite view that includes passive voice
- Analyze — for issue-by-issue rewriting suggestions on a shorter section
- Reports — back to the panel overview