Skip to content

How to translate your App Store description: tools compared

· 13 min read

To translate App Store description copy well, give a large language model (Claude, ChatGPT or Gemini) a short brief about your app, translate one language at a time, check every result against the 4,000-character limit with a tool rather than trusting the model's count, and have a native speaker read the first few lines in your biggest markets. Through the APIs, a full 4,000-character description into 50 languages costs between about $0.07 and $3 at October 2026 prices. A human translator charges something like $65 to $195 per language for the same text. Apple's free on-device Translation framework, Google Translate and DeepL are fine for drafts, but they translate sentences. They don't write marketing copy, and they don't know about your character limit.

Below are the options an indie developer actually has, what each costs for one full listing, and the workflow we use.

Is it worth translating the App Store description at all?

Yes, but it isn't the first field to do. Apple's search guidance says search results use "text relevance (matches for your app's title, subtitle, keywords, and primary category)" plus user behaviour. The description isn't in that list. What it does is convert: it's the text people read when they've already landed on your page and want to know whether the app does what they need.

Two Apple rules shape how you translate it:

  • The first sentence carries the weight. Apple's product page guide says "the first sentence of your description is the most important", because it's what people see before tapping "more". Spend your review time there.
  • It only changes with a new version. The same guide says you update the description "when you submit a new version of your app". A clumsy German opening stays live until your next release, so batch your fixes.

The field holds 4,000 characters of plain text, no HTML, per the App Store Connect reference. Every locale gets its own copy. If you haven't picked your languages yet, start with which languages to localize your app into.

The options, and what one full listing costs

We price everything for the same job: one English description of about 4,000 characters (roughly 650 words), translated into 10 languages and into all 50 App Store Connect languages. All prices were checked on October 28, 2026 and will change.

Apple's Translation framework (free, on-device)

Apple's Translation framework lets apps translate text with Apple's own models, free. The TranslationSession API arrived in iOS 18 and macOS 15, and Apple's documentation says "all translations using the TranslationSession class are processed on the user's device". Apple may collect usage metrics, but not the text. Since iOS and macOS 26.4 an app can also ask for a highFidelity strategy that uses Apple Intelligence where the device supports it.

Its limits matter for App Store work:

  • Language coverage. On macOS 27, LanguageAvailability().supportedLanguages returns 21 languages, the same list as the Translate app's App Store page: Arabic, Chinese (Simplified and Traditional), Dutch, English (US and UK), French, German, Hindi, Indonesian, Italian, Japanese, Korean, Polish, Portuguese (Brazil), Russian, Spanish (Spain), Thai, Turkish, Ukrainian and Vietnamese. Of the 50 App Store Connect locales, 24 have no Apple model at all, including Swedish, Danish, Norwegian, Finnish, Czech, Hebrew, Greek, Romanian, Malay and every Indian language except Hindi. Mexican Spanish, Canadian French and European Portuguese only get the Spain, France and Brazil varieties. Older OS versions have fewer; Hindi is new in iOS 27.
  • No instructions. A session takes text and returns text. There's no context, no glossary, no tone or formality setting and no length target.
  • No length control. If the translation comes out longer than 4,000 characters, the framework can't shorten it.

It's a good free first draft for the big languages, especially if your description is plain and factual.

Google Translate and Google Cloud Translation

The Google Translate website is free. It also sends your text to Google, translates without context, and leaves you pasting 50 times. The Cloud Translation API gives the first 500,000 characters a month free (as a $10 monthly credit), then charges $20 per million characters for the standard model. Fifty languages of a 4,000-character description is 200,000 characters, so the whole listing fits in the free allowance. Google's LLM-based "Translation LLM" model costs $10 per million input characters plus $10 per million output characters, so about $4 for the same job. Glossaries are supported and their creation isn't charged.

DeepL

