Skip to content
Back to journal
ReplitAndroidAI Builder

How to Turn a Replit App into an APK and Publish It to Google Play

CCode2Native EngineeringEngineering team
2026-07-24

The short answer:Replit doesn't produce an APK for the web apps it builds. Replit Agent deploys a full-stack web app to a public URL on replit.app (or your custom domain), and Google Play publishing is left entirely to you. The fastest honest path to the Play Store: deploy your app on Replit, wrap that live URL into a signed Android APK/AAB with a cloud build service like ours, and upload the AAB under your own Google Play developer account — realistically the same afternoon.

That's the whole strategy. The rest of this post is the detail that actually matters: what Replit does and doesn't hand you, the exact steps, where the gotchas are (your deployment has to stay running; iOS is not a one-click story), and when you should pick a different route entirely.

What Replit actually gives you — and what Google Play wants

When Replit Agent finishes building, you have a working full-stack web application: a frontend, a backend, usually a database, running in your workspace. Click publish and a Replit Deployment puts it on the public internet at a yourapp.replit.app URL, with custom domains supported. As of mid-2026 that's the product: a deployed web app at a URL. There is no “Download APK” button for it, and Replit's own documentation is upfront that store publishing is your job, on your own developer accounts.

Google Play, meanwhile, doesn't accept URLs. It wants a compiled, signed Android package — and for new apps specifically the AAB format, signed with a release key you must keep using for every future update. A web app at a URL, even a well-built PWA, is not itself something you can submit to the Play Store. That gap — live web app on one side, signed AAB on the other — is exactly the thing to close, and closing it does not require rebuilding your app.

One honest wrinkle worth naming: Replit does have a native mobile path. Replit Agent can generate Expo / React Native mobile apps as a separate project type, and Replit's docs walk through it. But that route means building a different app— and even then, Replit routes you through Expo's EAS build service and your own store accounts for the actual APK and submission. If what you built is a web app (which is most Replit Agent projects), the Expo path doesn't convert it; it starts over.

The step-by-step: replit.app URL to Google Play

  1. Actually deploy it. The preview webview inside your Replit workspace is not a deployment. Publish a real Replit Deployment so your app is reachable over public HTTPS at its replit.appURL or your custom domain. If the URL doesn't load in an incognito browser tab, it won't load inside an app either.
  2. Open it on a phone first.The wrapped app is your web app, rendered full-screen. If the layout breaks at 390px wide or a modal is unusable with a thumb, fix that in Replit before building — wrapping doesn't improve a page, it just installs it.
  3. Paste the URL into Code2Native. Set the app name, choose a package ID (something like com.yourbrand.app— it's permanent once published, so don't ship the default), and upload a 512×512 icon. No icon yet? A clean monogram is generated from your app name.
  4. Build. A wrapper build typically finishes in about three minutes and produces a signed APK (install directly on any device) and a signed AAB (what Play wants), using a release keystore we generate and reuse per project so every future update installs over the last one. Push notifications via OneSignal, hardware back button, offline screen, and mailto:/tel: handling are part of the shell. Your first build is free — one credit, with a watermark on the splash screen.
  5. Test the APK on a real device. Sideload it, log in, click through your critical flows. Pay attention to any OAuth login redirects — they behave like a mobile browser, and it's better to find out now than in a Play review.
  6. Publish under your own Play account. Google's developer registration is a one-time $25. Upload the AAB, fill in the store listing, and note that new personalaccounts must run a closed test with real testers before production release — that's a Google rule, not ours. If you'd rather not manage that testing cycle, we offer a $249 add-on that handles the closed-testing requirement for you.

That's the entire pipeline. Nothing here touches your Replit code, and future edits don't repeat it: because the app renders your live deployment, every change you ship on Replit reaches installed phones instantly — no rebuild, no store update. For an AI-built app that changes daily, that's the single strongest argument for this route. It's the same play we recommend for Lovable and Bolt.new projects, because all three tools share the same shape: great web output, no native packaging.

Your options, side by side

Replit-side details are accurate to the best of my knowledge as of mid-2026 — their product moves fast, so confirm current behavior in their docs.

RoutePlay-ready signed AABTime to first APKUpdates without rebuildReuses the app you already built
Wrap your deployed URL (Code2Native)~3 minutes
DIY: add Capacitor + local Android toolchainAn afternoon to a weekend
Rebuild as an Expo mobile app in ReplitVia Expo EAS, your accountsHours, plus a new codebase
Stay a PWA (add-to-home-screen only)Minutes

The DIY route is real and free, and if you want to learn the Android toolchain it's a fine project — we wrote up the full local Capacitor procedure in our free website-to-app guide. Budget for Android Studio, an SDK, a JDK, a keystore you must never lose, and a rebuild every time your web assets change. The PWA route costs nothing but never gets you a Play Store listing — Play doesn't take URLs, which is the whole problem this post exists to solve.

