
You craft a subtitle, paste it into App Store Connect, and hit a length error. Or the keyword field “only” has ~30 Chinese characters and still overflows. The usual cause is not weak copy—it is mixing units: most fields count characters; App Store keywords count UTF-8 bytes.
The ASO character/byte counter tallies live in the browser against App Store, Google Play, and Huawei atomic-service fields that are officially documented. Over-limit values go red. Text never uploads. Deduping and merging keywords belongs in the 100-byte keyword combiner guide and /en/tools/aso-keyword-combiner—this article does not rewrite combiner logic; it answers “count correctly first.”
| Store / field | Limit | Unit |
|---|---|---|
| App Store name | 30 | characters |
| App Store subtitle | 30 | characters |
| App Store keywords | 100 | UTF-8 bytes |
| App Store promotional text | 170 | characters |
| App Store description | 4000 | characters |
| Google Play name | 30 | characters (full-width = 1) |
| Google Play short description | 80 | characters (full-width = 1) |
| Google Play full description | 4000 | characters (full-width = 1) |
| Huawei atomic service one-line intro | 17 | characters (official docs only) |
| Huawei atomic service intro | 8000 | characters (official docs only) |
App Store name/subtitle come from Connect-style App information references; keywords (100 bytes), promo text, and description from Platform version information. Play caps are from Create and set up your app—help text states full-width and half-width count the same (one CJK character = 1, not 2).
“I can still add two characters to the subtitle” and “I can still add two Chinese characters to keywords” are different budgets. The counter shows both; for keywords, trust the byte meter when it turns red.
| Approach | Outcome |
|---|---|
| Paste into Connect / Play Console until it errors | Slow; unclear whether you blew characters or bytes; painful for CJK keywords |
| Reach green in /en/tools/aso-char-count first | Higher chance of one-shot field validation; you know whether to trim subtitle characters or keyword bytes |
| Count characters only and ignore keyword bytes | Sometimes lucks out for English locales; fails often for CJK/JP/KR |
A practical indie rhythm: lock copy → all-green in the counter → run the combiner Safe plan for keywords → paste into consoles. Counting answers “over or not”; combining answers “how to cover more on the same byte budget.”
The tool only lists caps we can verify on official pages. We did not find App Store/Play-grade official character caps for Xiaomi, OPPO, or vivo, so those rows are omitted rather than inventing “rumored 30-character” limits from third-party posts. Huawei consumer app limits also appear mostly in secondary articles; we only include officially documented atomic service one-line intro (17) and intro (8000). If a console enforces something else, the console wins.
App Store subtitle is 30 characters. Common waste: repeating brand tokens already in the name; empty adjectives (“best”, “powerful”) with no category cue; estimating by visual width—Latin letters still cost 1 each, same as CJK.
Spend the subtitle on category + situation the name does not carry (brand name + “invoice scan · expense filing”). Draft to ~28–30 in the counter and keep a tiny buffer for seasonal tweaks. When keyword bytes are tight, protect subtitle clarity first, then compress long-tail synonyms in the keyword field with the combiner—different jobs, different meters.
Promotional text (170 characters) can change without a full binary review in many cases; description (4000) is heavier and more “about the product.” Do not burn promo space repeating the first paragraph of the description. Use promo for a time-bound hook, keep description for durable feature proof. Both still belong in the counter so a last-minute promo edit does not silently blow the 170 cap.
Count first, optimize second. Treat character and byte as two dashboards and CJK metadata shipping gets fewer “won’t accept paste” loops.