DeepL's translations are fluent, and its API has the controls Google Translate's website lacks. The translate endpoint takes a context parameter whose characters "will not be counted toward billing", a formality setting, glossaries, style rules and up to 10 custom_instructions of 300 characters each.

On DeepL's German price list the API now has a free Developer plan with a 1,000,000-character allowance and a Growth plan at €29.75 a month (€23.80 a month billed yearly) that includes 1,000,000 characters, then €22 per extra million. Our 200,000-character job fits inside either. DeepL says that as of 2026 its translator supports more than 100 languages, up from 36 when it added Vietnamese, Thai and Hebrew in 2025, so check its language list against your locales before you commit.

What DeepL won't do is rewrite. It translates your English closely and has no idea that the result must fit 4,000 characters.

LLMs in a chat window

Pasting your description into ChatGPT, Claude or Gemini works for three or four languages, and costs nothing beyond the plan you already have. It breaks down at scale: you re-paste the brief, the conversation drifts, and copying 50 results into App Store Connect by hand is where mistakes happen. Check your chat app's privacy settings too. Whether conversations are used for training depends on the product and your settings.

LLMs through the API

This is where the token arithmetic comes in. Google's token documentation puts a token at "about 4 characters", so a 4,000-character English description is around 1,000 tokens. Anthropic's pricing page notes that its newer tokenizer produces about 30% more tokens for the same text, and translations into Japanese, Hindi or Thai usually take more tokens per character than English. So we padded the estimate: 2,000 input tokens (the description plus a brief and instructions) and 2,500 output tokens per language. That's a deliberate overestimate, not a measurement.

Prices from the Anthropic, OpenAI and Gemini pricing pages, standard (non-batch) rates, as of October 28, 2026:

Model Input / output per 1M tokens 10 languages 50 languages
Claude Haiku 5.5 $0.10 / $0.50 $0.01 $0.07
GPT-6 Luna $0.10 / $0.50 $0.01 $0.07
Gemini 3.5 Flash-Lite $0.30 / $2.50 $0.07 $0.34
Gemini 3.8 Flash $0.75 / $3.75 (rises to $1.50 / $7.50 after Dec 31, 2026) $0.11 $0.54
GPT-6.1 Terra $1 / $5 $0.15 $0.73
Claude Sonnet 5.5 $2 / $10 $0.29 $1.45
GPT-6.1 Sol $2 / $10 $0.29 $1.45
Claude Opus 5.5 $4 / $20 $0.58 $2.90

