Skill Tracer
Skills › Marketing Skills › aso › apple-specs.md

apple-specs.md

107 lines · skills/aso/references/apple-specs.md at 88c79f6

Open on GitHub
1# Apple App Store — Official Specs & Guidelines
2
3All data from developer.apple.com as of March 2026.
4

Apple App Store — Official Specs & Guidelines

All data from developer.apple.com as of March 2026.

Raw lines 1 to 4
5## Character Limits
6
7| Field | Limit | Indexed for Search? | Notes |
8| ----------------------- | ---------------- | ------------------------ | -------------------------------------------------------- |
9| App Name | 30 chars (min 2) | Yes | Must be unique; no trademarks, competitor names, pricing |
10| Subtitle | 30 chars | Yes | No unverifiable claims |
11| Keywords | 100 bytes | Yes (hidden) | Commas, no spaces between terms |
12| Description | 4,000 chars | **No** | Plain text only, no HTML |
13| Promotional Text | 170 chars | **No** (Apple confirmed) | Updatable without new version |
14| What's New | 4,000 chars | No | Required for all versions after first |
15| IAP Name | 35 chars | Yes | Appears in search |
16| IAP Description | 55 chars | No | |
17| In-App Event Name | 30 chars | Yes | Title case required |
18| In-App Event Short Desc | 50 chars | Yes | Sentence case |
19| In-App Event Long Desc | 120 chars | No | Sentence case |
21**Keywords field is 100 bytes, not 100 characters.** Non-Latin scripts (Arabic,
22Chinese, Japanese, Korean) use 2-3 bytes per character, reducing effective
23keyword count significantly.

Character Limits

FieldLimitIndexed for Search?Notes
App Name30 chars (min 2)YesMust be unique; no trademarks, competitor names, pricing
Subtitle30 charsYesNo unverifiable claims
Keywords100 bytesYes (hidden)Commas, no spaces between terms
Description4,000 charsNoPlain text only, no HTML
Promotional Text170 charsNo (Apple confirmed)Updatable without new version
What's New4,000 charsNoRequired for all versions after first
IAP Name35 charsYesAppears in search
IAP Description55 charsNo
In-App Event Name30 charsYesTitle case required
In-App Event Short Desc50 charsYesSentence case
In-App Event Long Desc120 charsNoSentence case

Keywords field is 100 bytes, not 100 characters. Non-Latin scripts (Arabic, Chinese, Japanese, Korean) use 2-3 bytes per character, reducing effective keyword count significantly.

Raw lines 5 to 24
25## Screenshot Specs
27| Device | Required? | Count | Dimensions (portrait) |
28| ---------------- | ------------- | ----- | -------------------------- |
29| 6.9" iPhone | **Required** | 1-10 | 1260 x 2736 |
30| 13" iPad | **Required** | 1-10 | 2064 x 2752 |
31| Mac | If applicable | 1-10 | Up to 2880 x 1800 (16:10) |
32| Apple Watch | If applicable | 1-10 | Varies by model |
33| Apple TV | If applicable | 1-10 | 1920 x 1080 or 3840 x 2160 |
34| Apple Vision Pro | If applicable | 1-10 | 3840 x 2160 |
36- Formats: JPEG, PNG
37- Apple auto-scales from required base sizes to smaller devices

Screenshot Specs

DeviceRequired?CountDimensions (portrait)
6.9" iPhoneRequired1-101260 x 2736
13" iPadRequired1-102064 x 2752
MacIf applicable1-10Up to 2880 x 1800 (16:10)
Apple WatchIf applicable1-10Varies by model
Apple TVIf applicable1-101920 x 1080 or 3840 x 2160
Apple Vision ProIf applicable1-103840 x 2160
  • Formats: JPEG, PNG
  • Apple auto-scales from required base sizes to smaller devices
Raw lines 25 to 38
39## App Preview Video Specs
41- **Count:** Up to 3 per app
42- **Duration:** 15-30 seconds
43- **Max file size:** 500 MB
44- **Codecs:** H.264 (10-12 Mbps, up to 30fps) or ProRes 422 HQ
45- **Audio:** Stereo, 256 kbps AAC or PCM, 44.1/48 kHz
46- **Formats:** .mov, .m4v, .mp4
47- **Behavior:** Autoplays muted on product page (iOS 11+)

App Preview Video Specs

  • Count: Up to 3 per app
  • Duration: 15-30 seconds
  • Max file size: 500 MB
  • Codecs: H.264 (10-12 Mbps, up to 30fps) or ProRes 422 HQ
  • Audio: Stereo, 256 kbps AAC or PCM, 44.1/48 kHz
  • Formats: .mov, .m4v, .mp4
  • Behavior: Autoplays muted on product page (iOS 11+)
Raw lines 39 to 48
49## Custom Product Pages (CPPs)
51- **Max:** 70 additional pages (plus 1 default)
52- **Customizable:** Screenshots, promotional text, app previews, deep links (iOS 18+)
53- **Keywords:** Each keyword combo must be unique to a single CPP
54- **Review:** Submitted to App Review independently of app updates
55- **Organic search:** CPPs appear in organic search results since July 2025
56- **Performance:** +2.5 percentage points for organic-search referrals vs the default page; across all CPP traffic the average lift is +5.9% for apps (see [benchmarks.md](benchmarks.md))

