Threw your strings at ChatGPT? Bold. Let's see what it did.
AI translation is a commodity. Trusting it isn't. KAERIS shows you what every line actually means and flags the ones worth a second look. No account.
Allergic to subscriptions? Lifetime, $79 once — your own AI key, no meter
Read what it actually says.
We translate the result back into your language and flag anything that drifts. Anything shaky flags itself. One line of context usually fixes it. You read the meaning yourself instead of taking the AI's word for it.
See the read-back benchmark — 28/28 meaning errors caught, 0 false positives in 40 paraphrases
Drop your source file
Drag & drop your en.json here
or click to browse
"welcome": "Hello!",
"btn.save": "Save changes"
}
file.json
Pick your languages
Translate
Lifetime plans use your own OpenRouter key — you pay for tokens directly. Get a free OpenRouter key
No key? Get a free API key
Advanced options
Comma-separated. These terms stay exactly as written in every language — perfect for product & brand names.
A short description helps the AI pick the right meaning for ambiguous words (e.g. "Bank" in a fintech app vs. a river bank in a game).
Helps the AI pick the right meaning/tone by seeing where each string lives. Pro plans (vision AI).
On a free plan the screenshot is ignored — upgrade to Pro to use vision AI.
Free · 10,000 chars · Gemini 2.5 Flash-Lite
Translation complete
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
Wider than source — may clip in your UI
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
Need more? Upgrade for larger files
Pro $29/mo (200k) · Scale $49/mo (500k) · Lifetime $79 (BYOK, 1M chars/file)
See pricingMore tools — convert & pseudolocalize
Convert format (no translation)
Free · no accountReshape a locale file — reads Xcode String Catalogs and Fluent .ftl too, writes JSON, YAML, .strings, .po, ARB, Android XML, CSV, XLIFF, .properties, .resx. No AI involved, nothing translated.
Drag & drop a locale file here
or click to browse
file.json
Pseudolocalize (test UI)
Free · no accountGenerate a fake "pseudo" locale — accented, ~30% longer, wrapped in [!! ... !!] — to catch truncation/overflow and hardcoded strings BEFORE you pay for real translation. No AI involved.
Drag & drop a locale file here
or click to browse
file.json
ChatGPT translates fine.
It just won't check itself.
We'll say it plainly: modern ChatGPT translates well. The gap is everything that happens after the translation.
Web
This page — upload, translate, download. No account.
kaeris.dev
CLI
Translate from your terminal & CI/CD.
pip install kaeris
Is my file used to train AI models?
KAERIS trains no models — we don't operate any. Your file is deleted from our server within 2 hours; the translation runs through OpenRouter to the model providers under their own policies. For full control, Lifetime is BYOK (your own key). More on security.
What if a translation is subtly wrong?
That's the whole point of read-back: every line is translated back into your language by a different model and checked for meaning drift, plus a deterministic check for lost placeholders and tags. We measured it — 28 of 28 planted meaning errors caught, 0 false positives across 40 heavily reworded paraphrases.
Do my placeholders and tags stay intact?
Yes. {name}, %s, %(count)s, ICU plurals, HTML and i18next <Trans> tags are preserved — and if the model ever drops one, read-back flags it as a fact, not a guess.
Which models power it?
Gemini 2.5 Flash-Lite on every tier, free and paid alike — the demo runs the same model you would be buying. The read-back verification is an independent pass on Gemini 2.5 Flash models, so the model that translated never grades its own work.
Do I need an account?
No. The free tier works with no sign-up (10,000 characters per file). A free API key raises that to 50,000 and unlocks the CLI, MCP and GitHub Action.