---
description: Everything Apple and Google require before your app submission — screenshots, description, privacy policy, age rating, and data disclosures.
title: How to Prepare Your App Store Listing - Capawesome
image: https://capawesome.io/docs/assets/images/social/blog/how-to-prepare-your-app-store-listing.png
---

[ Skip to content](#how-to-prepare-your-app-store-listing) 

[ 🔐 Introducing the **Capacitor Vault** plugin — store secrets behind biometrics or a device passcode.](/blog/announcing-the-capacitor-vault-plugin/) 

* [  Formbricks ](/docs/plugins/formbricks/)
* [  Geocoder ](/docs/plugins/geocoder/)
* [  Google Sign-In ](/docs/plugins/google-sign-in/)
* [  Grafana Faro ](/docs/plugins/grafana-faro/)
* [  libSQL ](/docs/plugins/libsql/)
* [  Live Update ](/docs/plugins/live-update/)
* [  Managed Configurations ](/docs/plugins/managed-configurations/)
* [  Media Session ](/docs/plugins/media-session/)
* [  ML Kit ](/docs/plugins/mlkit/)
* [  Navigation Bar ](/docs/plugins/navigation-bar/)
* [  NFC ](/docs/plugins/nfc/)
* [  OAuth ](/docs/plugins/oauth/)
* [  Pedometer ](/docs/plugins/pedometer/)
* [  Photo Editor ](/docs/plugins/photo-editor/)
* [  PostHog ](/docs/plugins/posthog/)
* [  Printer ](/docs/plugins/printer/)
* [  Purchases ](/docs/plugins/purchases/)
* [  RealtimeKit ](/docs/plugins/realtimekit/)
* [  Screen Orientation ](/docs/plugins/screen-orientation/)
* [  Screenshot ](/docs/plugins/screenshot/)
* [  Secure Preferences ](/docs/plugins/secure-preferences/)
* [  Speech Recognition ](/docs/plugins/speech-recognition/)
* [  Speech Synthesis ](/docs/plugins/speech-synthesis/)
* [  Share Target ](/docs/plugins/share-target/)
* [  Square Mobile Payments ](/docs/plugins/square-mobile-payments/)
* [  SQLite ](/docs/plugins/sqlite/)
* [  Superwall ](/docs/plugins/superwall/)
* [  Torch ](/docs/plugins/torch/)
* [  Vault ](/docs/plugins/vault/)
* [  Wifi ](/docs/plugins/wifi/)
* [  Zip ](/docs/plugins/zip/)
* [  Cloud ](/docs/cloud/)
* [  Live Updates ](/docs/cloud/live-updates/)
* Advanced
* Integrations
* [  Native Builds ](/docs/cloud/native-builds/)
* [  Configuration ](/docs/cloud/native-builds/configuration/)
* [  Environments ](/docs/cloud/native-builds/environments/)
* Guides
* [  Sample Projects ](/docs/cloud/native-builds/sample-projects/)
* [  Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [  Automations ](/docs/cloud/automations/)
* [  Assist ](/docs/cloud/assist/)
* Account
* Organizations
* [  Organization and User Management ](/docs/cloud/organizations/memberships/)
* [  Single Sign-On (SSO) ](/docs/cloud/organizations/sso/)
* [  Teams ](/docs/cloud/organizations/teams/)
* [  Two-Factor Authentication ](/docs/cloud/organizations/two-factor-authentication/)
* [  Integrations ](/docs/cloud/integrations/)
* [  License Keys ](/docs/cloud/license-keys/)
* [  Webhooks ](/docs/cloud/webhooks/)
* [  Pricing ](https://capawesome.io/pricing/)
* [  FAQ ](/docs/cloud/faq/)
* [  Support ](/docs/cloud/support/)
* [  Contributing ](/docs/contributing/)
* [  LLMs ](/docs/llms/)
* [  Insiders ](/docs/insiders/)
* [  License ](https://capawesome.io/legal/eula/)
* [  Support ](/docs/insiders/support/)
* [  FAQ ](/docs/insiders/faq/)
* [  Blog ](/blog/)
* Categories

* [  App Description ](#app-description)
* [  Privacy Policy ](#privacy-policy)
* [  Age Rating ](#age-rating)
* [  Data Privacy Disclosures ](#data-privacy-disclosures)
* [  Localization ](#localization)
* [  Checklist ](#checklist)
* [  Next Steps ](#next-steps)
* [  Final Thoughts ](#final-thoughts)

# How to Prepare Your App Store Listing[¶](#how-to-prepare-your-app-store-listing "Permanent link")

Submitting your app for review is the finish line — but there's a form-filling marathon between "working build" and "submit for review" that nobody warns you about.

Apple and Google both require a complete store listing before they'll accept your submission. Screenshots must match exact device sizes. A privacy policy URL is mandatory, even for free apps. Age ratings have to be calculated by answering a questionnaire. And Apple's data collection declarations can take an hour the first time you do them.

This guide walks through everything you need to prepare, on both platforms, so you don't hit a wall the day you're ready to ship. It's part of the [complete guide to shipping a mobile app in 2026](/blog/11-steps-to-get-your-web-app-on-the-app-store/) — check that out if you want to see every step of the journey in one place.

[ ![Build and deploy your Capacitor app with Capawesome Cloud](../../assets/external/cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.69628c3f.png) ](https://capawesome.io/) 

## App Icon[¶](#app-icon "Permanent link")

Both stores require a high-resolution app icon. Get this right before anything else — it affects every screenshot and preview image you'll produce.

**Apple App Store:**\- Required size: **1024×1024px**, PNG format - No alpha channel / transparency (Apple will reject it) - No rounded corners in the source file — Apple applies the rounding automatically

**Google Play:**\- Required size: **512×512px**, PNG or JPEG - Transparency is allowed

**Tips:**\- Design at 1024×1024 and downscale for Google Play - Export as PNG for both - Test how it looks at small sizes (e.g., 60×60px on a home screen) — many icons become unrecognizable when small

**Generate icons and splash screens automatically with [@capacitor/assets](https://github.com/ionic-team/capacitor-assets)**

If you're using Capacitor, you don't need to manually export every icon size. Place your `icon-only.png` (1024×1024) and `splash.png` in the `resources/` folder and let the CLI generate all required sizes for both platforms:

`[](#%5F%5Fcodelineno-0-1)npm install -D @capacitor/assets@latest
[](#%5F%5Fcodelineno-0-2)npx capacitor-assets generate --ios
[](#%5F%5Fcodelineno-0-3)npx capacitor-assets generate --android
`

See also: [Generate App Icons and Splash Screens](/blog/how-to-wrap-an-angular-app-with-capacitor-and-firebase/#generate-app-icons-and-splash-screens)

## Screenshots[¶](#screenshots "Permanent link")

Screenshots are the most time-consuming part of store listing preparation. Both Apple and Google have strict size requirements, and Apple requires screenshots for multiple device sizes.

### Apple App Store Screenshot Requirements[¶](#apple-app-store-screenshot-requirements "Permanent link")

Apple requires screenshots for specific device sizes. As of 2026:

| Device                                 | Size required   |
| -------------------------------------- | --------------- |
| iPhone 6.9" (iPhone 16 Pro Max)        | **1320×2868px** |
| iPhone 6.7" (iPhone 15 Plus / 14 Plus) | 1290×2796px     |
| iPad Pro 13"                           | 2064×2752px     |

**The 6.9" iPhone screenshots are now required** as of Apple's latest requirements. If you skip them, your submission will be blocked.

You can provide screenshots for additional sizes, but they're optional if you provide the required ones. Apple will scale your largest phone screenshots down for smaller devices.

If your app supports iPad, you must also provide iPad screenshots — phone screenshots alone aren't enough.

**How many screenshots:** Apple allows 3–10 per device size. Use all 10 if you can — the App Store algorithm favors listings with more screenshots.

### Google Play Screenshot Requirements[¶](#google-play-screenshot-requirements "Permanent link")

Google Play is simpler:

* Minimum **2 screenshots**
* Minimum size: **1080px** on the short side
* JPEG or 24-bit PNG
* Aspect ratio: between 16:9 and 9:16

Google also accepts a **feature graphic** (1024×500px) — this appears when your app is featured in the Play Store. Recommended but not required.

### Tools for Creating Screenshots[¶](#tools-for-creating-screenshots "Permanent link")

You have a few options:

**Option 1: Use a real device or simulator**Run your app and take screenshots directly. Most reliable but time-consuming for multiple device sizes.

**Option 2: Figma or design tools**Create device frame mockups in Figma using community templates. Good for marketing-quality screenshots with text overlays and backgrounds.

**Option 3: Screenshot automation tools** [Fastlane Snapshot](https://docs.fastlane.tools/actions/snapshot/) automates screenshot capture across device sizes and locales by running UI tests on simulators.

**What makes good screenshots:**\- Show the actual UI — no splash screens or empty states - Add context: short captions or UI annotations that explain the feature - First screenshot is the most important — it's the one visible in search results - Use consistent branding and style across all screenshots

## App Description[¶](#app-description "Permanent link")

Both stores allow a short description (shown before "read more") and a long description.

### App Store (iOS)[¶](#app-store-ios "Permanent link")

* **Name:** up to 30 characters — this is the title displayed on the store
* **Subtitle:** up to 30 characters — appears below the name in search results
* **Promotional text:** up to 170 characters — appears above the description; can be updated without a new submission
* **Description:** up to 4,000 characters
* **Keywords:** up to 100 characters total (comma-separated) — critical for App Store search ranking

**Tips for App Store keywords:**\- Don't repeat words already in your app name or subtitle - Use all 100 characters - Separate with commas, no spaces: `fitness,tracker,workout,health`\- Include common misspellings of your app name

### Google Play[¶](#google-play "Permanent link")

* **App name:** up to 50 characters
* **Short description:** up to 80 characters — appears in search results
* **Full description:** up to 4,000 characters — can include formatting

Google Play uses your description for keyword indexing, so naturally incorporating your target keywords into the full description helps discoverability. Unlike Apple, there's no separate keywords field.

## Privacy Policy[¶](#privacy-policy "Permanent link")

**A privacy policy URL is mandatory on both platforms — even for free apps that collect no data.**

If you don't have a privacy policy, you'll be blocked from submitting. You need a publicly accessible URL (not a PDF, not a Google Doc — a real web page).

**What the privacy policy must cover (at minimum):**\- What data you collect (or a statement that you collect none) - How it's used - Who it's shared with - How users can request deletion - Contact information

Host it somewhere stable — your main website, a GitHub Pages page, or any URL that won't change. Both Apple and Google will check that the URL is live before accepting your submission.

## Age Rating[¶](#age-rating "Permanent link")

Both stores require you to declare the appropriate age rating for your app.

### Apple (App Store Connect)[¶](#apple-app-store-connect "Permanent link")

Apple calculates the age rating from a questionnaire in App Store Connect. You'll answer questions about:

* Cartoon, realistic, or fantasy violence
* Sexual content
* Profanity
* Drug references
* Gambling
* User-generated content

Based on your answers, Apple assigns a rating: 4+, 9+, 12+, or 17+. Most business and productivity apps qualify for 4+.

### Google Play[¶](#google-play%5F1 "Permanent link")

Google Play uses a similar questionnaire called the **Content Rating** system. You'll need to complete it for each category your app falls into. The rating is assigned automatically based on your answers.

Note 

Don't understate your rating. Both Apple and Google can remove apps from the store if the actual content doesn't match the declared rating.

## Data Privacy Disclosures[¶](#data-privacy-disclosures "Permanent link")

This is the part that takes the most time — especially on Apple — and it's entirely new territory for most web developers.

### Apple: Privacy Nutrition Labels[¶](#apple-privacy-nutrition-labels "Permanent link")

In App Store Connect, under your app listing, you'll find a **Privacy** section where you declare all data your app collects. Apple displays this as the "Nutrition Labels" on your App Store page.

You need to declare **every type of data your app collects or shares**, including data collected by third-party SDKs (analytics, crash reporting, ads, etc.). Categories include:

* Contact info (name, email, phone)
* Location (precise or coarse)
* Usage data (product interaction, crash data)
* Identifiers (device ID, user ID)
* Diagnostics

For each data type, you declare: - Whether it's linked to the user's identity - Whether it's used for tracking

**Common mistake:** Forgetting to declare data collected by Firebase, analytics SDKs, or ad networks embedded in your app. Apple can reject your app if your declared data doesn't match what they observe.

### Google Play: Data Safety Section[¶](#google-play-data-safety-section "Permanent link")

Google Play's equivalent is the **Data Safety** section in the Play Console. Similar to Apple's, you declare:

* What data your app collects or shares
* Whether data is encrypted in transit
* Whether users can request data deletion

## Localization[¶](#localization "Permanent link")

Both stores support multiple languages. Your app name, description, and screenshots can all be localized.

Even if your app is in English only, it's worth submitting at least an English listing with the correct locale. A "default" listing in the wrong language can affect your ranking in search.

If you plan to support multiple languages, prepare your store listing content for each locale before your first submission — it's much easier to do it all at once.

## Checklist[¶](#checklist "Permanent link")

Use this before you hit "submit":

**App icon:**

* 1024×1024px PNG (iOS, no transparency)
* 512×512px PNG (Android)

**Screenshots:**

* iPhone 6.9" screenshots (required by Apple)
* iPad screenshots (if your app supports iPad)
* Google Play screenshots (minimum 2, min 1080px short side)

**Metadata:**

* App name (30 chars for iOS, 50 for Google Play)
* Subtitle / short description
* Full description
* Keywords (iOS: 100 chars; Google Play: embedded in description)

**Legal:**

* Privacy policy URL (publicly accessible web page)
* Age rating completed (App Store Connect questionnaire + Google Play Content Rating)
* Data privacy disclosures (Apple Privacy Nutrition Labels + Google Data Safety)

**Other:**

* Support URL
* Marketing URL (optional but recommended)
* Contact email visible to users

## Next Steps[¶](#next-steps "Permanent link")

With your store listing prepared, you're ready to submit. Before you do, make sure you have a signed build ready — see:

* [Getting Started with Native Builds](https://capawesome.io/docs/cloud/native-builds/setup/) — build your iOS and Android app in the cloud
* [How to Distribute iOS and Android Apps to Testers](/blog/how-to-distribute-ios-and-android-apps-to-testers/) — test on real devices before the public submission
* [App Store Publishing with Capawesome Cloud](https://capawesome.io/cloud/app-store-publishing/) — submit to TestFlight and Google Play in one click
* And if you want the full picture of every step from web app to live on the stores: [From Web App to App Store: The Complete Guide](/blog/11-steps-to-get-your-web-app-on-the-app-store/).

If you're publishing on Google Play for the first time with a personal account, make sure you've read about the **closed testing requirement** in the complete guide — it's easy to miss and can delay your launch by two weeks.

## Final Thoughts[¶](#final-thoughts "Permanent link")

Getting your store listing right before submission saves days of back-and-forth with Apple and Google reviewers. The checklist above covers every required field — go through it once before you hit submit.

If you have questions or get stuck, the [Capawesome Discord](https://discord.gg/VCXxSVjefW) is a good place to ask. And subscribe to the [Capawesome newsletter](https://capawesome.io/newsletter/) to stay up to date with guides like this one.

[Start your 14-day free trial →](https://console.cloud.capawesome.io)

June 4, 2026 

 Back to top 