Reasoning or "thinking" tokens are billed as output (Google's page says so explicitly), so keep reasoning low for translation. If every language needs a second call to shorten an over-long result, double the figures. Both Anthropic and OpenAI halve prices for batch jobs if you can wait.

The conclusion is that cost doesn't decide anything here. Even the top model costs less than a coffee for 50 languages, so pick on quality and spend the money on review.

On privacy, OpenAI's enterprise privacy page says API data isn't used for training unless you opt in, and Anthropic says it doesn't use inputs or outputs from its commercial products by default. Google's Gemini pricing page marks free-tier usage as used to improve its products and paid-tier usage as not. For a description that will be public anyway, this matters mostly before launch.

Human translators and agencies

For the same 650 words, translation vendor Tomedes' 2026 rate guide puts standard human translation at $0.10 to $0.30 per word, which is about $65 to $195 per language: $650 to $1,950 for 10 languages and $3,250 to $9,750 for 50. Machine translation with human review runs $0.03 to $0.15 per word in the same guide. These are a vendor's ranges, not a survey, and rates vary a lot by language pair. A good translator who gets a brief will produce the best copy of any option. A translator who gets a bare text file will produce a good translation of your English, which isn't the same thing.

DeepL vs ChatGPT vs Apple Translation: the comparison table

Option Cost for 50 languages Quality for marketing copy Respects the 4,000 limit? Keeps brand terms? Privacy
Apple Translation framework Free Literal, readable; 26 of 50 locales No No glossary or instructions On-device
Google Translate (web) Free Literal No No Sent to Google
Google Cloud Translation API Free within 500,000 chars/month Literal No Glossaries Sent to Google
DeepL API Free Developer plan, or €29.75/month Growth Fluent, close to the source No Glossaries, context, instructions Sent to DeepL
LLM in a chat app Your existing plan Good with a brief Only if told, and it miscounts If told Depends on app settings
LLM via API About $0.07 to $2.90 Good to very good with a brief If told, plus your own check If told Not used for training by default (OpenAI, Anthropic, paid Gemini)
Human translator About $3,250 to $9,750 Best, if briefed Yes, if you say so Yes Contract or NDA
Machine + native review Machine cost plus about $0.03 to $0.15/word Close to human where reviewed Yes, after review Yes Mixed

Our pick for most indie apps is the hybrid: an LLM with a proper brief for all languages, then a native speaker on the three to five markets that bring in most of your downloads.

How to translate App Store description copy, step by step

1. Fix the English first

Every flaw in the source multiplies by the number of languages. Cut idioms that only work in English ("a no-brainer", "crush your goals"), remove prices (Apple's product page guide asks you to, because they "may not be accurate in all regions"), and make the first sentence say what the app does. If your English is 3,950 characters, trim it to around 3,500. German, French and Finnish usually come out longer, and App Store Connect won't save a field over its limit.

2. Write a translation brief

This is the step that separates an LLM translation from a Google Translate one. Keep it to a few lines:

  • What the app does, in one sentence.
  • Who it's for (age, expertise, the situation they're in).
  • Tone: playful, calm, technical.
  • How to address the reader per language. German and French copy has to choose between du/Sie and tu/vous; pick one and keep it consistent with your app's UI.
  • Terms that never change: the app name, feature names, product names, trademarks.
  • Terms with a fixed translation, if your app's UI already uses one ("Budgets" is "Budgets" in your German UI, so it can't become "Haushaltspläne" in the listing).

An example of why it matters. "Track every expense in two taps." (32 characters) rendered literally in German is "Verfolgen Sie jede Ausgabe mit zwei Fingertipps." (48 characters). "Verfolgen" means to follow or pursue, the formal "Sie" may clash with an app that says "du", and it's 50% longer. "Erfasse jede Ausgabe mit zwei Taps." (35 characters) is what a German copywriter would write. A model only gets there if the brief tells it the app is a casual expense tracker that uses "du".

3. Translate keywords separately, and don't translate them at all

Keywords are search terms, not copy, and a translated keyword list is a list of words a translator would choose, not what people type. Research them per locale, after the name and subtitle, and keep them out of the description request. The details are in our guide to App Store keyword localization.

4. Translate one language per request, with a prompt like this

One language per request keeps each model call focused, makes failures easy to retry, and lets you add a variant note (Brazilian vs European Portuguese, Mexican vs Castilian Spanish) per language. Here's a system prompt you can adapt, written for a made-up expense tracker; the description goes in the user message on its own.

You are an App Store copywriter and a native speaker of German (de-DE).
You localize App Store product page text from English (en-US).
Write natural, persuasive copy that reads as if it were written for
German speakers from the start. Adapt idioms and examples rather than
translating word for word, but keep every feature and factual claim accurate.

About the app:
- Tallyleaf is a simple expense tracker for people who don't like budgeting apps.
- Audience: adults 25-45 managing personal or household money.
- Tone: friendly, plain, a little dry. No hype.
- Address the reader with "du".

Rules:
- Field: App Store description. Hard limit 4,000 characters including
  spaces and line breaks; aim for 3,600 or fewer.
- The first two lines are shown before "more". Make them say what the
  app does and why it's worth it.