The caveat nobody puts in the headline: your deployment has to stay up

A wrapped app is a live view of your deployed site. That's what makes updates instant, and it's also the dependency you're signing up for: if your Replit Deployment stops — you unpublish it, your plan lapses, your usage budget runs dry — installed apps show an offline screen instead of your product. Autoscale deployments idling down to zero between visits is fine (users just see a brief cold start); the deployment being gone is not. Treat Replit hosting as a running cost of the app, the same way you would any backend. If you ever migrate off Replit, point your custom domain at the new host and every installed app follows automatically — one good reason to wrap a custom domain rather than the raw replit.app subdomain if you own one.

What about iOS? (Honest version)

Android is the strong path here, and I won't pretend otherwise. On iOS we build an unsigned .ipaon real Apple silicon (Pro tier and up) that you re-sign with your own Apple Developer certificate and submit yourself — we never ask for your Apple ID or App Store Connect access, and you should be suspicious of any service that does. If you just want your app installable on iPhones without certificates at all, a zero-signing Web Clip installs to the home screen in seconds. What we do not do is submit to the App Store for you. If a hands-off App Store listing is a hard requirement, that's a managed-service purchase, not a build-tool purchase.

Who should do what

  • You built a web app with Replit Agent and want it on Google Play: wrap the deployed URL. Signed AAB in minutes, first build free, publish under your own account. This is the mainline case.
  • You iterate on the app daily: wrap the URL, precisely because the wrapper needs no rebuild when your web app changes. Bundled approaches (Capacitor DIY, Expo) turn every edit into a rebuild and, for Play users, a store review.
  • You need deep native features — offline-first data, background services, heavy device APIs: a wrapper is the wrong tool. Replit's Expo route or a real native build is honest advice here, and you should take it knowing it's a separate codebase and Expo's own build pipeline.
  • You want to learn the toolchain and spend nothing: do the local Capacitor build. It's genuinely free, just not fast.
  • You took Replit's Expo path and have React Native source: read the FAQ below before uploading anything — our source pipeline doesn't build React Native today, and I'd rather tell you here than after you've zipped the project.

FAQ

Does Replit have a “download APK” or native app export?

Not for web apps, which is what most Replit Agent projects are. As of mid-2026, a deployed Replit project is a web app at a URL. Replit Agent can separately generate Expo / React Native mobile projects, but even that path produces its APK through Expo's EAS build service and leaves Google Play and App Store submission to you, on your own developer accounts. There is no button that turns an existing Replit web app into an APK.

Can a wrapped Replit app really be published on Google Play?

Yes. You get a signed AAB — the format Play requires — and rebuilds reuse the same per-project signing key, so update twelve installs cleanly over update one. Play's quality bar still applies to the app itself: a thin page with no real functionality can be rejected as low-value, while a working product with accounts and features is routinely accepted. Expect the $25 one-time developer fee, and closed testing first if your Play account is a new personal one.

What happens to my app if my Replit deployment goes down?

Installed apps show the built-in offline screen until the URL is reachable again — the app is a live view of your deployment, not a snapshot of it. Keep the deployment published and funded, and consider wrapping a custom domain so you can move hosts later without touching the installed app.

I used Replit's Expo route — can you build my React Native source code?

Not today, and I won't pretend otherwise. Our source pipeline builds Flutter, native Android (Gradle), and Capacitor projects that include an android/folder. React Native, Expo, and Ionic source builds are on a waitlist, not live. For an Expo project, Expo's own EAS build service is the honest recommendation. If your Replit app also runs on the web, wrapping the deployed URL works regardless of what the source is written in.

How much does this cost?

Your first build is free — one credit, with a watermark on the splash screen. After that, one Android build costs one credit: Starter is $29/month for 10 credits ($290/year), Pro is $99/month for 30 credits ($990/year) with a priority queue and cloud iOS IPA builds, and Agency is $199/month for 100 credits ($1,690/year) plus Windows EXE builds and white-label branding. A $49 urgent option targets delivery within an hour, and the Play closed-testing add-on is $249. We take cards via Stripe and USDT (TRC20 / Arbitrum).

Do I have to rebuild the APK when I change my Replit app?

No. The wrapper renders your live deployment, so shipping a change on Replit updates every installed phone immediately. You only rebuild when the native shell itself changes — a new icon, a new app name, or a new package configuration.

Your Replit app, installable today

Paste your replit.app URL (or custom domain) and get back a signed APK for your device and an AAB for Google Play in about three minutes. First build is free — see the result on a real phone before spending anything.

C

Code2Native Engineering

Engineering team

Written by the Code2Native engineering team — the people who build and operate the cloud build pipeline.