fastlane vs EAS Submit in 2026: which one ships your Expo or React Native app?

Published: October 31, 2026

Version française →

If you build with Expo or React Native, two names come up when it is time to ship: EAS Submit from Expo, and fastlane, the open-source automation tool. They look like competitors. They mostly aren't: they cover different parts of a release, and many teams end up using one for the binary and something else for everything around it.

This guide sets out what each tool does, based on their own documentation, and where each one stops.


The short answer

  • EAS Submit uploads a built .ipa or .aab to App Store Connect and Google Play. That is all it does. Its docs say it does not manage store metadata, screenshots or release notes, and it does not submit your app for App Review.
  • fastlane can upload the binary too, but its deliver and supply actions also push metadata, screenshots and release notes, and deliver can submit for App Review.
  • So the question isn't really "which one". It's "who handles the listing and the review submission once the build is uploaded".

What EAS Submit does

EAS Submit is the upload step of Expo Application Services. You point it at a build and it sends it to the store:

eas submit --platform ios --path ./my-app.ipa
eas submit --platform android --latest --non-interactive
  • iOS: the .ipa goes to App Store Connect and shows up in TestFlight after processing (Expo's docs say usually 10 to 15 minutes). It is not released to the App Store automatically: you still select the build in App Store Connect and submit it for review.
  • Android: the .aab goes to the Google Play track you choose (internal, alpha, beta or production). For a brand-new app the default is the internal testing track. Setting releaseStatus to draft in eas.json uploads without rolling out.
  • Credentials: Android needs a Google Service Account key. In CI (--non-interactive), EAS can't prompt for anything, so the Google key or an App Store Connect API key must already be set up.
  • Chaining: eas build --auto-submit submits right after the build, using the submit profile with the same name as the build profile.

Expo also has EAS Metadata, which pushes App Store listing text from a store.config.json file. Its docs mark it as beta, it does not support Google Play yet, and it cannot upload screenshots.


What fastlane does

fastlane is an open-source Ruby tool, now maintained by its community under the Mobile Native Foundation. You describe lanes in a Fastfile and chain actions. The two that matter for publishing:

  • deliver (alias of upload_to_app_store): uploads metadata, screenshots, App Preview videos and the .ipa to App Store Connect. submit_for_review submits once uploaded, automatic_release releases after approval, phased_release turns on Apple's 7-day phased release. It runs precheck before submitting.
  • supply (alias of upload_to_play_store): uploads the .aab or .apk, the listing text, images, screenshots and changelogs to Google Play, with track, rollout and release_status options.

The cost is the setup: Ruby and Bundler on every machine that runs the lane, a metadata folder to keep in sync with the stores, and a terminal when something breaks.


Side by side

EAS Submitfastlane
Upload .ipa / .aabYesYes (deliver, supply)
Listing textApp Store only, via EAS Metadata (beta)Yes, both stores
ScreenshotsNoYes, both stores
Release notesNoYes, both stores
Submit for App ReviewNoYes (submit_for_review)
Google Play track / rolloutTrack and draft statusTrack, rollout %, status
Setupeas.json, Expo accountRuby, Fastfile, metadata folders
InterfaceCLI and Expo dashboardCLI

Which one should you use?

  • You already build with EAS and only need the binary in the store: EAS Submit. It is one command and it knows your EAS builds.
  • You want the whole release scripted in CI, listing and review submission included: fastlane, if you are fine maintaining Ruby lanes and metadata folders.
  • You build with EAS but don't want to script the listing: keep EAS for the build, and use a tool with an interface for the rest.

That last case is where OneStore fits. It doesn't build your app. You upload the .ipa and .aab you built (with EAS or anything else), and it handles the listing in every language for both stores, screenshots in every required size, release notes, the Apple review submission and the Google Play staged rollout from one screen. The .ipa goes to Apple through a macOS worker running xcrun altool, the .aab through the Google Play Developer API.

If you are coming from fastlane, the fastlane alternatives guide and the OneStore vs fastlane comparison go further.


FAQs

Does EAS Submit upload metadata and screenshots?

No. Expo's documentation says EAS Submit uploads binaries and does not manage store metadata, screenshots or release notes. EAS Metadata can push App Store listing text from store.config.json, but it is in beta, does not support Google Play and cannot upload screenshots.

Does EAS Submit submit my iOS app for App Review?

No. The build lands in App Store Connect and TestFlight. You then select it on the version in App Store Connect and submit it for review yourself, or use a tool that does it, such as fastlane deliver with submit_for_review or OneStore.

Can I use EAS Build with fastlane?

Yes. Build with EAS, download the artifact, then run fastlane deliver or supply on it. Many teams do the build in EAS and the store work elsewhere.

Is fastlane still maintained in 2026?

Yes. fastlane is open source and maintained by its community under the Mobile Native Foundation, after Google stopped sponsoring it.