ASO Fundamentals

The iOS keywords field: the 100-char rule explained

Apple gives you 100 characters of pure keyword surface — and most apps waste 30 of them on words already in the title. Here's how to extract every char of value.

Apr 26, 2026·7 min read·fundamentals

The iOS keywords field is the most misunderstood surface in App Store Optimization. Every indie dev knows it exists. Most use maybe 60 of the 100 characters Apple gives them. Almost everyone wastes 20–30 of those characters duplicating words that are already in the title or subtitle.

Here's what the field actually does, and how to extract every character of value from it.

What the field is

When you submit an iOS app, App Store Connect lets you fill in a 100-character "keywords" field, separated by commas, no spaces. Users never see it. Apple uses it to decide what queries your app should be indexable for.

The format constraints:

  • 100 characters total, including commas
  • Comma-separated, no spaces after commas (yoga,sleep,meditation)
  • Single tokens, not phrases (star map, written with a space, will be treated as two separate tokens)
  • Case-insensitive

You can also use it for variants the store wouldn't otherwise pick up: misspellings users actually type, alternate scripts (e.g. romaji versions of Japanese terms), regional spellings.

What the field is not

It is not a "include any keyword you want to rank for" field. The marketing-speak version of ASO advice acts like it is. The reality:

  • Apple already indexes your title and subtitle. Words that appear there don't need to appear here.
  • The store rejects obviously spammy use — competitor names, trademarked terms, irrelevant high-volume words. Don't put "Tinder" in your keywords if you're a meditation app.
  • Repeating a word doesn't help. The store indexes each token once.

The combinatorial mechanic

This is the thing almost nobody internalises: iOS treats title + subtitle + keywords field as one combinatorial vocabulary. The store can construct ranking-eligible phrases from any combination of tokens across the three fields.

Worked example. Suppose your metadata is:

  • Title: Posterly — Star Map
  • Subtitle: Custom posters for any room
  • Keywords: constellation,celestial,gift,anniversary,wedding,bedroom,memory,keepsake

The store can index you for:

  • star map, posterly, custom posters (from title and subtitle individually)
  • constellation, celestial, gift, etc. (from keywords field individually)
  • star map gift, constellation poster, wedding star map, custom anniversary poster, celestial keepsake ... (combinatorially)

What the store can NOT do: index star posters if "posters" doesn't appear anywhere. The combinatorial mechanic only combines tokens that exist somewhere across the three fields.

The implication: every unique token you add to the keywords field expands your combinatorial coverage by an order of magnitude. Wasting a slot on a word already in the title doesn't expand anything.

The duplication trap

Most apps do this:

  • Title: Yoga Studio — Daily Practice
  • Subtitle: Yoga, meditation, sleep
  • Keywords: yoga,meditation,studio,daily,practice,wellness,sleep,calm,zen

Count the duplicates. "Yoga" is in title, subtitle, AND keywords. "Meditation" is in subtitle and keywords. "Studio" and "daily" and "practice" and "sleep" all duplicated.

Effective unique tokens being indexed:

  • yoga, studio, daily, practice (from title)
  • meditation, sleep (from subtitle, after dedupe)
  • wellness, calm, zen (from keywords, after dedupe)

That's 9 unique tokens out of a budget that could have held closer to 18. The duplication cost you half your indexation surface.

The fix: treat the keywords field as a no-overlap zone with title and subtitle. Whatever's in those fields, don't repeat it here.

After fix:

  • Title: Yoga Studio — Daily Practice (covers yoga, studio, daily, practice)
  • Subtitle: Meditation, breath & sleep (covers meditation, breath, sleep)
  • Keywords: wellness,calm,zen,mindfulness,beginner,morning,evening,gentle,flow,vinyasa (10 new tokens)

Now you're indexable for 17 unique terms instead of 9. Same character budget. Doubled indexation.

The 100-character math

You have exactly 100 characters. Including commas. Let's count what fits.

A 6-character keyword like "yoga" plus its comma is 5 characters. A 10-character keyword like "meditation" plus its comma is 11.

