Sourced comparison · checked 23 September 2026

An EAS Submit alternative for Expo apps

leas submit is an open-source EAS Submit alternative. It uploads a signed Expo or React Native build to App Store Connect and Google Play from your machine or from CI you run. It does not go through Expo. There is no Expo account in the upload, and the API keys it uses stay in your project or in your own repository secrets.

The short answer

Choose EAS Submit when you want Expo to operate the upload, including an iOS upload from Windows or Linux. Choose leas submit when the machine doing the upload should be yours and the credentials should never be sent to a build vendor.

What each one actually uploads

Expo’s submit documentation describes EAS Submit as the recommended way to get a signed .aab or .ipa into the stores. It places an Android bundle on the Play track you choose, and an iOS archive into App Store Connect, where it becomes available in TestFlight after processing. It does not manage the store listing, screenshots, or release notes. A TestFlight build is not automatically sent to App Review.

leas submit covers that same upload and stops at the same line. On iOS it validates and uploads with xcrun altool and an App Store Connect API key, then can wait until processing finishes so the build is actually in TestFlight. On Android it drives the Play Developer API directly: open an edit, upload the bundle or APK, assign it to the track named in leas.json (internal, unless you set another), and commit. A failed Android run abandons its edit instead of leaving a draft behind. Neither path writes your store listing.

npx leas build --platform all --profile production --auto-submit npx leas submit --platform ios npx leas submit --platform android --path .leas/build/android/app.aab

--auto-submit uploads each artifact as soon as that build succeeds. leas submit on its own uploads the latest artifact, or the file you pass with --path. The current package is leas-cli 1.0.1, and the v1.0.1 release is the one published on GitHub.

leas submit compared with EAS Submit

Decisionleas submitEAS Submit
Who uploadsYour machine, or a runner in your own CI accountExpo’s submit service, from your computer or from CI
Expo accountNone. The upload talks to Apple and GoogleEAS Submit is Expo’s uploader, run with the eas CLI
iOSxcrun altool on macOS, then an optional wait until App Store Connect reports the build processedUpload to App Store Connect from any OS, including Windows and Linux, as Expo documents
AndroidPlay Developer API v3. Default track is internal, and the track is yours to setUploads the .aab to the track you choose. A new app’s default is the internal track
Which binaryThe artifact just built, or an explicit --pathA build EAS produced, or any signed .ipa / .aab via --path
CredentialsThe .p8 API key and the Play service account, on disk or in your repository secrets. leas has no key-upload endpointRun with the eas CLI under an Expo account. Expo documents uploading a binary you signed elsewhere with --path
Store listingNot managed. Screenshots, description, and App Review stay in the store consolesNot managed. Expo documents a separate Metadata product for App Store listing fields

When EAS Submit is the better choice

EAS Submit is the right tool when you do not have a Mac handy and you still need to upload an iOS binary. Expo documents that upload as working from Windows and Linux. leas cannot match it: altool is part of Xcode, so the iOS upload runs on macOS. Android is different. That upload is HTTPS to Google, and it runs wherever Node runs.

EAS Submit is also the right tool when you already build on EAS and you want Expo’s submission log next to those builds. leas is the narrower choice: the same engine that built the binary uploads it, on hardware you control, with keys that never had to be copied to a vendor.

What this page does not claim

  • leas does not replace EAS Metadata, Expo Hosting, or Expo’s support organization.
  • It does not submit an iOS build for App Review. It gets the binary as far as TestFlight processing, which is the same boundary Expo documents for EAS Submit.
  • It does not remove Apple’s hardware requirement for building iOS. Uploading is the step that EAS Submit can do without a Mac. Compiling still needs one.

Questions

What is an EAS Submit alternative?

A way to upload a signed iOS or Android binary to App Store Connect and Google Play without EAS Submit. leas submit does that with Apple’s altool and the Google Play Developer API. Your Expo account is not part of the upload.

Can leas submit a build that EAS did not create?

Yes. leas submit uploads the artifact leas just built, or a specific .ipa or .aab you pass with --path. The binary still has to be signed with the distribution certificate and provisioning profile, or the Android upload key, that the stores expect.

Does an EAS Submit alternative also submit the app for App Review?

No. On iOS, leas uploads the .ipa and can wait until App Store Connect finishes processing it for TestFlight. Sending that build to App Review is still a step you take in App Store Connect. Expo’s own submit documentation draws the same line for EAS Submit.

When is EAS Submit the better choice?

When you want to upload an iOS build from Windows or Linux. EAS Submit documents that path. leas submit uses xcrun altool, which ships with Xcode, so the iOS upload runs on macOS. Android submission is ordinary HTTPS and is not tied to a Mac.

Primary sources

Building without EAS at all, including the part where eas build --local still requires an Expo login, is covered in build Expo apps without EAS. The wider comparison is leas compared with EAS.

If Expo’s submit page no longer says what this comparison quotes, Expo’s page controls and this one should be corrected.