i18n / Locale Tools

i18n / Locale Tools

Work with JSON i18n locale files: sort keys, find missing keys across languages, merge multiple locales, flatten/unflatten nested keys.

i18n / Locale Tools

Work with JSON i18n locale files: sort keys, find missing keys across languages, merge multiple locales, flatten/unflatten nested keys.

Common uses

  • Find missing translation keys between en.json and de.json
  • Sort all keys alphabetically in a locale file
  • Merge multiple locale JSON files
  • Check which ICU plural category a count resolves to in Polish

Also searched as

  • find missing translation keys between json files
  • compare en.json and de.json
  • sort locale json keys
  • merge i18n json files
  • flatten nested json to dot notation
  • unflatten json keys
  • icu plural category checker
  • json to xliff converter
  • json to csv translations
  • pseudo localization generator
  • check placeholder consistency in translations

Frequently asked questions

How do I find missing keys between two locale files?

Use the Missing Keys tab and paste both locale files. It lists keys that exist in one but not the other and flags placeholder mismatches on shared keys.

How do I flatten a nested translation JSON?

Use the Flatten / Unflatten tab to convert nested keys to dot notation, and unflatten them back again.

Which ICU plural category does a number use in my language?

The ICU Plural Rules tab shows which category, such as one, few, many or other, a count resolves to in a chosen locale using Intl.PluralRules.

Can I convert translations to XLIFF or CSV?

Yes, the CSV / XLIFF tab converts locale JSON to key,value CSV or XLIFF 1.2, and converts CSV or XLIFF back to JSON.

What is pseudo-localization?

It transforms your strings into accented, roughly 35% longer placeholder text with brackets to reveal hard-coded text and layout overflow. The Pseudo-Localization tab does this for your locale JSON and leaves placeholders untouched.

Is my data uploaded to a server?

No. This tool runs entirely in your browser — your input is processed locally on your device and is never uploaded or stored on a server.