Translation Token Checker
Flag missing or extra tokens for local human review.
Enabling local controls…
Results
Review the settings and run. Editing inputs clears old results.
Processing model and limits
Token mode compares case-sensitive occurrences of {name}, {{name}}, ${name}, %{name}, common printf tokens, lowercased HTML tag names/open/close, number spellings, HTTP(S) URL and ASCII email candidates, and normalized line breaks. URLs/emails/placeholders do not double count their numbers. HTML tag names ignore case; attributes and nesting are not checked. ICU mode parses nested plural/select and apostrophe quoting with FormatJS 3.5.22, comparing argument-name sets only; it ignores repetitions/literal tokens and does not verify branches or translation quality. Hints do not verify identity or security. Each input: 32 KiB; token mode: 2000 occurrences per side; ICU: 40 syntax levels, 30 AST levels, 2000 AST nodes; output: 128 KiB. No network requests or markup execution.
Data and model checked: CompareTwoTexts: Translation Placeholder Checker ↗FormatJS: ICU message syntax ↗
How to use this tool
Load the example, confirm field units and processing rules, then run locally. Editing any input clears the old result. Copy or download the complete output explicitly.
When not to use it
Token mode compares case-sensitive occurrences of {name}, {{name}}, ${name}, %{name}, common printf tokens, lowercased HTML tag names/open/close, number spellings, HTTP(S) URL and ASCII email candidates, and normalized line breaks. URLs/emails/placeholders do not double count their numbers. HTML tag names ignore case; attributes and nesting are not checked. ICU mode parses nested plural/select and apostrophe quoting with FormatJS 3.5.22, comparing argument-name sets only; it ignores repetitions/literal tokens and does not verify branches or translation quality. Hints do not verify identity or security. Each input: 32 KiB; token mode: 2000 occurrences per side; ICU: 40 syntax levels, 30 AST levels, 2000 AST nodes; output: 128 KiB. No network requests or markup execution.
Generate pseudo-localized text to check expansion and UI clipping →
Read the guide →