All six App Store Connect localization fields compared
In Searchbop’s validator ([`packages/core/src/aso/rules.ts`](file:///Users/tarik/Desktop/TengrX-SEO/packages/core/src/aso/rules.ts)), every draft is checked against the exact measurement unit Apple’s API enforces:
| Field (`AsoListingFields`) | Max Limit | Measurement Unit in Code | Editable Without New App Version? |
|---|---|---|---|
Title (title) |
30 | Unicode code points ([...value].length) |
No — requires an editable version (`PREPARE_FOR_SUBMISSION`) |
Subtitle (subtitle) |
30 | Unicode code points ([...value].length) |
No — requires an editable version (`PREPARE_FOR_SUBMISSION`) |
Keywords (keywords) |
100 | UTF-8 Bytes (new TextEncoder().encode(value).length) |
No — requires an editable version (`PREPARE_FOR_SUBMISSION`) |
Promotional Text (promotionalText) |
170 | Unicode code points ([...value].length) |
Yes — can be updated on a live version at any time |
Description (description) |
4,000 | Unicode code points ([...value].length) |
No — locked once version is `READY_FOR_SALE` |
What’s New (whatsNew) |
4,000 | Unicode code points ([...value].length) |
Editable on version updates (`1.0.1`+); skipped on initial `1.0` release |
Why standard LLM prompts overflow your Keyword field in non-English locales
When you ask a generic chatbot to “generate 100 characters of German, Turkish, or Japanese App Store keywords,” the model counts characters. Here is what happens when UTF-8 encoding hits App Store Connect:
- ASCII Latin (`a–z`, `0–9`, `,`):
1 byteper character. A 100-character English keyword list is exactly 100 bytes. - Turkish, German, French, Spanish, Polish & Arabic/Cyrillic accented characters (`ğ, ü, ş, ı, ö, ç, ä, ß, é, ñ`):
2 bytesper character. A 95-character Turkish keyword string containing ten accented letters is actually 105 UTF-8 bytes—and App Store Connect will reject the `PATCH` request. - CJK characters (Japanese Kanji/Kana, Korean Hangul, Chinese Hanzi):
3 bytesper character. In Japanese or Korean, 100 UTF-8 bytes holds only ~30 characters plus commas.
Searchbop’s [`fieldLength()`](file:///Users/tarik/Desktop/TengrX-SEO/packages/core/src/aso/rules.ts#L23) function measures `keywords` strictly in UTF-8 bytes and passes that exact constraint to your AI model when drafting localized listings—even automatically trimming trailing keywords if an AI model slightly overshoots the 100-byte ceiling.
03 / DIACRITIC FOLDING & OVERLAPCatching hidden duplicates like “Kur’an”, “Kuran”, and Title repeats
To a human or a search engine, variations that differ only by an apostrophe or diacritic (for example, Kur'an, Kur’an, and Kuran, or café and cafe) represent the same root word. Searchbop normalizes words using Unicode `NFKD` decomposition (`s.normalize("NFKD").replace(/\p{M}/gu, "").replace(/ı/g, "i").replace(/['’]/g, "").toLowerCase()`) before running three automatic checks:
Check 1 — Comma Space Waste:
if (/,\s/.test(fields.keywords))
warn("Remove spaces after commas. They use up the 100 bytes.");
Check 2 — Internal Keyword Field Repetition:
Counts every normalized word across your comma-separated keywords.
If "tracker" appears in "habit tracker,water tracker", warns:
"Repeated words waste space: tracker."
Check 3 — Title & Subtitle Overlap:
Compares every word in `keywords` against the words already present in `title` + `subtitle`.
If overlap exists, warns:
"Already in the title or subtitle: [words]."
Why you should never put “#1”, “Best”, “Free”, or “Discount” in your Title or Subtitle
Under Apple’s App Store Review Guidelines (Section 2.3.7), app titles and subtitles must not include unverifiable ranking claims or pricing/promotional terms that can become inaccurate. Searchbop scans both `title` and `subtitle` against common rejection triggers (`#1`, `No. 1`, `best`, `top rated`, `free`, `discount`, plus localized equivalents like `en iyi`, `ücretsiz`, `birinci`) and flags a warning before you push your draft to App Store Connect.
Honest boundaries & official sources
Live validation before API push: Searchbop runs `listingIssues()` and `keywordCoverage()` locally in your browser and desktop app in real time as you type or generate AI drafts. Reference: Apple App Store Product Page Guidelines.
Research context & search queries covered on this page Metadata Rules · P1
Cluster & intent: app-store-metadata-limits (Informational · P1) · Target queries: app store keyword field, app store connect keyword field, app store title and subtitle character limit, app store subtitle character limit, app store connect keywords 100 bytes.