Troevo
Free developer tool

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.

Free, no account, and processed entirely in your browser

Source language

Your complete reference locale, for example en.json

Target language

The locale you want to check, for example es.json

Your files stay in this browser. Nothing is uploaded.
Translation health

3 issues need attention.

1 possible warning to review.

67%

Coverage

6

Source keys

4

Translated

6

Target keys

Missing keys

1

Present in the source file but absent from the target file.

  • button.cancel

Empty translations

1

The key exists, but its target value is blank.

  • nav.settings

Placeholder mismatches

1

Variables differ between source and target and may break at runtime.

  • welcome
    Source: {{name}}Target: none

Extra target keys

1

Only present in the target file; they may be obsolete or intentionally local.

  • legacy.title
Supports nested and flat JSON, i18next keys, ICU variables, Mustache, printf, template, and colon placeholders.
What it checks

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.

How to use it

Check a locale in under a minute

  1. 1

    Add the source file

    Paste or choose your complete reference locale, usually en.json.

  2. 2

    Add one target locale

    Use the corresponding translated file, such as de.json or es.json.

  3. 3

    Review and export

    Fix critical issues first, review possible warnings, and download the JSON report if you need to share it.

When two files become twenty

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.

Start your 14-day trial
FAQ

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.