Visual Studio CodeVS Code Extension available! Install now

Translate Xcode String Catalog (.xcstrings) files online

Upload your .xcstrings files to SimpleLocalize, add languages, auto-translate and download a single .xcstrings file with all languages in seconds.

Translate String Catalog file
No credit card required14-day free trialTracking-free service
{ "sourceLanguage" : "en", "strings" : { "hello world" : { "comment" : "My Hello World description", "extractionState" : "manual", "localizations" : { "pl" : { "stringUnit" : { "state" : "translated", "value" : "Witaj Świecie!" } } } } }, "version" : "1.0" }
{
  "sourceLanguage" : "en",
  "strings" : {
    "hello world" : {
      "comment" : "My Hello World description",
      "extractionState" : "manual",
      "localizations" : {
        "pl" : {
          "stringUnit" : {
            "state" : "translated",
            "value" : "Witaj Świecie!"
          }
        }
      }
    }
  },
  "version" : "1.0"
}

What is the Xcode String Catalog (.xcstrings) format?

String Catalogs were introduced in Xcode 15 and store all languages, plural variants and device variations of a project in one JSON-based .xcstrings file.

It is used by Xcode 15+, SwiftUI, iOS 17+. SimpleLocalize reads and writes it natively, so you keep your existing project structure. Format value for the CLI and API: localizable-xcstrings. Read the format documentation.

How to translate Xcode String Catalog (.xcstrings) files

  1. Create a free account and a project. The Community plan covers small apps with no credit card.
  2. Import your .xcstrings file in the web editor, or push it from the terminal with the CLI.
  3. Add target languages and run auto-translation. Use DeepL or Google Translate for speed, or OpenAI, Claude and Gemini with your own API key for context-aware translations.
  4. Review in the editor with QA checks, glossary and screenshots, then download the String Catalog files or publish them to the translation hosting CDN.

Sync String Catalog files from CI

Add a simplelocalize.yml to the repository and run simplelocalize upload and simplelocalize download in your pipeline or GitHub Action:

# simplelocalize.yml apiKey: YOUR_PROJECT_API_KEY uploadFormat: localizable-xcstrings uploadPath: ./translations.xcstrings downloadFormat: localizable-xcstrings downloadPath: ./translations.xcstrings
# simplelocalize.yml
apiKey: YOUR_PROJECT_API_KEY
uploadFormat: localizable-xcstrings
uploadPath: ./translations.xcstrings
downloadFormat: localizable-xcstrings
downloadPath: ./translations.xcstrings

Convert String Catalog to other formats

The same project can export translations in more than 30 formats, and the free online converter works without an account:

All conversions and free translation tools.

Start translating String Catalog files

  • Native Xcode String Catalog (.xcstrings) import and export
  • Auto-translation with DeepL, Google, OpenAI, Claude and Gemini
  • Translation editor, QA checks, CLI and CDN on the free plan
Start for free
No credit card required5-minute setup
"The product
and support
are fantastic."
Laars Buur|CTO
"The support is
blazing fast,
thank you Jakub!"
Stefan|Developer
"Interface that
makes any dev
feel at home!"
Dario De Cianni|CTO
"Excellent app,
saves my time
and money"
Dmitry Melnik|Developer