File: submit-to-app-stores.md | Updated: 11/15/2025
Hide navigation
Search
Ctrl K
Home Guides EAS Reference Learn
Archive Expo Snack Discord and Forums Newsletter
Copy page
Learn how to submit your app to Google Play Store and Apple App Store from the command line with EAS Submit.
Copy page
EAS Submit is a hosted service that allows uploading and submitting app binaries to the app stores using EAS CLI. This guide describes how to submit your app to the Google Play Store and Apple App Store using EAS Submit.
Prerequisites
4 requirements
Sign up for an Apple Developer account
An Apple Developer account is required to submit your app to the Apple App Store. You can sign up for an Apple Developer account on the Apple Developer Portal .
Include a bundle identifier in app.json
Include your app's bundle identifier in app.json:
app.json
Copy
{ "ios": { "bundleIdentifier": "com.yourcompany.yourapp" } }
Install EAS CLI and authenticate with your Expo account
Install EAS CLI and login with your Expo account:
Terminal
Copy
- npm install -g eas-cli && eas login
Build a production app
You'll need a production build ready for store submission. You can create one using EAS Build :
Terminal
Copy
- eas build --platform ios --profile production
Alternatively, you can build the app on your own computer with eas build --platform ios --profile production --local or with Xcode.
Once you have completed all the prerequisites, you can start the submission process.
Run the following command to submit a build to the Apple App Store:
Terminal
Copy
- eas submit --platform ios
The command will lead you step by step through the process of submitting the app.
Prerequisites
7 requirements
Sign up for a Google Play Developer account
A Google Play Developer account is required to submit your app to the Google Play Store. You can sign up for a Google Play Developer account on the Google Play Console sign-up page .
Create a Google Service Account
EAS requires you to upload and configure a Google Service Account Key to submit your Android app to the Google Play Store. You can create one with the uploading a Google Service Account Key for Play Store submissions with EAS guide.
Create an app on Google Play Console
Create an app by clicking Create app in the Google Play Console .
Install EAS CLI and authenticate with your Expo account
Install EAS CLI and login with your Expo account:
Terminal
Copy
- npm install -g eas-cli && eas login
Include a package name in app.json
Include your app's package name in app.json:
app.json
Copy
{ "android": { "package": "com.yourcompany.yourapp" } }
Build a production app
You'll need a production build ready for store submission. You can create one using EAS Build :
Terminal
Copy
- eas build --platform android --profile production
Alternatively, you can build the app on your own computer with eas build --platform android --profile production --local or with Android Studio.
Upload your app manually at least once
You have to upload your app manually at least once. This is a limitation of the Google Play Store API.
Learn how with the first submission of an Android app guide.
Once you have completed all the prerequisites, you can start the submission process.
Run the following command to submit a build to the Google Play Store:
Terminal
Copy
- eas submit --platform android
The command will lead you step by step through the process of submitting the app.
Build and submit automatically
You can automatically create builds and submit them to the app stores with EAS Workflows . First, you'll need to configure your project , add a file named .eas/workflows/build-and-submit.yml at the root of your project, then add the following workflow configuration:
.eas/workflows/build-and-submit.yml
Copy
name: Build and submit on: push: branches: ['main'] jobs: build_android: name: Build Android app type: build params: platform: android profile: production build_ios: name: Build iOS app type: build params: platform: ios profile: production submit_android: name: Submit Android type: submit needs: [build_android] params: build_id: ${{ needs.build_android.outputs.build_id }} submit_ios: name: Submit iOS type: submit needs: [build_ios] params: build_id: ${{ needs.build_ios.outputs.build_id }}
Show More
The workflow above will create Android and iOS builds on every commit to your project's main branch, then submit them to the Google Play and Apple App Store respectively. You can also run this workflow manually with the following EAS CLI command:
Terminal
Copy
- eas workflow:run build-and-submit.yml
Learn more about common patterns with the workflows examples guide .
Manual submission to app stores
You can also submit your app manually to the Google Play Store and Apple App Store.
Manual Apple App Store submission
Learn how to submit your app manually to Apple App Store.
Manual Google Play Store submission
Follow the steps on manually submitting your app to Google Play Store.