- Keep the structure: line breaks, headings, bullets and emoji stay put.
- Never translate: Tallyleaf, iCloud, Apple Watch, Tallyleaf Plus.
- Use these UI terms exactly: "Budgets" -> "Budgets", "Recurring" -> "Wiederkehrend".
- Use German conventions for numbers, dates, quotation marks and currency.
- Output only the translated description. No notes, no quotes around it.

Asking for 90% of the limit leaves room for the model's miscounts. Models are bad at counting characters, so the limit in the prompt is a target, not a guarantee.

5. Check the results with a tool, not with the model

Run three mechanical checks on every language before anything goes near App Store Connect:

  • Length. Count characters with code (text.count in Swift, len() in Python) and flag anything over 4,000. Ask the model to shorten the over-long ones, with the same brief, rather than cutting the last paragraph yourself. Our App Store character limits post has every field's limit.
  • Protected terms. Search each output for every do-not-translate term. A missing "Tallyleaf" or a translated "Apple Watch" is easy to catch this way and easy to miss by eye in Thai.
  • Structure. Same number of bullet points and blank lines as the source. A model that merged two sections has usually dropped a sentence.

This is the part we automated when we built Loci: its prompts include the field's limit and your app context, it re-asks the model to shorten anything over the limit, and its Review & Push sheet flags over-limit fields before upload.

6. Get a native speaker to read your top markets

You don't need a full review in 50 languages. Ask a native speaker in each of your biggest markets to read the first three lines and skim the rest, with two questions: does anything sound translated, and is anything wrong? Fifteen minutes per language usually catches the wrong formality, a feature name that doesn't match the app, or a joke that didn't survive. Customers who've emailed you in their language, and translators paid by the hour, both work. Fold their fixes into your brief so the next release starts better.

7. Ship it with the next version

Because the description only changes with a new version, put the translated text in App Store Connect while the version is in "Prepare for Submission", not after it's in review. If you're adding many languages at once, enter or upload them through the App Store Connect API rather than clicking through 50 locale pages. Loci is our Mac app that does steps 4 to 7 for every metadata field, using Apple's free on-device Translation framework or your own Claude, OpenAI or Gemini key.

Which tool should you use?

  • Pre-launch, no budget, big languages only: Apple Translation or the DeepL Developer plan for a draft, then fix the first lines by hand or with a fluent friend.
  • A real app with users in several markets: an LLM through the API with a written brief, the checks above, and native review on your top three to five markets.
  • One market that matters a lot (a Japanese or German launch you're putting money behind): a human translator or copywriter, briefed with the same notes you'd give a model.
  • Everything else in the long tail: the LLM output, unreviewed, is usually better than leaving those storefronts in English. If a user complains about a line, fix it in the next release.

For the bigger picture, including which fields to localize first and how storefronts pick a localization, see the App Store localization guide.

FAQ

Can I use Google Translate for my App Store description?

You can, and it's free, but it translates sentence by sentence with no idea what your app is, who it's for or how long the result may be. Use it for a rough first draft in languages you can't otherwise cover, and get the opening lines checked by someone who speaks the language.

How much does it cost to translate an App Store description with the ChatGPT, Claude or Gemini API?

Cents. At published API prices on October 28, 2026, a 4,000-character description into 50 languages costs from about $0.07 on the cheapest models to about $2.90 on Claude Opus 5.5, assuming 2,000 input and 2,500 output tokens per language.

Does the App Store description affect search ranking?

Apple's search guidance names your app's title, subtitle, keywords and primary category as the text that search matches against. The description isn't on that list, so translate it for the people reading your product page, not for ranking.

Is DeepL better than ChatGPT for App Store descriptions?

DeepL produces fluent translations and has glossaries, a formality setting and a context field, but it doesn't rewrite copy for a market or respect a character limit. An LLM given a proper brief does both, so for marketing copy we'd pick an LLM and use DeepL where you need predictable, literal output.

Should I translate the description before the keywords?

No. Do the app name, subtitle and keywords first, because those are what search uses, and research keywords per language instead of translating them. The description comes after the first screenshots.