Skip to content
100% local

Translation QA checker

Compare an original text with its translation and flag errors that are wrong in any language.

Input
Translation
Output

Translation QA checker

Paste the original text on one side and its translation on the other, and this tool compares them segment by segment for mistakes that are wrong in any language: a number that changed, a placeholder that got dropped, an HTML tag that's missing or moved, or a sentence that was never translated at all. It's built for localization reviewers, developers wiring up i18n strings, and anyone proofreading translated UI copy, help articles or marketing pages before they ship.

Toggle checks in the options panel. Numbers and units catches a price, date or quantity that doesn't match between the two texts. Placeholders and variables catches a missing {0}, %s or {{name}} — the fastest way a translation breaks a running app. HTML tags and their order flags a <b> or <a> that's missing, extra, or shuffled out of sequence. Terminal punctuation and capitalization catches a dropped period or a sentence that lost its capital letter. Untranslated segments finds lines copied verbatim from the source, and empty segments and double spaces catches blank rows and stray whitespace from copy-pasting. The segment separator — line, blank line, or tab — controls how both texts are split to match your source material.

Every finding is listed against its segment number, so a long document stays easy to work through. If the two texts have a different number of segments, the extra or missing ones are reported too, since a dropped paragraph is exactly the kind of error this tool exists to catch. Windows (CRLF) and Unix (LF) line endings are treated the same.

Everything runs locally in your browser — neither text is ever uploaded. Copy the report, download it as a .txt file, or send it back into the input to run another tool on it.

FAQ

What counts as an error "regardless of language"?
Only checks that don't depend on knowing the target language: mismatched numbers, missing or extra placeholders, HTML tags that don't match or aren't in the same order, punctuation and capitalization differences, and segments that look untranslated, empty, or contain a double space.
How does it split the text into segments?
Choose line, blank line (paragraph), or tab as the separator, and the same rule is applied to both the original and the translation before they are compared position by position.
What happens if the two texts have a different number of segments?
The extra or missing segments are reported by their own number, since a paragraph that was dropped or added between the two versions is itself worth catching.
Does it check grammar or meaning?
No. It only checks structural, language-independent signals — it can't tell you whether the translation reads naturally or means the same thing as the source.
Is my text uploaded anywhere?
No. The comparison runs entirely in your browser — neither the original text nor the translation ever leaves your device.