REPLIT → APP STORES
Publish your Replit app to the stores
Updated July 23, 2026
From Replit deployment to app
Once your Replit app is deployed to an HTTPS URL, it's ready to become a store app. SaasToStore wraps it as a signed Android bundle and desktop installers — your same backend, your same frontend, now installable.
3 steps to ship
1. Deploy on Replit
Use Replit Deployments to get a stable HTTPS URL for your app.
2. Paste the URL into SaasToStore
We validate it, fetch your icon and configure the build.
3. Build and publish
Get a signed .aab for Google Play and desktop installers.
What you get
- Signed Android App Bundle (.aab) + APK for Google Play
- Desktop installers: Windows .msi, macOS .dmg, Linux .AppImage
- Works with any Replit deployment over HTTPS
- Push notifications on the Launch plan and up
- No Android Studio, no Gradle, no code
Which Replit deployment to use
The deployment type you pick decides how the app feels on a phone. Autoscale deployments sleep when idle, so the first launch after a quiet period pays a cold start. On the web that reads as a slow page; inside an installed app it reads as a broken app. A Reserved VM stays warm and opens instantly. A Static deployment is the fastest of the three, and enough when your app has no server of its own. If your users open the app several times a day, a warm deployment is worth more than the compute it saves.
Ship updates without a new store release
The app loads your live Replit URL, so it runs whatever you deployed last. Push a fix on Replit and every installed copy has it on the next launch — no rebuild, no store review, no waiting for users to update. You only resubmit when the shell itself changes: a new icon, a new name, a new permission. For a project that ships several times a week, that is the difference between a store presence you maintain and one you abandon.
Check these before you build
A stable custom domain
Build against your own domain rather than a .replit.app preview URL. The URL is baked into the signed app, and changing it later means shipping a new release.
Sessions that survive a restart
Keep sessions in your database, not in process memory. An Autoscale instance can be recycled between two launches and log everyone out.
WebSockets over WSS
Realtime features keep working, but the connection must be WSS. A plain WS connection is blocked inside the WebView.
No mixed content
Every asset and API call has to be HTTPS. One HTTP image is enough to leave a blank area in the installed app.
What changes for the people using it
On the web your Replit app lives behind a URL somebody has to remember and type. Installed, it sits on the home screen next to every other app, opens without browser chrome, and keeps its own task in the app switcher. The address bar is gone, so the hosting is invisible — nobody sees that the app runs on Replit. Sessions persist between launches instead of expiring with a closed tab, which for a logged-in tool is the single biggest difference in day-to-day use. On the Launch plan and above you can also send push notifications, something a browser tab cannot do reliably on iOS at all.
Frequently asked questions
Does my Replit app need to be deployed first?+
Yes. Use Replit Deployments to get a stable HTTPS URL, then paste it into SaasToStore. A live URL is the only requirement.
Will my backend keep working?+
Yes. The app loads your deployed Replit URL, so your server, database and APIs work exactly as they do on the web.
Do I need to know native development?+
No. SaasToStore handles packaging, signing and the store-ready bundle — you never open Android Studio.
Can I publish to Google Play?+
Yes. You get a properly signed .aab accepted by Google Play (a one-time 25$ Google developer fee applies).
How much does it cost?+
There's a free build to try it; paid plans start at 9€ one-time for your own branding.
My Replit app is slow to open on Android. Why?+
Almost always a cold start. Autoscale deployments sleep when idle, so the first launch has to wake the instance. Switch to a Reserved VM if the app is opened regularly, or serve a static build if there is no server behind it.
Can I keep using the free .replit.app URL?+
It works, but build against a custom domain instead. The URL is embedded in the signed app, so moving to your own domain later means shipping a new store release rather than just redeploying.
Do Replit Auth and Replit DB still work inside the app?+
Yes. The app runs your deployment, so anything that works in a mobile browser works here, including Replit Auth and Replit DB. Keep sessions in the database rather than in memory so an instance restart does not log your users out.
Does wrapping my Replit app slow it down?+
No. The app uses the system WebView, the same engine Chrome uses on Android, so rendering speed matches the mobile browser. What you remove is the browser chrome and the round trip through a typed URL; what you add is a cold start if your deployment sleeps.
Ship your Replit app
Paste your Replit URL. We build the signed app.
Build my app — free