App Store Localizer

Translate your App Store listing into up to 39 languages in a minute. Free, no sign-up.

How it works

1. Paste your link

Copy the link to your app from the App Store and paste it above.

2. Pick languages

Choose up to 39 App Store languages. AI translates every field within the character limits.

3. Upload with fastlane

Download the ZIP and send every language to App Store Connect with one fastlane command.

Keywords and promotional text are not public. Paste yours under Edit source texts or let AI generate keywords for each language. Nothing is stored.

What is fastlane?

fastlane is a free, open-source command-line tool that uploads App Store texts for you. One command sends every language from the ZIP to App Store Connect, so you don't copy them by hand.

1. Install fastlane

On a Mac, install it with Homebrew in the Terminal app:

brew install fastlane
fastlane --version
2. Get an App Store Connect API key

An API key lets fastlane sign in without two-factor authentication prompts.

  1. Open App Store Connect, go to Users and Access, Integrations, App Store Connect API.
  2. Create a key with the App Manager role and download the .p8 file. It can be downloaded only once, so keep it safe.
  3. Note the Key ID and the Issuer ID shown on the same page.

Next to your fastlane folder, create api_key.json:

{
  "key_id": "YOUR_KEY_ID",
  "issuer_id": "YOUR_ISSUER_ID",
  "key": "-----BEGIN PRIVATE KEY-----\nKEY_CONTENT\n-----END PRIVATE KEY-----",
  "in_house": false
}

The key must be on one line with \n instead of line breaks. This command prints it in that form:

awk 'NF {printf "%s\\n", $0}' ~/Downloads/AuthKey_XXXX.p8
3. Unzip the texts

Unzip the downloaded file into the fastlane folder of your project:

your-project/
├── api_key.json
└── fastlane/
    └── metadata/
        ├── en-US/   (name.txt, subtitle.txt, description.txt)
        ├── de-DE/
        └── pl/

Folder names are App Store locale codes such as en-US, de-DE or pl. Keep them as they are, fastlane rejects other names.

4. Upload to App Store Connect

App Store Connect needs a version in the Prepare for Submission state. Then run, with the Bundle ID of your app:

cd ~/path/to/your-project
fastlane deliver \
  --api_key_path api_key.json \
  --app_identifier com.example.app \
  --skip_binary_upload \
  --skip_screenshots
  • For a macOS app, add --platform osx.
  • fastlane shows a preview in the browser and asks for confirmation. It only updates the texts, nothing is submitted for review.
  • To back up the current texts first, run this in an empty folder: fastlane deliver download_metadata --api_key_path api_key.json --app_identifier com.example.app
Troubleshooting: the app is not found

An error like Could not find app or team_id for nil means fastlane signed in but could not find an app with this Bundle ID. Check that:

  • the command has your real Bundle ID, not com.example.app. Copy it from App Store Connect, App Information, Bundle ID. It is case-sensitive;
  • the API key comes from the same team as the app, if you have access to several developer accounts;
  • the app already exists in App Store Connect.

The download_metadata command above is a safe test: it only downloads texts, so if it works, the Bundle ID and the key are right.

Manage App Store texts in SimpleLocalize

This tool is great for a one-off translation. To update your listing with every release, connect your app in SimpleLocalize:

  • Import the listing of every language into your project, next to your app translations.
  • Translate with your team, auto-translation and AI, within the App Store character limits.
  • Push the texts straight to App Store Connect with an API key, without fastlane.

Read the App Store integration guide or start for free.

Manage translations with SimpleLocalize

  • Import the same file formats you just converted or checked
  • Auto-translate with DeepL, Google, OpenAI, Claude or Gemini using your own API keys
  • Free plan for small projects, no credit card required
Start for free
No credit card required∙5-minute setup