Translate JSON string values into Spanish while preserving keys, exact numeric tokens, nesting, whitespace, and interpolation placeholders. Technical values are skipped, and ICU plural or select blocks are rejected.
Each example shows a short JSON snippet before and after translation. File examples use Spanish translation. Placeholders, numeric tokens, and keys are preserved; ICU plural/select blocks are rejected. Outputs are illustrative and not guaranteed.
English
{"label":"Hello, {{name}}!"}
Translation
{"label":"Hola, {{name}}!"}
Placeholder preserved
English
{"count":9007199254740993}
Translation
{"count":9007199254740993}
Exact number unchanged
English
{"nested":{"title":"Welcome"}}
Translation
{"nested":{"title":"Bienvenido"}}
Nested string translated
English
{"apiKey":"abc123","label":"Save"}
Translation
{"apiKey":"abc123","label":"Guardar"}
Technical value skipped
English
{"items":["One","Two"]}
Translation
{"items":["Uno","Dos"]}
Array strings translated
English
{"message":"{count, plural, one {# item} other {# items}}"}
Translation
Rejected: ICU plural/select not supported
ICU block rejected
JSON object keys are identifiers, not display text. Translating them would break app code that reads data by key. The JSON Translator changes only values, so a key like "greeting" remains "greeting" while its value can become "Hola".

JSON numbers can exceed JavaScript's safe integer range, such as 9007199254740993. Rewriting a number through floating-point conversion can change its value. The translator keeps numeric tokens as raw text and does not translate them, preserving the exact digits in your file.

| Input | Rule | Result |
|---|---|---|
| {"label":"Hello"} | Translate string value only | {"label":"Hola"} |
| {"port":8080} | Numeric token preserved | {"port":8080} |
| {"url":"https://example.com"} | Technical value skipped | {"url":"https://example.com"} |
The JSON Translator walks the parsed tree and sends only string values that look like natural language. Keys, numbers, booleans, null, and structural punctuation stay exactly as written. Technical strings such as URLs, API keys, and file paths are skipped based on shape and context.
ICU plural and select blocks are rejected because they carry language-specific branching. The tool stops instead of translating parts and leaving broken syntax. If your JSON contains these blocks, remove or rewrite them before translating, then reintroduce the correct plural rules for the target language.
| Input | Rule | Result |
|---|---|---|
| {"msg":"{count, plural, one {# item} other {# items}}"} | Reject ICU plural/select | Error, no output |
| {"msg":"{gender, select, male {He} female {She} other {They}}"} | Reject ICU select | Error, no output |
| {"msg":"Hello, {name}"} | Simple placeholder allowed | {"msg":"Hola, {name}"} |
You have an en.json file with labels, buttons, and messages. Upload it, review the displayed request count, then translate string values into Spanish. Keys, nesting, and numeric tokens remain unchanged, so your app can load the translated file without code changes. The tool runs in your browser for parsing.

When API tests depend on English response fixtures, translate only the human-readable strings. The JSON structure, keys, booleans, null values, and large integers stay byte-for-byte where possible. This keeps assertions on schema and types valid while giving you Spanish sample data for UI checks. No code changes are required.

Configuration files often mix technical values with user-facing warnings. The translator skips URLs, API keys, and file paths, then translates strings like "Save failed" or "Try again". Placeholders such as {{name}} or {count} stay in place so your message formatting still works. Review the output in the result panel.

Game dialogue JSON may contain many short strings and simple placeholders. Translate them into Spanish for a draft, then review each line in context. ICU plural or select blocks are rejected, so rewrite those before translating rather than risking broken grammar in the final file.

Explore the JSON Translator features and supported options.
Upload a JSON file and translate its human-readable string values into Spanish. Object keys, arrays, numbers, booleans, and null values remain in place. Only strings identified as display text are sent for translation.
Interpolation placeholders such as {{name}}, {count}, and %s are preserved so your formatting still works after translation. The tool does not translate inside placeholders, and simple braces are allowed when they are not ICU plural or select blocks.
Values that look like URLs, API keys, file paths, timestamps, or identifiers are skipped. This prevents secrets and machine-readable values from being altered. You can inspect the result, then copy or download the translated JSON file.
If a string contains an ICU plural or select block, the tool stops and reports an error instead of translating parts and leaving broken syntax. Rewrite those blocks first, or remove them before translating the JSON file.
Accept SRT/VTT. Preserve timecodes, cue identifiers and markup. Translate cue text; offer original-format and bilingual downloads.
Image TranslatorAccept PNG/JPEG/WebP, run browser OCR for selected source language, review extracted text then translate; output text only, not edited images.
PDF TranslatorExtract selectable text from PDF locally, preserve page grouping in text output. Export translated TXT, not original-layout PDF. Scanned PDFs require OCR elsewhere.
Word TranslatorAccept DOCX; translate paragraph text while preserving archive structure, tables and images. Complex run styling can consolidate into the first text run.
Choose a JSON file up to 5MB. The browser parses it locally and extracts string values that look like display text. Keys, numbers, booleans, null, and nesting stay in place. The tool shows the request count before you start.
Sign in if needed, then start the translation. Extracted strings are sent to DeepSeek in parts of at most 500 characters. Each successful request uses one daily free translation or 1 credit. You can stop and resume within the session.
Check the translated string values and confirm placeholders are intact. ICU plural or select blocks will be reported as errors. Use copy or download to save the JSON result. Do not expect exact visual layout or perfection.
Translate JSON string values into Spanish while preserving keys, numbers, and placeholders. Technical values are skipped; ICU plural/select blocks are rejected.