Yes, Replit can make mobile apps, and you can turn a Replit app into an APK for testing or a store-ready iOS and Android app. There are two ways to do it. Replit Agent can add a React Native app to your project, which means building and then maintaining a second interface alongside the website. You can instead use Median.co to package your deployed Replit URL as a web view app, so the interface you already built ships to both stores and picks up native features through the Median JavaScript Bridge. Replit guides iOS publishing but leaves Google Play to you. Median integrates with App Store Connect and offers a publishing service for teams that want both submissions handled for them.
How to turn a deployed Replit website into an app with Median
You build the app from the deployed URL alone, so the whole web to app conversion happens without exporting or downloading anything from Replit.
1. Use a production deployment
Point the mobile app at a stable HTTPS deployment, not an editor preview or a temporary development URL. If your app still runs only in the editor, publish it from Replit first. That's the step people mean when they talk about "productionizing a Replit app."
Then open the deployed site on a small iPhone and an Android phone, and fix anything that would be problematic in an installed app: horizontal scrolling, hover-only controls, keyboard overlap, or tap targets that need a stylus.
2. Add your URL to the Median App Studio
Open the Median App Studio, enter your Replit URL, and set the app name. The Replit setup documentation explains how to add the Median JavaScript Bridge for the moments when the website needs to call a native function.
You can also connect a compatible AI assistant to the Median App Studio through the Median MCP server. Ask it to create an app from your published Replit URL, configure navigation and branding, or start iOS and Android builds.
3. Set up the app shell
Add the icon, splash screen, loading screen, colors, navigation, link handling, and permissions, then layer in native features your app needs: push notifications, biometrics, haptics, camera access, deep links, or an analytics SDK.
Only request a permission the user can connect to a feature. A photo editor has an obvious reason to ask for photo access. A budgeting app usually doesn't.
4. Test the installed app
The browser simulator is good for layout checks and nothing else. It can't prove that sign-in, notifications, purchases, or device permissions work, so test those on an iPhone and an Android phone:
Account creation, sign-in, password reset, and logout
Google, Apple, or other OAuth redirects
Database reads and writes
File uploads and downloads
Camera, microphone, location, and photo access
External links and links back into the app
Push registration and notification taps
Subscription purchases and restores
Slow connections and offline messages
Android's back button and iOS safe areas
If the app hangs on the loading screen, look at authentication redirects and third-party cookies before you start changing the backend.
5. Create the store builds
Wait until the deployment and app settings are stable, then create the signed iOS and Android builds. Your team can submit them, or our Publishing Service can handle the submissions and the review questions that come back.
What Replit's mobile builder does
Replit also has its own mobile app for writing code on your phone. That's not what this section covers. This is about Replit's tool for building a mobile app from your project.
Replit's mobile app documentation calls the mobile part of a project a Mobile app artifact. It's built with React Native and Expo, which means it has its own mobile screens rather than loading your website in a web view.
How to add a mobile app to an existing Replit project
Replit's project migration documentation explains how eligible JavaScript web projects can add a Mobile app artifact with Agent.
Before you let Agent reorganize an existing production project:
Confirm that you can recover the current deployment, database, and secrets.
Tell Agent to preserve the existing web app while adding the mobile app.
Decide which business logic can be shared and which screens need a React Native version.
Test API calls and authentication from the mobile app.
Use a development build if Expo Go cannot run a required native module.
Set aside time for a manual Google Play submission.
You don’t need all of this just to get a responsive Replit website into the app stores. Migration is worth it when you want a separate React Native interface and are ready to maintain it.
How to turn a Replit app into an APK, AAB, or IPA
An APK installs an Android app directly on a phone, which makes it the right format for testing or for sharing a private build with a few people.
Google Play expects something different for a new public release: an Android App Bundle, or AAB, which Google uses to generate APKs for each kind of device.
To get a Replit APK with Median, enter your deployed Replit URL in the App Studio, build the Android app, and download the APK to install on your phone. If it's your first time installing an app from outside Google Play, your phone will ask you to allow installs from that source. Use the same build settings later to create the AAB for Google Play.
Want to see it first? Watch the walkthrough video on installing your APK, then try it with your Replit URL.
To get one from Replit, you'll need a Mobile app artifact and an Android build of it. Replit's documentation covers building and previewing on Android, but not publishing to Google Play.
An IPA is the signed iOS equivalent, and it's what gets delivered to App Store Connect. Having a Replit IPA doesn't mean the app is published, though. You still need an Apple Developer account, an App Store Connect record, store information, testing, and review.
That's the core difference between Replit to APK and Replit to app store. The APK proves the app runs on a mobile device, and the store release needs an AAB or IPA plus each store's review.
Is there an iPhone equivalent of an APK?
Yes, the IPA. You can't convert an APK into an iPhone app, though, because the two are built for different operating systems. Tools that promise to turn an APK into an iOS app don't work. You build the iOS app from the same source instead.
With Median, that source is your deployed Replit URL, so one App Studio project produces both the APK and the IPA.
Replit to APK is free. Here's what publishing costs
You can build your Replit app in Median's App Studio, preview it in the iOS and Android simulator, and download an APK to test on your phone without paying anything. A license comes in when you want the app in the App Store and Google Play, where people can actually find and install it.
A Median license adds:
Store-ready iOS and Android builds, with no "Powered by Median.co" message at launch
The full Median JavaScript Bridge, so your Replit front end can trigger native features and handle push notification taps
One license for both platforms, built from the same deployed Replit URL
The option to add push notifications, in-app purchases, and other native plugins
Self-serve plans start at $229 to activate, then $179 a year, and you buy from the Billing tab in App Studio. Apple's developer program is $99 a year, and Google Play is a one-time $25.
Google Play is where most Replit builders get stuck. Replit's docs say publishing to Google Play "is not yet supported," and new personal Play Console accounts have to run a closed test with at least 12 testers for 14 days before going live. Median builds the Android release from the same project as your iOS app, and our Publishing Service can take on the Play Console work, testing requirement included. Before you submit to either store, run through the app store publishing checklist.
How to publish a Replit app to the Apple App Store
Replit's guided iOS launch covers Mobile app artifacts. For a Median app, you upload the iOS build through cloud tooling, or Median's Publishing Service handles the whole submission for you. Either way, once cloud signing is set up you never have to run Xcode locally.
In App Store Connect:
Create the app record and use the same bundle ID as the build.
Upload the build and test it through TestFlight.
Add screenshots, a description, a support URL, and a privacy policy.
Complete the App Privacy questions.
Give the reviewer a working demo account.
Check account deletion and in-app purchases when the app needs them.
If the app is already live, keep the existing bundle ID and signing ownership. A different bundle ID creates a brand new app instead of updating the one you have.
How to publish a Replit app to Google Play
Replit currently leaves Google Play publishing to you. Its documentation says publishing to Google Play "is not yet supported." You create the Android build in Median.co, and our Publishing Service can take on the Play Console work as well.
Create the app in Play Console with the same package name as the build, then work through the store listing, the data safety form, content declarations, app access instructions, the privacy policy, and Google's testing requirements. Upload the AAB to an internal testing track before promoting anything to production. Keep the APK for direct device testing and give Play Console the AAB.
Will Replit website updates appear in the mobile app?
If the app uses Median, yes. The installed app loads the deployed website, so the latest web interface is what people see the next time they open it. Only native shell changes need a new build.
A Replit Mobile app artifact works the other way around. Web and mobile can share backend logic, but the React Native interface is separate, so changing a web screen does nothing to the matching mobile screen. Interface changes ship through a new store build.
Selling subscriptions in a Replit mobile app
Stripe is fine for physical goods and real-world services. Digital subscriptions, credits, content, and app features are where Apple In-App Purchase and Google Play Billing usually become mandatory.
In a Median app, RevenueCat connects both store billing systems to the Replit website through the Median JavaScript Bridge. A Replit React Native app needs a billing library that works inside its native project and reports subscription status back to the shared backend. Either way, test a new purchase, a cancellation, a renewal, a restore, and an existing-customer sign-in before you submit.
When Replit's mobile builder is a good fit
Build the mobile app in Replit if you want:
A React Native interface designed separately from the website
Mobile-specific navigation and screen layouts
Native modules that do not work well with a web interface
Web and mobile code in the same Replit project
Replit's guided TestFlight and App Store process
That control has a standing cost. A change to a web screen doesn't automatically update the matching React Native screen, so from the first build onward your team owns two versions of the interface.
When Median is a better fit for an existing Replit web app
Median is the better fit when:
The deployed Replit app already works well on phones.
You want the installed app to show the same interface as the website.
Website changes should reach the app without a rebuild.
You need push notifications, biometrics, haptics, deep links, or other native plugins.
You want help publishing to both Apple and Google.
A Median app wraps the deployed website in an iOS and Android shell. Changes to the website show up the next time the app loads them, while changes to the app icon, permissions, or native plugins still need a new build of the shell itself.
Maintenance decides this more often than features do. If the Replit interface changes every week, keeping a second set of React Native screens in sync will cost more time than building the app did.
What happens to the Replit backend and database?
You keep the existing Replit backend either way. A Replit mobile app can call the same API and use the project's shared database and secrets.
How to turn a deployed Replit website into an app with Median.co
You build the app from the deployed URL alone, so the whole web to app conversion happens without exporting anything from Replit.
1. Use a production deployment
Point the mobile app at a stable HTTPS deployment, not an editor preview or a temporary development URL.
Then open the deployed site on a small iPhone and an Android phone, and fix anything that would embarrass you in an installed app: horizontal scrolling, hover-only controls, keyboard overlap, tap targets that need a stylus.
2. Add your URL to the Median App Studio
Open the Median App Studio, enter the Replit URL, and set the app name. The Replit setup documentation explains how to add the Median JavaScript Bridge for the moments when the website needs to call a native function.
You can also connect a compatible AI assistant to the Median App Studio through the Median MCP server. Ask it to create an app from your published Replit URL, configure navigation and branding, or start iOS and Android builds.
3. Set up the app shell
Add the icon, splash screen, loading screen, colors, navigation, link handling, and permissions, then layer in the native features your app actually needs: push notifications, biometrics, haptics, camera access,
Choose based on what you want to maintain
Replit's mobile builder makes sense when the app needs its own React Native interface and you're ready to keep it in sync with the website. Median.co makes sense when the deployed Replit website already is the product and you want that same experience in both app stores.
List the screens that genuinely need native controls or mobile-specific behavior. If the answer is nearly all of them, build the Mobile app artifact in Replit.
If most of the site can stay as it is, drop the deployment URL into the form above and look at the result before you commit to anything bigger.
Built your app on another AI builder? The same approach works for Lovable and Base44 apps.
Frequently asked questions
How do I convert a Replit app to a mobile app?
Use Replit's Mobile app artifact if you want to build a React Native interface, or use Median.co for a website to app conversion that keeps the screens you already have. Either way, plan for device testing and the app store submissions.
Can Replit make mobile apps?
Yes. Replit Agent builds native mobile apps with React Native and Expo, for both iOS and Android. You can also turn an existing Replit web app into a mobile app with Median.co without building a second interface.
Can Replit make iOS apps?
Yes. Replit builds native mobile apps with React Native and Expo, and its guided launch process walks you through TestFlight and the Apple App Store. Some older JavaScript projects can add a Mobile app artifact through migration.
Can Replit make Android apps?
Yes. Replit Mobile app artifacts run on Android as well as iOS. Google Play publishing is currently manual, and you'll need a development build whenever Expo Go can't run a native module the app depends on.
Can I turn a Replit app into an APK
Yes. You can build an Android test app from a Replit Mobile app artifact, or from a Median app that loads the deployed Replit website. With Median, you download the APK from the App Studio and install it on your phone. For Google Play, upload an AAB rather than treating the APK as the finished submission.
Can I convert an APK to an iOS app
No. An APK only runs on Android. To get an iPhone app, build an IPA from the same source. If your app runs on Replit, Median builds both from your deployed URL.
Can Replit publish directly to the App Store?
Replit guides Mobile app artifacts through TestFlight and App Store publishing. An existing Replit website can't go straight to the store on its own. It first needs a Mobile app artifact, or a service such as Median.co to package it.
Can Replit publish directly to Google Play?
Replit can build the Android app, but its documentation currently leaves the Play Console submission to you. That still means signing, an AAB, a store listing, disclosures, testing, and review.
Do I need to export or download my Replit code for Median.co?
No. Median.co only needs the stable deployed HTTPS URL. Your Replit source, backend, database, and deployment process all stay in Replit. Exporting only matters if you plan to build the mobile app yourself with a tool like Capacitor.
Does my Replit database stay intact?
Yes, as long as the mobile app keeps using the same backend. Replit says an eligible project migration preserves the URL, database, and secrets, and a Median app simply uses the deployed website and its existing connections.
Should I use Replit or Median for the mobile app?
Use Replit when you want a separate React Native interface and can commit to maintaining it. Use Median when the responsive website already is the product and you want that same interface on the web, iOS, and Android.
Will Apple reject a Replit web view app?
It can, if the app feels like a website in a frame. Apple's Guideline 4.2 rejects apps without enough native functionality. Adding native features such as push notifications, biometric login, a native tab bar, or offline handling gives reviewers a reason to approve it. For more details, see will Apple approve my webview app?
Is it free to turn a Replit app into an APK?
Yes. You can build and download a test APK from your deployed Replit URL in Median's App Studio for free. Publishing to Google Play and the App Store needs a Median license, which starts at $229 to activate and $179 a year and covers both platforms, plus Google's one-time $25 and Apple's $99 a year.
*DISCLAIMER: This content is provided solely for informational purposes. It is not exhaustive and may not be relevant for your requirements. While we have obtained and compiled this information from sources we believe to be reliable, we cannot and do not guarantee its accuracy. This content is not to be considered professional advice and does not form a professional relationship of any kind between you and GoNative.io LLC or its affiliates. Median.co is the industry-leading end-to-end solution for developing, publishing, and maintaining native mobile apps for iOS and Android powered by web content. When considering any technology vendor we recommend that you conduct detailed research and "read the fine print" before using their services.*