Fixlark

Runs on our server

Grammar and spelling

Paste your writing and get every problem underlined, with the reason and a suggested fix. This is LanguageTool, running on our own machine — not a language model, and not a service that keeps your text.

On our serverYour text is sent to our server to be checked, and is never written to disk. There is no file to delete because there was never a file.

Your text, marked

What it found

    Why this is not a language model, and why that is the point

    LanguageTool is a rule engine and a dictionary. It knows several thousand patterns for English mistakes and a list of every word in the language. When it finds a problem it can tell you which rule fired and why. When it has nothing to say, it says nothing.

    A large language model asked to proofread will always produce something. Ask it to fix a sentence that is already correct and it will rewrite it anyway, confidently. It will also occasionally change a fact, a name or a number while it is in there. That is the wrong failure mode for a proofreading tool, because a proofreading tool is used precisely when the person using it cannot tell whether the output is right.

    There is a practical reason too. This runs on a small shared server with four cores and no graphics card. LanguageTool answers a sentence in about sixty milliseconds and a six-thousand-word document in under a second. A model capable of proofreading at all would need hardware that does not exist here, and would cost money per request that a free tool cannot absorb.

    English only — and Vietnamese is not coming

    This checker supports English (US) and English (UK). Nothing else.

    Two separate reasons, and they deserve to be separated because only one of them is fixable:

    Vietnamese does not exist in LanguageTool at all. There is no Vietnamese rule set, no Vietnamese dictionary, and no setting that turns one on. This is not a limitation of our server — no amount of hardware would change it. If you write in Vietnamese, this tool cannot help you, and we would rather say so here than have you paste in a paragraph and get nothing back.

    The other European languages exist but do not fit. French, German, Spanish, Portuguese, Dutch, Italian and Polish all have good rule sets. We measured what it costs to load them: English alone needs about 509 MB of memory; all nine together need about 1.6 GB. This server has 7.7 GB in total, no swap file, and eleven other services on it — some of them medical applications that people depend on. Taking another gigabyte for a free grammar checker would mean risking those, and that is not a trade worth making. Adding a language here is a hardware decision, not a settings change.

    Reading the results

    Findings are sorted into three kinds, and the distinction is more useful than the count:

    • Spelling — the word is not in the dictionary. Nearly always a real mistake, though it also catches names, jargon and British spellings when you have chosen US.
    • Grammar — a rule fired: subject–verb disagreement, a wrong preposition, a confused homophone. Usually right, occasionally confused by an unusual sentence.
    • Style — an opinion. Wordiness, redundancy, passive voice. Off unless you tick the box, because style rules on somebody else's writing are noise more often than they are help.

    Click a suggestion to apply it and the text is re-checked immediately, because one fix frequently reveals another. Click an underlined phrase to jump to its explanation.

    What happens to your text

    The text is sent to our server, checked, and the result is returned. It is never written to disk. There is no file to delete because there was never a file — the text exists in memory for the fraction of a second the check takes and then it is gone. It is not logged, and LanguageTool's own request logging of text content is off in our configuration.

    This is the one thing on this page you cannot verify from your side, so it is worth being precise about what you are trusting: you are trusting one sentence in one configuration file. Everything else on this site that touches sensitive text — the word counter, the diff, the JSON formatter — runs in your browser and needs no trust at all.

    The queue, and the limits

    Up to 20,000 characters at a time, which is about 3,500 words or seven pages. Longer than that, check it a few pages at a time; the limit exists so that one enormous paste cannot occupy the checker while everybody else waits.

    Two checks run at once and the rest queue. Because a check takes well under a second, you will almost never notice. If the server is genuinely busy you will be told so, with a number, rather than left watching a spinner.

    LanguageTool is free software under the LGPL and we run our own copy. This site is not affiliated with LanguageTool's own hosted service, and none of your text reaches it.