Find missing keys in your i18n JSON files!

Paste a base locale file and a translation file to instantly see missing keys, extra keys, untranslated values and placeholder mismatches.
1. base
2. target
3. result keyCount

missing1

  • cart.checkout

placeholderMismatch1

  • home.greeting{name} → –

untranslated1

  • home.ctaGet started

extra1

  • legacy.banner

Find missing keys in your i18n JSON files!

Paste a base locale file and a translation file to instantly see missing keys, extra keys, untranslated values and placeholder mismatches.

Description

- Nested keys are flattened to dot paths (home.title) and arrays to indexes (items.0). - Flat files with dotted keys ({"home.title": "..."}) can be compared with nested files. - Values identical to the base value are listed as possibly untranslated. - Placeholders such as {name}, {{count}} and %s present on only one side are reported. - Your input never leaves the browser.

How to use

1. Paste the base locale file (e.g. en.json) on the left. 2. Paste the translation file (e.g. de.json) on the right. 3. Review missing keys, extra keys and untranslated values in the result. 4. Use "Copy missing keys as JSON" to get just the keys to add, filled with the base text.

Use cases

- Checking that new strings reached every locale file before a release - Extracting only the missing strings to send to translators - Finding unused keys to delete after a refactor - Catching missing placeholders before {name} shows up raw on screen