The JSON validator is a way of checking whether your source is syntactically / structurally valid as a JSON, as well as if it meets the locale file requirements.
Available at jtranslate.dev/json-validator.
For a JSON to be considered a valid locale file it must:
If you're uploading a file and it's being rejected, it's likely one of the above.
The validator also flags duplicate keys at the same depth. This is worth knowing about because JSON parsers will silently keep the last value and discard the rest. So if you have two "title" keys in the same object, you'll only see one.
After running validation you get a pass/fail for each check, a preview of your JSON with syntax highlighting, and a list of any issues found. You can click on issues to jump to the line in the preview.
It also shows some useful stats like key count, depth, characters, and whether you have any non-string values or arrays.
Files deeper than 15 levels are rejected. If you're hitting this, flatten your structure or split into multiple files.
Validation runs automatically when you upload a file in Quick Translate or update a project's source. The standalone validator is useful if you want to check a file beforehand, or debug why an upload is failing.