Platform Requirements Reference
Technical specifications and metadata requirements for Apple App Store and Google Play Store.
Table of Contents
Apple App Store Requirements
Metadata Character Limits
| Field |
Character Limit |
Notes |
| App Name (Title) |
30 characters |
Visible in search results |
| Subtitle |
30 characters |
iOS 11+ only, appears below title |
| Promotional Text |
170 characters |
Editable without app update |
| Description |
4,000 characters |
Not indexed for search |
| Keywords Field |
100 characters |
Comma-separated, no spaces after commas |
| What's New |
4,000 characters |
Release notes for updates |
| Developer Name |
255 characters |
Company or individual name |
| Support URL |
Required |
Must be valid HTTPS URL |
| Privacy Policy URL |
Required |
Must be valid HTTPS URL |
Keyword Field Optimization Rules
- No duplicates - Words in title are already indexed
- No plurals - Apple indexes both singular and plural forms
- No spaces after commas - Wastes character space
- No brand names - Violates App Store guidelines
- No category names - Already indexed via category selection
Example - Efficient keyword field:
task,todo,checklist,reminder,productivity,organize,schedule,planner,goals,habit
Example - Inefficient keyword field (avoid):
task manager, todo list, productivity app, task tracking
App Store Connect Metadata Fields
| Category |
Field |
Required |
| App Information |
Name |
Yes |
|
Subtitle |
No |
|
Category |
Yes |
|
Secondary Category |
No |
|
Content Rights |
Yes |
|
Age Rating |
Yes |
| Version Information |
Description |
Yes |
|
Keywords |
Yes |
|
Promotional Text |
No |
|
What's New |
Yes (for updates) |
|
Support URL |
Yes |
|
Marketing URL |
No |
| Pricing |
Price Tier |
Yes |
|
Availability |
Yes |
Age Rating Content Descriptors
| Content Type |
None |
Infrequent |
Frequent |
| Cartoon Violence |
4+ |
9+ |
12+ |
| Realistic Violence |
9+ |
12+ |
17+ |
| Sexual Content |
12+ |
17+ |
17+ |
| Profanity |
4+ |
12+ |
17+ |
| Alcohol/Drug Reference |
12+ |
17+ |
17+ |
| Gambling |
12+ |
17+ |
17+ |
| Horror/Fear |
9+ |
12+ |
17+ |
Google Play Store Requirements
Metadata Character Limits
| Field |
Character Limit |
Notes |
| App Title |
50 characters |
Increased from 30 in 2021 |
| Short Description |
80 characters |
Visible on store listing |
| Full Description |
4,000 characters |
Indexed for search keywords |
| Developer Name |
64 characters |
Organization or individual |
| Developer Email |
Required |
Public support contact |
| Privacy Policy URL |
Required |
Must be valid HTTPS URL |
Description Keyword Strategy
Google Play has no separate keyword field. Keywords are extracted from:
- App Title - Highest weight, most important
- Short Description - High weight, visible in search
- Full Description - Medium weight, use naturally throughout
- Developer Name - Low weight but indexed
Keyword Density Guidelines:
- Primary keyword: 2-3% density in full description
- Secondary keywords: 1-2% each
- Avoid keyword stuffing (>5% triggers spam detection)
Google Play Console Metadata
| Category |
Field |
Required |
| Store Listing |
Title |
Yes |
|
Short Description |
Yes |
|
Full Description |
Yes |
|
App Icon |
Yes |
|
Feature Graphic |
Yes |
|
Screenshots |
Yes (min 2) |
|
Video |
No |
| Store Settings |
App Category |
Yes |
|
Tags |
No |
|
Contact Email |
Yes |
|
Privacy Policy |
Yes |
| Content Rating |
IARC Questionnaire |
Yes |
Content Rating (IARC)
| Rating |
Age |
Description |
| PEGI 3 / Everyone |
3+ |
Suitable for all ages |
| PEGI 7 / Everyone 10+ |
7+ |
Mild violence, comic mischief |
| PEGI 12 / Teen |
12+ |
Moderate violence, mild language |
| PEGI 16 / Mature 17+ |
16+ |
Intense violence, strong language |
| PEGI 18 / Adults Only |
18+ |
Extreme content |
Visual Asset Specifications
App Icon Requirements
Apple App Store:
| Device |
Size |
Format |
| iPhone |
1024x1024 px |
PNG, no alpha |
| iPad |
1024x1024 px |
PNG, no alpha |
| App Store |
1024x1024 px |
PNG, no alpha |
| Spotlight |
120x120 px |
PNG |
| Settings |
87x87 px |
PNG |
Google Play Store:
| Asset |
Size |
Format |
| App Icon |
512x512 px |
PNG, 32-bit |
| Feature Graphic |
1024x500 px |
PNG or JPG |
| Promo Graphic |
180x120 px |
PNG or JPG |
| TV Banner |
1280x720 px |
PNG or JPG |
Screenshot Requirements
Apple App Store:
| Device |
Portrait |
Landscape |
| iPhone 6.9" |
1320x2868 px |
2868x1320 px |
| iPhone 6.5" |
1290x2796 px |
2796x1290 px |
| iPhone 5.5" |
1242x2208 px |
2208x1242 px |
| iPad Pro 12.9" |
2048x2732 px |
2732x2048 px |
| iPad 10.5" |
1668x2224 px |
2224x1668 px |
- Minimum: 2 screenshots per device
- Maximum: 10 screenshots per device
- Format: PNG or JPG, no alpha channel
- First 3 screenshots are critical (most users don't scroll)
Google Play Store:
| Device |
Dimensions |
Notes |
| Phone |
320-3840 px |
Min 2:1 aspect ratio |
| 7" Tablet |
320-3840 px |
Min 2:1 aspect ratio |
| 10" Tablet |
320-3840 px |
Min 2:1 aspect ratio |
| Chromebook |
320-3840 px |
Optional |
| TV |
320-3840 px |
For TV apps only |
- Minimum: 2 screenshots
- Maximum: 8 screenshots
- Format: PNG or JPG
- No transparency or borders
App Preview Video
Apple App Store:
- Duration: 15-30 seconds
- Resolution: Match device screenshot size
- Format: M4V, MP4, MOV
- Frame rate: 30 fps
- Audio: Optional but recommended
Google Play Store:
- YouTube video link only
- No duration limit (recommend under 2 minutes)
- Landscape orientation preferred
- Must not contain age-restricted content
Localization Requirements
Priority Markets by Revenue
| Rank |
Market |
Language Code |
| 1 |
United States |
en-US |
| 2 |
Japan |
ja |
| 3 |
United Kingdom |
en-GB |
| 4 |
Germany |
de-DE |
| 5 |
China |
zh-Hans (iOS), zh-CN (Android) |
| 6 |
South Korea |
ko |
| 7 |
France |
fr-FR |
| 8 |
Canada |
en-CA, fr-CA |
| 9 |
Australia |
en-AU |
| 10 |
Russia |
ru |
Apple App Store Localization
Supported localizations: 40+ languages
| Language |
Locale Code |
| English (US) |
en-US |
| English (UK) |
en-GB |
| Spanish |
es-ES |
| Spanish (Mexico) |
es-MX |
| French |
fr-FR |
| German |
de-DE |
| Japanese |
ja |
| Korean |
ko |
| Simplified Chinese |
zh-Hans |
| Traditional Chinese |
zh-Hant |
Google Play Store Localization
Supported localizations: 75+ languages
Each locale requires:
- Title (50 chars)
- Short description (80 chars)
- Full description (4,000 chars)
- Screenshots (can reuse or localize)
Compliance Guidelines
Apple App Store Review Guidelines Summary
| Category |
Key Requirements |
| Safety |
No objectionable content, privacy protection |
| Performance |
App must work as described, no crashes |
| Business |
Accurate app description, clear pricing |
| Design |
Follow Human Interface Guidelines |
| Legal |
Comply with local laws, proper licensing |
Common Rejection Reasons:
- Bugs and crashes (50%+ of rejections)
- Broken links or placeholder content
- Misleading app descriptions
- Privacy policy missing or incomplete
- In-app purchase issues
Google Play Developer Policies
| Policy Area |
Requirements |
| Restricted Content |
No hate speech, violence, gambling (without license) |
| Privacy |
Data collection disclosure, privacy policy |
| Monetization |
Clear pricing, compliant IAPs |
| Ads |
No deceptive ads, proper disclosure |
| Store Listing |
Accurate description, no keyword stuffing |
Common Suspension Reasons:
- Policy violation (content, ads, permissions)
- Repetitive content (clone apps)
- Impersonation (fake apps)
- Intellectual property infringement
- Malicious behavior
Privacy Requirements
Apple (App Tracking Transparency):
- ATT prompt required for tracking
- Privacy nutrition labels mandatory
- Data collection disclosure required
Google (Data Safety):
- Data safety section mandatory
- Data collection and sharing disclosure
- Security practices declaration
Quick Reference Card
Apple vs Google Comparison
| Attribute |
Apple App Store |
Google Play Store |
| Title Length |
30 chars |
50 chars |
| Subtitle |
30 chars |
N/A |
| Short Description |
N/A |
80 chars |
| Full Description |
4,000 chars |
4,000 chars |
| Keywords Field |
100 chars |
N/A (in description) |
| Promotional Text |
170 chars |
N/A |
| Icon Size |
1024x1024 px |
512x512 px |
| Min Screenshots |
2 |
2 |
| Max Screenshots |
10 |
8 |
| Review Time |
24-48 hours |
1-7 days |
| Metadata Update |
Requires review |
1-2 hours to index |
1---2name: platform-requirements-reference3description: Technical specifications and metadata requirements for Apple App Store and Google Play Store.4---5# Platform Requirements Reference67Technical specifications and metadata requirements for Apple App Store and Google Play Store.89---1011## Table of Contents1213- [Apple App Store Requirements](#apple-app-store-requirements)14- [Google Play Store Requirements](#google-play-store-requirements)15- [Visual Asset Specifications](#visual-asset-specifications)16- [Localization Requirements](#localization-requirements)17- [Compliance Guidelines](#compliance-guidelines)1819---2021## Apple App Store Requirements2223### Metadata Character Limits2425| Field | Character Limit | Notes |26|-------|----------------|-------|27| App Name (Title) | 30 characters | Visible in search results |28| Subtitle | 30 characters | iOS 11+ only, appears below title |29| Promotional Text | 170 characters | Editable without app update |30| Description | 4,000 characters | Not indexed for search |31| Keywords Field | 100 characters | Comma-separated, no spaces after commas |32| What's New | 4,000 characters | Release notes for updates |33| Developer Name | 255 characters | Company or individual name |34| Support URL | Required | Must be valid HTTPS URL |35| Privacy Policy URL | Required | Must be valid HTTPS URL |3637### Keyword Field Optimization Rules38391. **No duplicates** - Words in title are already indexed402. **No plurals** - Apple indexes both singular and plural forms413. **No spaces after commas** - Wastes character space424. **No brand names** - Violates App Store guidelines435. **No category names** - Already indexed via category selection4445**Example - Efficient keyword field:**46```47task,todo,checklist,reminder,productivity,organize,schedule,planner,goals,habit48```4950**Example - Inefficient keyword field (avoid):**51```52task manager, todo list, productivity app, task tracking53```5455### App Store Connect Metadata Fields5657| Category | Field | Required |58|----------|-------|----------|59| **App Information** | Name | Yes |60| | Subtitle | No |61| | Category | Yes |62| | Secondary Category | No |63| | Content Rights | Yes |64| | Age Rating | Yes |65| **Version Information** | Description | Yes |66| | Keywords | Yes |67| | Promotional Text | No |68| | What's New | Yes (for updates) |69| | Support URL | Yes |70| | Marketing URL | No |71| **Pricing** | Price Tier | Yes |72| | Availability | Yes |7374### Age Rating Content Descriptors7576| Content Type | None | Infrequent | Frequent |77|--------------|------|------------|----------|78| Cartoon Violence | 4+ | 9+ | 12+ |79| Realistic Violence | 9+ | 12+ | 17+ |80| Sexual Content | 12+ | 17+ | 17+ |81| Profanity | 4+ | 12+ | 17+ |82| Alcohol/Drug Reference | 12+ | 17+ | 17+ |83| Gambling | 12+ | 17+ | 17+ |84| Horror/Fear | 9+ | 12+ | 17+ |8586---8788## Google Play Store Requirements8990### Metadata Character Limits9192| Field | Character Limit | Notes |93|-------|----------------|-------|94| App Title | 50 characters | Increased from 30 in 2021 |95| Short Description | 80 characters | Visible on store listing |96| Full Description | 4,000 characters | Indexed for search keywords |97| Developer Name | 64 characters | Organization or individual |98| Developer Email | Required | Public support contact |99| Privacy Policy URL | Required | Must be valid HTTPS URL |100101### Description Keyword Strategy102103Google Play has no separate keyword field. Keywords are extracted from:1041051. **App Title** - Highest weight, most important1062. **Short Description** - High weight, visible in search1073. **Full Description** - Medium weight, use naturally throughout1084. **Developer Name** - Low weight but indexed109110**Keyword Density Guidelines:**111- Primary keyword: 2-3% density in full description112- Secondary keywords: 1-2% each113- Avoid keyword stuffing (>5% triggers spam detection)114115### Google Play Console Metadata116117| Category | Field | Required |118|----------|-------|----------|119| **Store Listing** | Title | Yes |120| | Short Description | Yes |121| | Full Description | Yes |122| | App Icon | Yes |123| | Feature Graphic | Yes |124| | Screenshots | Yes (min 2) |125| | Video | No |126| **Store Settings** | App Category | Yes |127| | Tags | No |128| | Contact Email | Yes |129| | Privacy Policy | Yes |130| **Content Rating** | IARC Questionnaire | Yes |131132### Content Rating (IARC)133134| Rating | Age | Description |135|--------|-----|-------------|136| PEGI 3 / Everyone | 3+ | Suitable for all ages |137| PEGI 7 / Everyone 10+ | 7+ | Mild violence, comic mischief |138| PEGI 12 / Teen | 12+ | Moderate violence, mild language |139| PEGI 16 / Mature 17+ | 16+ | Intense violence, strong language |140| PEGI 18 / Adults Only | 18+ | Extreme content |141142---143144## Visual Asset Specifications145146### App Icon Requirements147148**Apple App Store:**149150| Device | Size | Format |151|--------|------|--------|152| iPhone | 1024x1024 px | PNG, no alpha |153| iPad | 1024x1024 px | PNG, no alpha |154| App Store | 1024x1024 px | PNG, no alpha |155| Spotlight | 120x120 px | PNG |156| Settings | 87x87 px | PNG |157158**Google Play Store:**159160| Asset | Size | Format |161|-------|------|--------|162| App Icon | 512x512 px | PNG, 32-bit |163| Feature Graphic | 1024x500 px | PNG or JPG |164| Promo Graphic | 180x120 px | PNG or JPG |165| TV Banner | 1280x720 px | PNG or JPG |166167### Screenshot Requirements168169**Apple App Store:**170171| Device | Portrait | Landscape |172|--------|----------|-----------|173| iPhone 6.9" | 1320x2868 px | 2868x1320 px |174| iPhone 6.5" | 1290x2796 px | 2796x1290 px |175| iPhone 5.5" | 1242x2208 px | 2208x1242 px |176| iPad Pro 12.9" | 2048x2732 px | 2732x2048 px |177| iPad 10.5" | 1668x2224 px | 2224x1668 px |178179- Minimum: 2 screenshots per device180- Maximum: 10 screenshots per device181- Format: PNG or JPG, no alpha channel182- First 3 screenshots are critical (most users don't scroll)183184**Google Play Store:**185186| Device | Dimensions | Notes |187|--------|------------|-------|188| Phone | 320-3840 px | Min 2:1 aspect ratio |189| 7" Tablet | 320-3840 px | Min 2:1 aspect ratio |190| 10" Tablet | 320-3840 px | Min 2:1 aspect ratio |191| Chromebook | 320-3840 px | Optional |192| TV | 320-3840 px | For TV apps only |193194- Minimum: 2 screenshots195- Maximum: 8 screenshots196- Format: PNG or JPG197- No transparency or borders198199### App Preview Video200201**Apple App Store:**202- Duration: 15-30 seconds203- Resolution: Match device screenshot size204- Format: M4V, MP4, MOV205- Frame rate: 30 fps206- Audio: Optional but recommended207208**Google Play Store:**209- YouTube video link only210- No duration limit (recommend under 2 minutes)211- Landscape orientation preferred212- Must not contain age-restricted content213214---215216## Localization Requirements217218### Priority Markets by Revenue219220| Rank | Market | Language Code |221|------|--------|---------------|222| 1 | United States | en-US |223| 2 | Japan | ja |224| 3 | United Kingdom | en-GB |225| 4 | Germany | de-DE |226| 5 | China | zh-Hans (iOS), zh-CN (Android) |227| 6 | South Korea | ko |228| 7 | France | fr-FR |229| 8 | Canada | en-CA, fr-CA |230| 9 | Australia | en-AU |231| 10 | Russia | ru |232233### Apple App Store Localization234235Supported localizations: 40+ languages236237| Language | Locale Code |238|----------|-------------|239| English (US) | en-US |240| English (UK) | en-GB |241| Spanish | es-ES |242| Spanish (Mexico) | es-MX |243| French | fr-FR |244| German | de-DE |245| Japanese | ja |246| Korean | ko |247| Simplified Chinese | zh-Hans |248| Traditional Chinese | zh-Hant |249250### Google Play Store Localization251252Supported localizations: 75+ languages253254Each locale requires:255- Title (50 chars)256- Short description (80 chars)257- Full description (4,000 chars)258- Screenshots (can reuse or localize)259260---261262## Compliance Guidelines263264### Apple App Store Review Guidelines Summary265266| Category | Key Requirements |267|----------|------------------|268| **Safety** | No objectionable content, privacy protection |269| **Performance** | App must work as described, no crashes |270| **Business** | Accurate app description, clear pricing |271| **Design** | Follow Human Interface Guidelines |272| **Legal** | Comply with local laws, proper licensing |273274**Common Rejection Reasons:**2751. Bugs and crashes (50%+ of rejections)2762. Broken links or placeholder content2773. Misleading app descriptions2784. Privacy policy missing or incomplete2795. In-app purchase issues280281### Google Play Developer Policies282283| Policy Area | Requirements |284|-------------|--------------|285| **Restricted Content** | No hate speech, violence, gambling (without license) |286| **Privacy** | Data collection disclosure, privacy policy |287| **Monetization** | Clear pricing, compliant IAPs |288| **Ads** | No deceptive ads, proper disclosure |289| **Store Listing** | Accurate description, no keyword stuffing |290291**Common Suspension Reasons:**2921. Policy violation (content, ads, permissions)2932. Repetitive content (clone apps)2943. Impersonation (fake apps)2954. Intellectual property infringement2965. Malicious behavior297298### Privacy Requirements299300**Apple (App Tracking Transparency):**301- ATT prompt required for tracking302- Privacy nutrition labels mandatory303- Data collection disclosure required304305**Google (Data Safety):**306- Data safety section mandatory307- Data collection and sharing disclosure308- Security practices declaration309310---311312## Quick Reference Card313314### Apple vs Google Comparison315316| Attribute | Apple App Store | Google Play Store |317|-----------|-----------------|-------------------|318| Title Length | 30 chars | 50 chars |319| Subtitle | 30 chars | N/A |320| Short Description | N/A | 80 chars |321| Full Description | 4,000 chars | 4,000 chars |322| Keywords Field | 100 chars | N/A (in description) |323| Promotional Text | 170 chars | N/A |324| Icon Size | 1024x1024 px | 512x512 px |325| Min Screenshots | 2 | 2 |326| Max Screenshots | 10 | 8 |327| Review Time | 24-48 hours | 1-7 days |328| Metadata Update | Requires review | 1-2 hours to index |