i18n JSON Diff
Compare locale files to find missing and empty keys
What is i18n JSON Diff?
An i18n locale diff tool flattens two JSON translation files into key sets and reports which keys are missing from the target locale, which exist but hold an empty value, and which are left over from an older version. It also builds a ready-to-send template containing exactly the strings that still need translating. The comparison runs locally in your browser.
How to use i18n JSON Diff
- 1Put your reference locale on the left — usually the source language your team authors in.
- 2Put the locale you want to check on the right.
- 3Review the three problem lists: missing keys, empty values, and extra keys.
- 4Click "Copy translation template" to hand the missing and empty keys, together with the reference text, to your translator.
Frequently asked questions
Does it handle nested locale files?+
Yes. Nested objects are flattened into a.b.c style keys before the comparison, so flat files, deeply nested files, and even two files shaped differently from each other all compare correctly.
Why are empty values listed separately from missing keys?+
Because a key with an empty string is structurally present — the build succeeds and nothing warns you — yet the UI renders a blank space. It is the failure mode most likely to reach production unnoticed. Grouping it with the missing keys in the translation template lets you fix both in a single pass.
Related tools
All toolsText Diff Checker
Compare two blocks of text line by line, optionally ignoring whitespace
JSON Diff
Compare two JSON documents structurally, by key path
Regex Tester
Test regex matches live and inspect every capture group
Case Converter
Convert identifiers between camelCase, snake_case, kebab-case, and more
Word Counter
Count words, characters, lines, and estimated reading time
AI Token Counter
Count AI tokens and estimate what a call will cost