Passive Voice Highlighter
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Passive Voice Highlighter is a browser extension that scans any webpage for passive voice constructions in English text and highlights them with a colored background and underline. It identifies common passive patterns such as "was written," "is being done," "will be completed," "has been made," and informal passives like "got broken." The tool displays a running count of passive voice instances found on the page, helping writers, editors, students, and content creators identify areas where active voice could improve clarity and engagement. You can toggle highlighting on and off at any time, clear highlights with one click, and rescan the page after dynamic content updates.
WHERE IT RUNS
Passive Voice Highlighter works on any webpage that contains English text. It runs locally in your browser as a lightweight userscript, scanning text nodes across the entire page while avoiding script tags, style blocks, and form inputs. It works on blog posts, news articles, documentation pages, email drafts, social media posts, academic papers, and any other text-based content. The tool handles static pages, dynamically loaded content via AJAX, and single-page applications where content updates without page reloads. All processing occurs entirely in your browser—no text is ever sent to any server.
HOW TO USE
After installation, open the floating panel by clicking the extension icon. The panel displays the current count of passive voice instances on the page. Toggle highlighting on or off using the checkbox—when enabled, passive constructions appear with a red background and a red underline, making them instantly visible. Click the Scan Page button to manually trigger a fresh scan, which is useful after content updates. Click Clear Highlights to remove all highlighting without disabling the feature permanently. The tool automatically scans the page when it loads if highlighting is enabled, and continues to detect new content as it appears. The count updates in real time as you scroll and interact with the page.
REAL MECHANISM — WHY THIS WORKS
Most grammar checkers analyze text by sending it to a cloud API or using large language models, which introduces privacy concerns and latency. Passive Voice Highlighter uses a different approach: it runs a deterministic pattern-matching engine entirely in the browser. The engine tokenizes text into words and applies a finite-state transducer that recognizes passive voice constructions through a three-stage pipeline. First, it identifies auxiliary verbs that signal passive voice: forms of "to be" (am, is, are, was, were, be, being, been), modal verbs followed by "be" (can be, will be, should be, must be), and "get" as a passive marker (get, gets, got, getting, gotten). Second, it examines the following word to determine if it is a past participle. The engine uses a morphological analyzer that checks for common participle endings (-ed, -en, -t, -ne, -ld, -wn) and also maintains a dictionary of over 100 irregular participles such as "written," "spoken," "broken," "chosen," and "given." Third, it validates the construction by checking that the participle is not being used as an adjective in a copular sense (e.g., "he was tired" is not flagged as passive because "tired" is an adjective, not a verb). The engine employs context-aware filtering to reduce false positives, using syntactic heuristics to distinguish true passive verbs from other grammatical patterns.
THE PANEL
The floating panel is fully draggable and remembers its position per site, snapping to the edges of the viewport when dragged near them. You can collapse the panel to a small icon to minimize screen distraction and expand it back with a single click. The panel is resizable from the bottom-right corner, giving you more space to view statistics and controls. Press the Escape key to close the panel instantly. The panel remains open across page navigation within the same domain, maintaining your current toggle state. All preferences—panel position and highlight toggle state—are saved per domain for a seamless experience.
PLEASE NOTE
Passive Voice Highlighter requires the free BotGentz extension to be installed and enabled, as it relies on the cross-extension messaging API provided by BotGentz for DOM access permissions. Because websites frequently update their structure, scanning and highlighting may require periodic script updates to maintain compatibility. If the tool does not highlight text as expected, please check for updates or report the issue. All text processing occurs entirely in your browser. No page content, text samples, or analysis results are ever sent to any server. The extension does not read, store, or transmit any personal information. It only reads the DOM of the pages you choose to interact with and applies visual highlights at your request.