Free i18n JSON translation checker
Compare source and target locale files. Find missing keys, blank or unchanged translations, obsolete entries, and broken placeholders before they reach production.
Source language
Your complete reference locale, for example en.json
Target language
The locale you want to check, for example es.json
3 issues need attention.
1 possible warning to review.
Coverage
Source keys
Translated
Target keys
Missing keys
1Present in the source file but absent from the target file.
button.cancel
Empty translations
1The key exists, but its target value is blank.
nav.settings
Placeholder mismatches
1Variables differ between source and target and may break at runtime.
welcomeSource: {{name}}Target: none
Extra target keys
1Only present in the target file; they may be obsolete or intentionally local.
legacy.title
A fast structural QA pass for locale files
Translation bugs often look harmless in JSON and only surface later as raw keys, missing variables, or untranslated interface copy. The checker focuses on the problems a source-to-target comparison can find reliably.
Missing and extra keys
See which source keys never made it into the target file—and which target keys may be obsolete.
Empty and unchanged values
Catch blank translations and source text that may have been copied without translation.
Broken placeholders
Compare variables such as {{name}}, {count}, %s, ${total}, and :organization before they break at runtime.
Nested and flat JSON
Check nested objects and dot-notation keys in the same pass, with non-string values highlighted.
Check a locale in under a minute
- 1
Add the source file
Paste or choose your complete reference locale, usually en.json.
- 2
Add one target locale
Use the corresponding translated file, such as de.json or es.json.
- 3
Review and export
Fix critical issues first, review possible warnings, and download the JSON report if you need to share it.
Keep every locale in sync with Troevo
Import JSON, create AI-assisted drafts, review changes with your team, and publish approved translations through a global CDN.
JSON translation checker questions
Are my translation files uploaded?
No. The checker runs entirely in your browser. The JSON files and text you provide are not sent to Troevo or another server.
Does the checker support nested JSON?
Yes. Nested objects are flattened to dot-notation paths for comparison, so nav.home and a nested nav object containing home are checked consistently.
Which placeholders can it check?
The checker recognizes common Mustache, JavaScript template, ICU, single-brace, printf, and colon-style placeholders and reports differences between source and target values.
What counts toward translation coverage?
A source key counts as covered when the target file contains the same key with a non-empty string value. Unchanged translations remain covered but are listed as a warning for human review.