Rough budgets:

  • All short keywords (5–6 chars): you fit ~16–18 keywords
  • All medium keywords (8–10 chars): you fit ~10–11 keywords
  • All long keywords (12+ chars): you fit ~6–7 keywords

The optimal mix is usually 8–12 keywords averaging 7–9 characters. Anything longer is probably better in title or subtitle anyway, where it earns its space by being prominent.

A common mistake: stuffing in 15-character compound terms like "mindfulnessdaily" (no, that's not a word, but you've seen apps do it). You're better off splitting into "mindfulness,daily" — both tokens become individually combinable.

What kinds of words deserve a slot

In rough order of ROI:

1. Niche category modifiers

Words that scope your app down to a specific intent. For a yoga app: "vinyasa", "yin", "prenatal", "morning", "beginner", "restorative". These pair combinatorially with your title's broader terms to reach long-tail queries with high intent.

2. Use-case keywords

Words describing why someone uses the app. For a poster app: "anniversary", "wedding", "gift", "keepsake", "memory". These rarely belong in the title (which is about what the app is) but expand massively what queries you index for.

3. Local-language variants

If you're targeting multiple Spanish-speaking countries with one US-Spanish localization, you can use the keywords field to include MX-specific or AR-specific terms that wouldn't fit naturally in the title.

4. Common misspellings

If users frequently mistype a key term — e.g. "meditation" vs "meditacion" — including the variant captures the search.

5. Synonyms users actually type

"Couch" vs "sofa", "chemist" vs "pharmacist", "torch" vs "flashlight". Where there's regional or generational variance in what users call your category, capture both.

What does NOT deserve a slot

  • "app" — the store knows you're an app
  • "best", "top", "free", "new" — generic modifiers, almost never in real searches
  • Your competitors' brand names — Apple will reject your submission
  • Trademarked terms you don't own
  • Any word already in title or subtitle

Localization complications

The keywords field is per-locale. Each App Store localization you ship gets its own keywords field. This is good (you can target each country's actual search behaviour) and easy to misuse (devs paste the same English keywords into every locale).

Worked example for a poster app shipping to ES, MX, and BR:

LocaleTitleKeywords field
en-USPosterly — Star Map Postersconstellation,celestial,gift,anniversary,wedding,bedroom,memory,keepsake
es-ESPosterly — Mapas Estelareslámina,constelaciones,regalo,aniversario,boda,dormitorio,recuerdo
es-MXPosterly — Mapas Estelarespóster,cuadro,constelaciones,regalo,boda,recámara,recuerdo
pt-BRPosterly — Mapas Estelaresquadro,constelações,presente,casamento,quarto,lembrança

Notice "lámina" only appears in Spain's keywords, "cuadro" in Mexico's, "quadro" in Brazil's. Same product, different keyword for the same concept depending on country. We wrote a whole post on this: ASO for Brazil: lámina vs póster vs quadro.

How to audit your current keywords field

Right now, do this:

  1. Open your iOS App Store Connect listing.
  2. Copy your current keywords field.
  3. Paste it next to your title and subtitle.
  4. For every word in the keywords field, check if it (or a substring) appears in title or subtitle. If yes, mark it for removal.
  5. Count your remaining tokens. If you're under 8, you have room to add. If you're over 14, some tokens are probably so short they're not adding value (single-letter or 2-letter tokens are usually noise).
  6. For the slots you've freed up, add 4–6 niche category modifiers or use-case keywords from your real audience's vocabulary.

Most apps gain 30–50% indexation surface from this exercise alone. It takes 30 minutes.

How ASO Pilot handles this

When you run an analysis in ASO Pilot, the iOS metadata generator enforces no-duplication automatically. The Claude model writes your title, subtitle, and keywords as a single coherent system, and a post-processing step strips any keyword token that already appears in the title or subtitle. The result is a keywords field that's always at maximum unique-token density.

The Audit tab also flags this on existing apps — if you import your current listing, one of the first findings will be "iOS title and subtitle repeat words" with a concrete suggested edit.

If you want to see this in action without paying anything, run one free analysis on an app you actually ship. You'll see exactly which words you're wasting and what to replace them with.

Keep reading