{
  "meta": {
    "url": "https://shotlingo.com/tools/app-store-character-limits",
    "lastVerified": "2026-06-30",
    "sources": {
      "appStore": "https://developer.apple.com/help/app-store-connect/reference/app-information",
      "googlePlay": "https://support.google.com/googleplay/android-developer/answer/9898842"
    },
    "license": "MIT",
    "attribution": "Maintained by Shotlingo (https://shotlingo.com). Linkback appreciated."
  },
  "appStore": [
    {
      "id": "apple-name",
      "platform": "apple",
      "field": "App Name",
      "limit": 30,
      "unit": "characters",
      "importance": "critical",
      "isIndexed": true,
      "tip": "Apple indexes this for search. Include your most important keyword naturally — avoid keyword stuffing (Apple may reject). Each localization can have a different name.",
      "sourceUrl": "https://developer.apple.com/help/app-store-connect/reference/app-information"
    },
    {
      "id": "apple-subtitle",
      "platform": "apple",
      "field": "Subtitle",
      "limit": 30,
      "unit": "characters",
      "importance": "critical",
      "isIndexed": true,
      "tip": "Displayed directly below the app name on product pages. Apple indexes it for search. Use it for your second-most-important keyword phrase. Distinct from the name — no repetition.",
      "sourceUrl": "https://developer.apple.com/help/app-store-connect/reference/app-information"
    },
    {
      "id": "apple-keywords",
      "platform": "apple",
      "field": "Keywords",
      "limit": 100,
      "unit": "characters",
      "importance": "critical",
      "isIndexed": true,
      "tip": "Comma-separated, 100 characters total (including commas). Never repeat words already in your name or subtitle — Apple already indexes those. No spaces after commas (saves chars). Use singular forms; Apple handles plurals.",
      "sourceUrl": "https://developer.apple.com/help/app-store-connect/reference/app-information"
    },
    {
      "id": "apple-promo-text",
      "platform": "apple",
      "field": "Promotional Text",
      "limit": 170,
      "unit": "characters",
      "importance": "high",
      "isIndexed": false,
      "tip": "Appears above the description on the product page. NOT indexed for App Store Search — use for time-sensitive messaging (sales, new features). Can be updated without a new app version.",
      "sourceUrl": "https://developer.apple.com/help/app-store-connect/reference/app-information"
    },
    {
      "id": "apple-description",
      "platform": "apple",
      "field": "Description",
      "limit": 4000,
      "unit": "characters",
      "importance": "high",
      "isIndexed": false,
      "tip": "NOT indexed for App Store Search — front-load for humans, not keywords. Only the first 3 lines appear without tapping \"more\". Use line breaks for readability. HTML not supported.",
      "sourceUrl": "https://developer.apple.com/help/app-store-connect/reference/app-information"
    },
    {
      "id": "apple-whats-new",
      "platform": "apple",
      "field": "What's New",
      "limit": 4000,
      "unit": "characters",
      "importance": "medium",
      "isIndexed": false,
      "tip": "Shown on the update screen. Keep the first line punchy — it's the preview. NOT indexed. Users read this to decide whether to update; focus on user-facing changes.",
      "sourceUrl": "https://developer.apple.com/help/app-store-connect/reference/app-information"
    },
    {
      "id": "apple-iap-name",
      "platform": "apple",
      "field": "In-App Purchase Name",
      "limit": 30,
      "unit": "characters",
      "importance": "medium",
      "isIndexed": true,
      "tip": "Visible on the App Store product page under 'In-App Purchases'. Keep it clear and benefit-focused. Apple indexes IAP names for search.",
      "sourceUrl": "https://developer.apple.com/help/app-store-connect/configure-in-app-purchase-settings/overview-for-configuring-in-app-purchases"
    },
    {
      "id": "apple-iap-description",
      "platform": "apple",
      "field": "In-App Purchase Description",
      "limit": 45,
      "unit": "characters",
      "importance": "medium",
      "isIndexed": false,
      "tip": "Short description shown on the purchase confirmation sheet. Be direct about what the user gets.",
      "sourceUrl": "https://developer.apple.com/help/app-store-connect/configure-in-app-purchase-settings/overview-for-configuring-in-app-purchases"
    },
    {
      "id": "apple-screenshot-caption",
      "platform": "apple",
      "field": "Screenshot Caption (App Preview)",
      "limit": 100,
      "unit": "characters",
      "importance": "low",
      "isIndexed": false,
      "tip": "Optional text overlay on App Preview videos. Short, punchy copy works best — viewers rarely pause to read long captions.",
      "sourceUrl": "https://developer.apple.com/app-store/app-previews/"
    },
    {
      "id": "apple-review-notes",
      "platform": "apple",
      "field": "App Review Notes",
      "limit": 4000,
      "unit": "characters",
      "importance": "high",
      "isIndexed": false,
      "tip": "Sent only to reviewers, never public. Use this to provide test credentials, explain non-obvious flows, and clarify any content that might be misread. Saves rounds of rejection.",
      "sourceUrl": "https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/submit-for-review"
    },
    {
      "id": "apple-support-url",
      "platform": "apple",
      "field": "Support URL",
      "limit": 255,
      "unit": "characters",
      "importance": "medium",
      "isIndexed": false,
      "tip": "Must be a live, working URL. Apple reviewers do visit it.",
      "sourceUrl": "https://developer.apple.com/help/app-store-connect/reference/app-information"
    },
    {
      "id": "apple-marketing-url",
      "platform": "apple",
      "field": "Marketing URL",
      "limit": 255,
      "unit": "characters",
      "importance": "low",
      "isIndexed": false,
      "tip": "Optional. If provided, must be live. Shown as a clickable link on the product page in some regions.",
      "sourceUrl": "https://developer.apple.com/help/app-store-connect/reference/app-information"
    },
    {
      "id": "apple-privacy-url",
      "platform": "apple",
      "field": "Privacy Policy URL",
      "limit": 255,
      "unit": "characters",
      "importance": "critical",
      "isIndexed": false,
      "tip": "Required for all apps that collect any user data. Apple rejects apps missing a privacy policy. URL must be live and reachable.",
      "sourceUrl": "https://developer.apple.com/help/app-store-connect/reference/app-information"
    }
  ],
  "googlePlay": [
    {
      "id": "play-title",
      "platform": "google",
      "field": "App Title",
      "limit": 30,
      "unit": "characters",
      "importance": "critical",
      "isIndexed": true,
      "tip": "Play indexes the title. Google reduced the limit from 50 to 30 characters in 2021. Include your primary keyword naturally. Each language can have a separate title.",
      "sourceUrl": "https://support.google.com/googleplay/android-developer/answer/9898842"
    },
    {
      "id": "play-short-description",
      "platform": "google",
      "field": "Short Description",
      "limit": 80,
      "unit": "characters",
      "importance": "critical",
      "isIndexed": true,
      "tip": "Indexed for Play search. Appears on search results and app cards. Front-load keywords. Users see this before expanding the full description.",
      "sourceUrl": "https://support.google.com/googleplay/android-developer/answer/9898842"
    },
    {
      "id": "play-full-description",
      "platform": "google",
      "field": "Full Description",
      "limit": 4000,
      "unit": "characters",
      "importance": "high",
      "isIndexed": true,
      "tip": "Unlike Apple, Google DOES index the full description for Play search. Use keywords naturally throughout. First 167 characters appear above the fold. HTML tags (bold, italic, lists) are supported.",
      "sourceUrl": "https://support.google.com/googleplay/android-developer/answer/9898842"
    },
    {
      "id": "play-whats-new",
      "platform": "google",
      "field": "What's New",
      "limit": 500,
      "unit": "characters",
      "importance": "medium",
      "isIndexed": false,
      "tip": "Much shorter than the App Store equivalent. Keep it concise and user-focused. Appears in the update tab.",
      "sourceUrl": "https://support.google.com/googleplay/android-developer/answer/9898842"
    },
    {
      "id": "play-iap-title",
      "platform": "google",
      "field": "In-App Product Title",
      "limit": 55,
      "unit": "characters",
      "importance": "medium",
      "isIndexed": false,
      "tip": "Title of the in-app product shown on the purchase dialog. Keep it descriptive and benefit-focused.",
      "sourceUrl": "https://developer.android.com/google/play/billing/getting-ready"
    },
    {
      "id": "play-iap-description",
      "platform": "google",
      "field": "In-App Product Description",
      "limit": 80,
      "unit": "characters",
      "importance": "low",
      "isIndexed": false,
      "tip": "Short description for the in-app product. Users see this on the purchase confirmation screen.",
      "sourceUrl": "https://developer.android.com/google/play/billing/getting-ready"
    },
    {
      "id": "play-developer-name",
      "platform": "google",
      "field": "Developer Name",
      "limit": 50,
      "unit": "characters",
      "importance": "medium",
      "isIndexed": true,
      "tip": "Shown under the app title in search results. Keep it consistent across all your apps for brand recognition. Indexed by Play.",
      "sourceUrl": "https://support.google.com/googleplay/android-developer/answer/9898842"
    }
  ]
}