Free translation file converter

i18n file converter

Convert translation files between JSON, YAML, PO, XLIFF, RESX, Android, iOS, .properties, ARB, and CSV. It runs in your browser, so your strings never leave your computer.

Your translation file

Conversion runs in your browser. Your file is never uploaded.

5 strings converted

nav:
  home: Home
  pricing: Pricing
hero:
  title: "Welcome back, {name}!"
  subtitle: "You have %d new messages."
footer: "Don't miss our updates"

/ Altified

Skip the file shuffling

Altified translates your website from the live page, with no export and import of resource files.

Kostenlos starten

Convert localization files without a script

Teams switch frameworks, vendors ask for XLIFF, and mobile and web apps keep strings in different formats. Paste or upload a file, pick the output format, and copy or download the result.

  • Detects the input format automatically.
  • Escapes quotes, apostrophes, and newlines correctly for each format.
  • Swap the input and output formats to convert back.

Keep keys stable across formats

Translation memory and in-app lookups depend on keys. The converter keeps the key and value order, and uses dot notation for nesting, so the same strings can be shared between platforms.

/ FAQ

Häufig gestellte Fragen

Which translation file formats are supported?

Nested and flat JSON (i18next, vue-i18n, next-intl), YAML (Rails, Symfony), gettext PO, XLIFF 1.2 and 2.0 input, .NET RESX, Android strings.xml, iOS .strings, Java .properties, Flutter ARB, and two-column CSV.

How are nested keys converted to flat formats?

Nested keys are joined with dots, so {"nav": {"home": "Home"}} becomes nav.home. Converting back to nested JSON or YAML restores the structure.

How do I convert JSON to a PO file?

Choose JSON as the input and Gettext PO as the output. Each key becomes a msgid and each value a msgstr. A gettext msgctxt is kept when you convert a PO file to another format and back.

What happens to Android plurals and string arrays?

Plurals become keys such as files.one and files.other, and string arrays become items.0, items.1. Converting those keys back to Android rebuilds the <plurals> and <string-array> elements.

Which XLIFF value is used?

The target text when it exists, otherwise the source text. XLIFF output contains your values as source text, ready to send to a translator or a CAT tool.

Is my file uploaded?

No. Parsing and conversion run entirely in your browser, so the file never leaves your computer.