You built an app on Replit, it works, and there is a big blue Publish button in the corner. So you press it, and now you have a live URL ending in .replit.app. That is a website. It is not on the App Store, and pressing that button again will not put it there.
The good news is that for the App Store, Replit does most of the heavy lifting for you. This guide covers the whole path from a working Replit project to an app in App Store review, including the one thing people always get wrong at the start.
A separate guide covers Google Play, because the Android route is a genuinely different process. This one is Apple only.
The short version
- Replit’s Publish button deploys your app to the web. It does not submit anything to the App Store.
- The actual App Store path runs through Expo Launch, a wizard Replit hands you off to. It walks you through the whole thing.
- You do not need a Mac, and you do not need Xcode. The build runs on Apple machines in the cloud that Expo rents for you.
- You do need an Apple Developer account, which is $99 a year.
- Expo handles the scary part, the signing certificates, automatically.
- The real gate is Apple’s review. A thin app that is just your website in a shell is the most common rejection, so this guide covers how to clear that bar.
First, work out what you actually built
This decides everything that follows, and most people get it wrong.
When you start a project, Replit asks what you want to build, and the answer matters. A Mobile app gives you a React Native project running on Expo, which is a real native app that belongs on the App Store. A Website gives you a web app, which is a site, not an app.

The quick test: if your project previews on your phone through the Expo Go app, it is a mobile app and this guide fits directly. If it only opens in a browser tab, it is a web app, and Apple will judge it much more harshly. We come back to that near the end, because it is the single biggest reason App Store submissions get rejected.
Step 1: Test it on a real phone first
Before you think about the store, get the app onto an actual device. Replit gives you this for free through Expo Go: install the app, scan the QR code, and your project runs on your phone with real touch gestures.

Shake the device to open the Expo Go menu and hit Reload to pull in your latest changes. Do this early and often. An app that looks fine in the browser preview and falls apart on a real iPhone is the most common thing that derails a first submission, and it is far cheaper to find out now than after a review rejection.
Step 2: Understand what Replit’s Publish button does
Replit’s Publishing screen asks for a domain, shows you what is being published, lets you set who can access it, and offers a security scan. Then it publishes.

Watch the pipeline it runs: Provision, Security checks, Build, Bundle, Promote.

Every one of those steps is about deploying your app to the internet. None of them submit anything to Apple. When it finishes you have a working, publicly reachable app at a .replit.app address, which is genuinely useful, and it is also the thing people mistake for being published.
Publishing to the web is still worth doing. A live URL is what you use for a privacy policy link, which Apple requires, and it is where your marketing site lives while the app goes through review.
Step 3: The App Store path Replit walks you through
Here is where Replit genuinely helps. If your project is a mobile app, it offers to take you the rest of the way to Apple. It tells you what you need up front: an active Apple Developer account, and after publishing you can test on TestFlight before submitting for review.

Starting that hands you over to Expo Launch, which walks through the steps in order: choose your Expo project, sign in with Apple, choose the Apple app, configure certificates, and launch.

The sign-in step needs an Apple account that is enrolled in the Apple Developer Program, not just a free Apple ID. The $99 a year is what buys you the ability to put an app on the store at all. Expo is careful about your credentials here: it states your password is not stored and only a proof of it is sent to Apple, using the Secure Remote Password protocol.

