How to lint your prose
Paste your text into the box and it is checked instantly — there is no submit step. Matches are underlined in the text in a colour for each category, and the list below shows every issue with the flagged words and a suggested fix, sorted by severity. Use the toggles in the toolbar to turn individual checks on or off: for example, switch on the adverb check when you want to tighten a draft, or switch off long-sentence warnings for technical writing where they are expected. The word, sentence and readability stats update as you edit, so you can watch the prose improve.
What the linter checks
- Weasel words — vague qualifiers such as very, several, significantly and really that sound precise but say little. Cut them or replace them with a real number.
- Passive voice — a "to be" verb plus a past participle (was written, is handled). Active voice is usually shorter and names who acts.
- Wordy phrases — bloated constructions like in order to (use to) or due to the fact that (use because), each shown with a shorter form, plus expletive openers like there are.
- Clichés — tired phrases such as at the end of the day and low-hanging fruit that add length without meaning.
- Adverbs — -ly adverbs, which often signal a weak verb that could carry the meaning alone (off by default).
- Repeated words — an accidental doubled word like "the the".
- Long sentences — sentences of 30+ words that are candidates for splitting.
Why these are suggestions, not rules
Good writing breaks every one of these guidelines on purpose. Passive voice is right when the actor is unknown or irrelevant ("the server was rebooted overnight"); an adverb is sometimes the clearest word; a long sentence can carry a complex idea that resists splitting. The linter, in the spirit of write-good and proselint, points at patterns that frequently hide weak writing so you can look again — it does not understand meaning. Treat each flag as a question ("does this earn its place?"), keep what serves the reader, and ignore the rest.
The readability grade
The reading-grade figure is the Flesch–Kincaid grade level, computed from your average sentence length and an estimated number of syllables per word. Roughly, it is the US school grade a reader would need to follow the text on first reading: lower is easier. Most general and web writing aims for grade 7–9; dense technical prose runs higher. Because syllable counting is done by a heuristic rather than a dictionary, the number is an approximate guide for comparing drafts, not an exact measurement.
Why lint your writing locally
Drafts are private — unpublished posts, internal memos, cover letters, sensitive emails. Pasting them into an online grammar checker sends your words to a third-party server that may store or train on them. This linter runs entirely as JavaScript in your browser, so your text is analysed on your device and nothing is uploaded or logged, matching the gitime.dev default that your data stays local.
- Local — your drafts never leave the browser.
- Transparent — open heuristics, no opaque AI.
- Configurable — toggle each category of check.
- Actionable — every flag comes with a fix.
- Instant — results update as you type.
Frequently asked questions
- What does a prose linter check?
- Weasel words, passive voice, wordy phrases, clichés, adverbs, repeated words and long sentences, plus a readability grade.
- Are the suggestions hard rules?
- No — they are advisory heuristics. Sometimes passive voice or an adverb is the right call; use judgment.
- Is my text sent anywhere?
- No. Every check runs in your browser, so your writing is never uploaded.
- How is the reading grade calculated?
- With the Flesch–Kincaid formula from sentence length and an estimated syllable count, so treat it as approximate.