JsonTranslate is a multilingual JSON translation tool designed for developers and content creators. It supports Google Translate, Azure, and DeepL(X) translation APIs to help with project internationalization and localization. Whether you are developing a multilingual website, app, or managing multilingual datasets, JsonTranslate offers a simple solution to easily translate JSON file content into multiple target languages.
Global translation recursively traverses the entire JSON structure, translating all string values while preserving the original hierarchy and structure of the JSON.
Suitable for:
Using a JSONPath expression, you can precisely target one or more nodes and translate only the string content within those nodes. Multiple paths can be specified, separated by commas.
Suitable for:
In this mode, you can specify particular key names to translate. Two input methods are supported:
Suitable for:
title
or description
Notes:
This mode is suitable for flat JSON structures. You can specify a starting node and the field names to be translated. The system will search from the specified node for target fields in all objects and translate them.
Configuration Options:
Suitable for:
i18n mode is designed for multilingual scenarios, allowing the aggregation of multiple language fields within the original JSON structure. It is ideal for building translation files for multilingual websites or apps, or managing multilingual configurations under a unified structure.
zh
, the source field is zh
. If the source language is set to auto
, the default source field is en
.If the target languages are set to zh
and fr
, the translation result is:
This toolkit integrates 5 translation APIs and 6 mainstream Large Language Model (LLM) interfaces, allowing users to choose the most suitable translation method based on their needs:
API Type | Translation Quality | Stability | Best Use Case | Free Quota |
---|---|---|---|---|
DeepL (X) | ★★★★★ | ★★★★☆ | Ideal for long texts, smoother translations | 500,000 characters/month |
Google Translate | ★★★★☆ | ★★★★★ | Great for UI texts and common sentences | 500,000 characters/month |
Azure Translate | ★★★★☆ | ★★★★★ | Broadest language support | First 12 months: 2 million characters/month |
GTX API (Free) | ★★★☆☆ | ★★★☆☆ | General-purpose translation | Rate-limited (e.g., ~5 million characters every 3 hours) |
GTX Web (Free) | ★★★☆☆ | ★★☆☆☆ | Suitable for small-scale translations | Free |
If you require higher speed or quality, you can apply for an API Key here: Google Translate, Azure Translate, DeepL Translate. Refer to the corresponding API Application Guide for instructions.
In addition to traditional APIs, this tool also supports intelligent translation via various LLMs, including: DeepSeek, OpenAI, Azure OpenAI, Siliconflow, Groq, and customizable Custom LLM options.
For users deploying LLMs locally (e.g., via Ollama or LM Studio), the following setup instructions apply. For optimal translation quality, we recommend using models such as qwen2.5-14b-instruct
or higher-performance alternatives in your custom configuration.
If you're encountering connection failures when accessing your local model from a browser, it may be due to cross-origin policy restrictions. Here’s how to fix it:
LM Studio:
Once configured, this tool will be able to access your local LLM models successfully. (Special thanks to mrfragger for sharing this setup guide.)
This tool supports translation between over 50 languages, encompassing a broad range of European, Asian, and some African languages. It is suitable for various multilingual content processing scenarios. Supported languages include: English, Chinese, Traditional Chinese, Portuguese, Italian, German, Russian, Spanish, French, Japanese, Korean, Arabic, Turkish, Polish, Ukrainian, Dutch, Greek, Hungarian, Swedish, Danish, Finnish, Czech, Slovak, Bulgarian, Slovenian, Lithuanian, Latvian, Romanian, Estonian, Indonesian, Malay, Hindi, Bengali, Vietnamese, Norwegian, Hebrew, Thai, Filipino (Tagalog), Uzbek, Kyrgyz, Turkmen, Kazakh, Bhojpuri, Kannada, Amharic, Gujarati, Javanese, Persian, Tamil, Swahili, Hausa, Telugu, and Marathi.
For detailed information on supported languages, refer to the official documentation of each service:
When using the specified key name mode, you can switch between the single key mode and the mapped translation mode using the toggle button in the result area. In single key mode, the same node is used for both translation input and output. In mapped translation mode, however, translations involve different nodes—for example, the value of node A is translated to node B, and the value of node C is translated to node D.
This tool introduces an optional local translation cache to improve translation efficiency and reduce resource consumption:
source text_target language_source language_translation API_model settings
.To disable the use of translation cache, you can uncheck "Use translation cache" or click "Clear translation cache" in the API settings.
Supports translating the same file into multiple languages at once, which is especially suitable for international video content:
This issue may be caused by one of the following reasons:
You can press F12 to open the browser's Developer Tools, switch to the "Network" tab, and check the specific error message in the API response.
If only part of the content failed to translate, try clicking the “Translate” button again. When translation caching is enabled, the system will skip already translated content to avoid duplicate charges or requests.
DeepL's official service does not allow direct access via web pages, so we use an intermediate gateway to send your request.
This relay interface only transmits data and does not collect any personal information, so you can use it with confidence. If you require greater stability, you may set up your own gateway.
No! Your API Key and other settings are stored only in your own browser. We do not upload or record any of your information.
GTX Web puts significant load on the server, so it is disabled by default.
If you're using this tool on your own computer, you can enable it manually. Please avoid using it under a global proxy network, as this may cause translation issues.
JSON data is stored as key-value pairs, where a "key" (also known as a "name") is a string that uniquely identifies a specific item or element in the data record, forming the basis for data retrieval and manipulation. JsonTranslate leverages the identifying function of JSON key names to achieve precise translation.
Below is an explanation of several key names in the example:
downvote.message
: This is a nested key name. downvote
is the key of the outer object, and message
is a key within the downvote
object.提示词.message
: Here, 提示词
is a key that contains an object, which in turn has a key named message
.share.owner
: This key contains a dot (.
) and is treated as a single key rather than indicating a nested relationship. In this case, if you want to access the name
within the share.owner
object, you cannot use share.owner.name
because it would be mistakenly interpreted as looking for a name
key within an owner
object. In reality, share.owner
is a complete key name.Currently, JsonTranslate cannot process JSON key names that contain a dot (.
). This is because the dot in JSONPath is used to distinguish nested object keys, which can lead to keys with dots being misinterpreted as multiple levels of nested objects. To avoid this issue, it is recommended to use key names without dots.