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.
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 — 100% recall, 0% false positives
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 · DeepSeek V3
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 $19/mo (200k) · Scale $29/mo (500k) · Lifetime $79 (BYOK, 1M chars/file)
See pricingMore tools — convert & pseudolocalize
Convert format (no translation)
Free · no accountReshape a locale file between JSON, YAML, .strings, .po, ARB, Android XML, CSV, XLIFF, .properties and .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 — 100% recall on clear meaning errors, 0% false positives.
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?
DeepSeek V3 on the free tier, GPT-4o-mini on paid plans. 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.