Certificates are the part every first-time iOS developer dreads, and this is where the tooling earns its keep. Expo generates and stores the signing credentials for you, so you never manually create a distribution certificate or a provisioning profile, and you never touch Xcode to do it. This is the step that used to require a Mac, and it no longer does.
Step 4: TestFlight, then review
Once the build is done, it goes to TestFlight, Apple’s testing system. This is your chance to put the real, store-signed build on your own device and on a handful of testers’ devices before the public sees it. Use it. The version that runs through TestFlight is much closer to what a reviewer will see than anything in Expo Go.
When you are happy, you submit for App Store review. A human at Apple opens your app and decides whether it belongs on the store. This is not a formality, and it is where a lot of Replit-built apps stumble, so the next section is the one to read twice.
The bar your app has to clear: Apple’s minimum functionality rule
Apple is strict about one thing in particular, and it catches web-app builds hardest. Guideline 4.2 of the App Store Review Guidelines says, in Apple’s own words: “Your app should include features, content, and UI that elevate it beyond a repackaged website. If your app is not particularly useful, unique, or app-like, it doesn’t belong on the App Store.”
Guideline 4.2.2 goes further: apps “shouldn’t primarily be marketing materials, advertisements, web clippings, content aggregators, or a collection of links.” If your app is essentially your website in a shell, Apple will reject it, and no amount of resubmitting changes that. The fix is not a trick, it is making the app genuinely app-like: native navigation, features that make sense on a phone, something that works offline, a reason to exist beyond the browser version.
There is one more rule worth knowing if you are considering paying a service to generate your app for you. Guideline 4.2.6 states: “Apps created from a commercialized template or app generation service will be rejected unless they are submitted directly by the provider of the app’s content.” In plain terms, submit your own app under your own developer account. Do not let a third-party app-builder service submit it on your behalf, because that is a rejection on sight.
Clear that bar, and the rest of review is usually straightforward: accurate screenshots, a working privacy policy link, no broken features, and honest metadata.
What it costs
- Apple Developer Program: $99 a year, and you keep paying it to stay on the store.
- Replit and Expo: both have free tiers that will get a first app built and submitted.
Unlike Google’s one-time fee, Apple’s is a yearly subscription. Budget for it as an ongoing cost, not a one-off.
Common questions
1. Does Replit’s Publish button put my app on the App Store?
No. Replit’s Publish deploys your app to the web at a .replit.app address. It runs provisioning, security checks, build, bundle and promote steps, all of which are about hosting your app online. Getting onto the App Store is a separate flow that Replit starts for you through the Expo Launch wizard.
2. Can I publish a Replit app to the App Store without a Mac?
Yes. Expo builds your iOS app on Apple machines hosted in its own cloud, so nothing compiles on your computer and you never open Xcode. It works from Windows and Linux. You still need a paid Apple Developer account, but you do not need Apple hardware.
3. What does it cost to put a Replit app on the App Store?
The Apple Developer Program is $99 per year, and it is a recurring subscription you must keep paying to stay on the store. Replit and Expo both have free tiers that cover building and submitting a first app.
4. Do I need to handle signing certificates myself?
No. During the Expo Launch wizard, Expo generates and stores the signing certificate and provisioning profile for you. This is the step that historically required a Mac and Xcode, and Expo removes both. Your Apple password is not stored; only a proof of it is sent to Apple.
5. Why do Replit web apps get rejected from the App Store?
Usually because of Apple’s minimum functionality rule, guideline 4.2, which rejects apps that do not go beyond a repackaged website. If your app is essentially your site in a shell, Apple will decline it. Make it genuinely app-like, with native navigation and features that make sense on a phone, and it clears the bar.
6. What is TestFlight and do I have to use it?
TestFlight is Apple’s testing system. After your build is ready, it goes to TestFlight so you and a few testers can try the real, store-signed build before the public sees it. It is not strictly required to submit, but it is strongly recommended, because a TestFlight build behaves much more like the final app than an Expo Go preview does.
7. Can I use one build for both the App Store and Google Play?
Your Replit and Expo project is shared, but the store submissions are separate. Replit’s built-in wizard targets the App Store. Google Play uses a different build and submission process, plus its own testing requirements, which we cover in a dedicated guide.
The order that actually works
- Build it on Replit and test it on a real iPhone with Expo Go.
- Publish on Replit so you have a live URL for your privacy policy and marketing site.
- Enroll in the Apple Developer Program early, because the $99 payment and Apple’s checks take time you will not want to spend later.
- Run the Expo Launch wizard from Replit and let it handle certificates.
- Test the real build through TestFlight before you submit.
- Make sure the app clears Apple’s minimum functionality bar, then submit for review.
For the App Store, the build and submission are the easy part now that Replit and Expo automate them. The part that decides whether you ship is Apple’s review, and that comes down to one question: is this a real app, or a website wearing an app costume? Answer that honestly before you submit, and the rest is smooth.