Translate a file
Free up to 10,000 characters, no account. Your file is deleted within 2 hours.
Your file
Drop your en.json herePick your language file
.json .yml .po .strings .xcstrings .arb .xml .xliff .csv .ftl .properties .resx .md
You get a ZIP with one file per language. Every line is translated back, so you can check the meaning.
file.json
Example of the result, from a recorded run Whole run
Languages
0 selectedNo language chosen yet. Tap the ones your app needs, or start with Popular.
Settings
One line helps with words that have two meanings, like “Bank” or “Statement”.
Comma-separated, for example brand names. They stay exactly as written in every language.
The model sees where each line lives and picks the right meaning.
On the free plan the screenshot is ignored.
Lifetime runs on your own OpenRouter key. You pay OpenRouter for the model directly. Get an OpenRouter key
No key? Get a free API key
Free · up to 10,000 characters per file · Gemini 2.5 Flash-Lite
Translating...
Translation complete
Preview
Click any translation to fix it before you download.
View only. This shared link can't edit the file.
Trust · Review · Low confidence
Meaning may have changed — review flagged cells
Longer than the original — may get cut off in your app
Ship it from CI next time
pip install kaeris
Optional — product updates, no spam.
Thanks — you're on the list.
Earlier in this session
Translation failed
This file is over your limit
Lifetime, $79 once: files up to 1,000,000 characters on your own OpenRouter key. Monthly plans are on the pricing page.
Questions about the tool
What does “translate back” do?
A second model translates each line back into your language. If the meaning comes back different, the line is marked so you can decide.
Why is a line marked if the meaning is the same?
The check uses its own words: “Free shipping” may come back as “no-charge delivery”. Such lines are marked softly, and you can ignore them.
Can I translate only new lines next time?
Yes. For JSON this browser remembers your last translation and sends only new or changed lines. The command-line tool does the same with a kaeris.lock file. Docs
More tools
Pseudo-localization · Longer, accented fake text that shows where your layout breaks.
Convert formats · JSON to .po, XLIFF to CSV and back. No AI.