Localization String Converter

Convert app strings between iOS .strings, Android strings.xml, JSON and CSV — with correct per-platform escaping.

Convert app localization files between iOS .strings, Android strings.xml, JSON and CSV with correct per-platform escaping. Free, in your browser.

About Localization String Converter

The Localization String Converter converts app localization files between the four formats teams actually use — iOS .strings, Android strings.xml, flat JSON (i18n), and CSV — all in your browser. Cross-platform teams keep the same copy in multiple formats and convert by hand, which is slow and error-prone because each platform escapes characters differently. This parses any of the four formats into key/value pairs and re-emits the others with the correct per-platform escaping: quotes and newlines for .strings, XML entities and apostrophe/quote escaping plus resource-name sanitisation for strings.xml, standard JSON encoding, and RFC-style quoting for CSV. Paste in one side and copy or download the other — nothing is uploaded.

How to use Localization String Converter

  1. Pick the format you're pasting in with the From control: iOS .strings, Android XML, JSON, or CSV.
  2. Pick the format you want out with the To control.
  3. Paste your localization file into the left box — the converted output appears on the right instantly.
  4. Use Swap to flip the From/To formats (and feed the current output back in) for a quick round-trip.
  5. Copy the result or download it with the correct filename (Localizable.strings, strings.xml, strings.json or strings.csv).
  6. If converting to Android XML, note that keys are auto-sanitised to valid resource names (letters, digits and underscore, never starting with a digit).

Frequently asked questions

Can I convert Android strings.xml to iOS .strings?
Yes — set From to Android XML and To to iOS .strings. The tool parses every <string name="…">…</string>, decodes the XML entities and Android escapes, and re-emits each as "key" = "value"; with iOS-correct escaping.
Does it handle JSON localization files?
Yes. It reads flat JSON objects (and nested ones, flattened with dot-notation keys) as well as arrays of key/value pairs, and can emit a clean flat JSON object that i18n libraries expect.
How are special characters escaped?
Per platform: .strings escapes quotes, backslashes, newlines and tabs; strings.xml escapes &, <, > as entities and ', " as \' and \"; JSON uses standard JSON encoding; CSV quotes any field containing a comma, quote or newline.
What happens to invalid Android resource names?
When you output Android XML, keys are sanitised to valid resource names — any character that isn't a letter, digit or underscore becomes an underscore, and a leading digit gets an underscore prefix — so the file compiles.
Are duplicate keys handled?
Yes — if the same key appears more than once, the last value wins (matching how iOS and Android resolve duplicates), and the converted output contains each key once.
Is my localization data uploaded?
No. All parsing and conversion happens in your browser — your strings never leave your device, and there's no signup or watermark.

People also search for

Localization String Converter is also known as strings.xml to json, ios strings to android xml, localizable.strings converter, android strings.xml converter, i18n file converter, json to strings.xml, localization file converter.