Free AI Grammar Checker — Server-Side, No Signup
Paste any English paragraph — essay draft, email, cover letter, blog intro — and get a corrected version side-by-side with the original, each edit highlighted and labelled. The LanguageTool v2 engine runs on our server; the page stays light and the page bundle never ships model weights.
How it works
Two independent passes run on the same input. They use very different methods, and watching them agree (or disagree) is the fastest way to judge whether a single correction is trustworthy.
1. LanguageTool v2 engine (server-side)
The primary corrector is LanguageTool v2, an open-source proof-reading engine bundling roughly 5,000 hand-curated grammar, style and spelling rules across 30+ languages, plus statistical n-gram detectors for confusable word pairs. We call the public Web API (https://api.languagetool.org/v2/check) from a server-only Next.js route handler. The browser never downloads dictionaries or rule files — the only payload it sends is your text, and the only payload it receives is a small JSON result with the corrected text and an edit list.
The response is a list of match objects, each with a character offset, a length, one or more candidate replacements, and a rule category. The route applies the first replacement of every non-overlapping match in offset order, then post-processes for spelling variant and proper-noun preservation. The three correction presets map directly to engine flags and our match filters:
- Conservative — level=default, skip stylistic=yes, max replace ratio=0.6.
- Standard — level=default, skip stylistic=no, max replace ratio=1.5.
- Aggressive — level=picky, skip stylistic=no, max replace ratio=none.
With Preserve proper nounson, any token that was capitalised in the source — and was not sentence-initial — is restored verbatim if the engine rewrote it. That keeps Sri Lankan place names (Ratnapura, Polonnaruwa, Buttala) and brand names intact even when they fall outside the engine's dictionary.
2. Deterministic rule baseline
The second pass is a small hand-written corrector that applies only transformations whose correctness is uncontroversial: standalone lowercase "i" → "I", sentence-initial capitalisation, "a"/"an" agreement before vowel- and consonant-sound tokens, runs of whitespace collapsed, and spaces before sentence punctuation removed. It has zero dependencies, runs in microseconds, and is shown beside the engine output so you can see which edits a rule book could agree on — anything fixed beyond that line required the engine.
3. Edit highlighting and classification
Once both passes are done, the tool runs a longest-common-subsequence diff (Myers, 1986) at the whitespace-token level between original and final corrected text. Adjacent deletions/insertions are coalesced into replace segments, rendered in the tracked- changes view as colour-coded marks (red strikethrough for removals, green for insertions, amber for replacements). A rule-based classifier then labels each edit with one of nine categories: article, preposition, agreement, tense, spelling, capitalisation, punctuation, word-order, or other. Each edit ships with a one-line rule of thumb so the tool is educational as well as corrective.
4. Validation and limits
Inputs shorter than 5 characters are rejected with a friendly message — a single word doesn't need a grammar check. Inputs longer than 4,000 characters are rejected to stay well within LanguageTool v2's public-tier rate limit (20 requests/min, 20,000 chars/request). For longer pieces, split the source into paragraphs and check each separately — accuracy is actually higher on shorter, more topical passages because rules and n-gram statistics weigh nearby context.
The LanguageTool v2 engine is stateless: every call is independent and we send no identifiers. If the engine is rate-limited or unreachable, the deterministic baseline is still returned, so the page never shows a dead state.
Worked examples
Frequently asked questions
Sources & references
- LanguageTool — open-source proof-reading engine (LGPL-2.1)
- LanguageTool HTTP API v2 — Swagger reference
- LanguageTool source code — GitHub mirror
- LanguageTool — Finding errors using n-gram data (Picky mode)
- Myers, 1986 — An O(ND) Difference Algorithm and Its Variations (Algorithmica)
- Oxford English Dictionary — British vs. American Spelling
Engine version, API endpoint, and reference papers were last cross-checked on 2026-05-12. The page is reviewed whenever the LanguageTool API contract changes or the upstream rule set is materially updated.
Related tools
Comments & feedback
Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.
Spotted an edge case the checker mishandled, or want to suggest a better engine?
Email me at [email protected] — most fixes ship within 24 hours.