Custom Product Pages (CPPs)

  • Max: 70 additional pages (plus 1 default)
  • Customizable: Screenshots, promotional text, app previews, deep links (iOS 18+)
  • Keywords: Each keyword combo must be unique to a single CPP
  • Review: Submitted to App Review independently of app updates
  • Organic search: CPPs appear in organic search results since July 2025
  • Performance: +2.5 percentage points for organic-search referrals vs the default page; across all CPP traffic the average lift is +5.9% for apps (see benchmarks.md)
Raw lines 49 to 57
58## Product Page Optimization (A/B Testing)
60- **Treatments:** Up to 3 vs original
61- **Testable:** App icons, screenshots, app preview videos
62- **NOT testable:** Title, subtitle, description, keywords
63- **Concurrent tests:** 1 per app
64- **Max duration:** 90 days
65- **Icon constraint:** All icon variants must be in the published app binary
66- **Confidence:** Apple recommends 90% threshold (Bayesian method)
67- **Cannot modify** a test once started

Product Page Optimization (A/B Testing)

  • Treatments: Up to 3 vs original
  • Testable: App icons, screenshots, app preview videos
  • NOT testable: Title, subtitle, description, keywords
  • Concurrent tests: 1 per app
  • Max duration: 90 days
  • Icon constraint: All icon variants must be in the published app binary
  • Confidence: Apple recommends 90% threshold (Bayesian method)
  • Cannot modify a test once started
Raw lines 58 to 68
69## In-App Events
71- **Max approved:** 15 in App Store Connect at once
72- **Max published:** 10 on App Store simultaneously
73- **Max duration:** 31 days per event
74- **Pre-event promotion:** Up to 14 days before start
75- **Badge types:** Challenge, Competition, Live Event, Major Update, New Season, Premiere, Special Event
77**Event card image:** 16:9, min 1920x1080, max 3840x2160
78**Event details image:** 9:16, min 1080x1920, max 2160x3840
80**Not suitable:** Repetitive daily tasks, price promotions without new content, general awareness campaigns.

In-App Events

  • Max approved: 15 in App Store Connect at once
  • Max published: 10 on App Store simultaneously
  • Max duration: 31 days per event
  • Pre-event promotion: Up to 14 days before start
  • Badge types: Challenge, Competition, Live Event, Major Update, New Season, Premiere, Special Event

Event card image: 16:9, min 1920x1080, max 3840x2160 Event details image: 9:16, min 1080x1920, max 2160x3840

Not suitable: Repetitive daily tasks, price promotions without new content, general awareness campaigns.

Raw lines 69 to 81
82## Ratings & Reviews
84- **SKStoreReviewController:** Max 3 prompts per 365-day period
85- System controls display frequency (may show fewer than 3)
86- Do not use custom buttons to request reviews
87- Developers can respond to all reviews in App Store Connect
88- Summary rating is territory-specific

Ratings & Reviews

  • SKStoreReviewController: Max 3 prompts per 365-day period
  • System controls display frequency (may show fewer than 3)
  • Do not use custom buttons to request reviews
  • Developers can respond to all reviews in App Store Connect
  • Summary rating is territory-specific
Raw lines 82 to 89
90## Metadata Rejection Triggers (App Review Guidelines)
92| Guideline | Rejection Trigger |
93| --------- | ------------------------------------------------------------------------- |
94| 2.3.1 | Hidden features, misleading marketing, false pricing |
95| 2.3.2 | Not disclosing IAPs in description/screenshots |
96| 2.3.3 | Screenshots that don't show app in use (only splash/login) |
97| 2.3.4 | Preview videos using non-app content |
98| 2.3.5 | Wrong category selected |
99| 2.3.7 | Keyword stuffing: trademarks, competitor names, pricing, irrelevant terms |
100| 2.3.8 | Metadata not appropriate for all audiences (must be 4+ rated) |
101| 2.3.10 | Other platform names/imagery (Android, etc.) in metadata |
102| 2.3.12 | Generic What's New for significant changes |
103| 2.3.13 | Inaccurate in-app event metadata |
105Sources: developer.apple.com/app-store/product-page/,
106developer.apple.com/app-store/search/,
107developer.apple.com/app-store/review/guidelines/

Metadata Rejection Triggers (App Review Guidelines)

GuidelineRejection Trigger
2.3.1Hidden features, misleading marketing, false pricing
2.3.2Not disclosing IAPs in description/screenshots
2.3.3Screenshots that don't show app in use (only splash/login)
2.3.4Preview videos using non-app content
2.3.5Wrong category selected
2.3.7Keyword stuffing: trademarks, competitor names, pricing, irrelevant terms
2.3.8Metadata not appropriate for all audiences (must be 4+ rated)
2.3.10Other platform names/imagery (Android, etc.) in metadata
2.3.12Generic What's New for significant changes
2.3.13Inaccurate in-app event metadata

Sources: developer.apple.com/app-store/product-page/, developer.apple.com/app-store/search/, developer.apple.com/app-store/review/guidelines/

Raw lines 90 to 107