Key takeaways
- Replit previews Android apps in an emulator and in Expo Go, but publishing to Google Play is not supported by Replit as of October 2026.
- The quickest route is a WebView wrapper around your published Replit web app; the native alternative is building your Expo project outside Replit.
- Because a Replit app is code you control, you can serve assetlinks.json and verify App Links – a step many no-code builders can't offer.
- Plan for Google sign-in outside the WebView, a deployment without cold-start blanks, a 14-day closed test and honest Data safety answers.
Our recommended solution
Turn your Replit app into a real Android app with WebViewGold
WebViewGold wraps the Replit web app you already have in a native Android Studio project and adds push notifications, a native offline screen, deep links, a QR scanner and more – the native value reviewers at Google Play look for. Built by our own team, and we submit WebViewGold apps all the time.
Can you convert a Replit app to an Android app?
Yes – but Replit won't take the last step for you. To convert Replit to an Android app today, wrap your published Replit web app in a native Android shell such as WebViewGold and upload the result to Google Play yourself, or move a Replit mobile project out of Replit and build the Android App Bundle with your own tooling. Replit's documentation is plain about it: "Publishing to Google Play is not yet supported by Replit."
What Replit does support on Android is building and previewing. Agent's Expo projects run in an Android Emulator inside the Project Editor on Core, Pro and Enterprise plans, or in Expo Go on an Android phone. Publishing, however, covers TestFlight and the App Store only, and EAS CLI and EAS Build aren't supported on Replit – so the Android release of an Expo project has to be built elsewhere.
The iOS side works differently and is covered in our Replit to iOS guide.
Three roads from Replit to Google Play
| Road | Starts from | You end up with | Choose it when |
|---|---|---|---|
| WebView wrapper (WebViewGold for Android) | Your published Replit web app | An Android Studio project with native modules, built into an AAB | Your web app works, has users and should stay one codebase |
| Expo project built outside Replit | A Replit mobile project, downloaded as a zip or synced to GitHub | A native React Native app you build and sign with your own Expo and Android toolchain | You want native UI and have developer time for a build pipeline |
| Trusted Web Activity (Bubblewrap or PWABuilder) | Your web app as a progressive web app | A full-screen browser app verified through Digital Asset Links | The app already works well as a PWA and needs few native integrations |
Replit's monetization docs name the App Store or Google Play as the go-live step for RevenueCat subscriptions, so the Expo road keeps your billing model. A TWA is the lightest package, and our PWABuilder comparison explains where it stops. The wrapper road is the shortest for an existing web app, and the rest of this guide follows it.
Want your Replit app in Google Play without the trial and error?
Book a free consultation call: we check your web app, tell you which native features it needs and what to fix before review. Or hand it off – our App Specialists set up signing and CI/CD, prepare the store listing and submit the app for you.
Prepare the Replit deployment before you package anything
- A stable domain. Connect a custom domain – Replit shows you an A record and a TXT verification record to add at your registrar. A remixed app can receive a different
replit.appsubdomain, and your Android app shouldn't depend on that. - No sleeping server. Autoscale scales to zero when idle and needs a few seconds to wake up, while the WebView shows nothing. That blank first screen can end up in Google's pre-launch report and in front of reviewers. A Reserved VM never sleeps; on Autoscale, show a native loading state. Our guide to Google Play's broken functionality policy covers what reviewers flag.
- Public access. A private or password-protected deployment puts a Replit sign-in or a shared password in front of every Android user and the review team.
- A paid plan. Starter deployments go down automatically after 30 days and carry a "Made with Replit" badge with your referral link; removing the badge requires Core.
- Production configuration. Secrets and databases are separate per environment. Set production secrets in the deployment settings, republish and create reviewer accounts on the published app.
- Digital Asset Links. Serve
/.well-known/assetlinks.jsonwith your package name and the SHA-256 fingerprint of the Play app signing key. Since a Replit app is code you control, that's one small route Agent can add – and it unlocks verified App Links and a clear ownership signal for Google.
Android details that break wrapped Replit apps
Google sign-in
Replit's docs warn that "Google sign-in does not work in embedded browsers or in-app webviews", and Google has answered OAuth requests from embedded WebViews with a disallowed_useragent error since 2021. On Android, Google recommends Custom Tabs for such flows, and a native sign-in through Credential Manager works too. Both mean native code in the Android project, so plan them as a customization – or offer Clerk's email and password in the app and keep Google login on the web. Whatever you show must be enabled in Replit's Production environment, ideally with your own OAuth credentials.
Back gesture
Targeting API 36 brings predictive back by default, and onBackPressed() no longer fires. The wrapper has to map the gesture to WebView history and close the app only from the first screen.
Uploads and downloads
Forms that Agent generates with file inputs need onShowFileChooser in the WebView, or the button does nothing. WebViewGold brings the upload dialog – its document scanner adds a "Scan document" option – and a file downloader for exports such as PDFs and CSV files.
Notification permission
From Android 13, apps need the POST_NOTIFICATIONS runtime permission before showing push, and Firebase Cloud Messaging carries the messages. Ask for the permission after the user has seen why notifications help, and let your Replit backend trigger the events.
Other people's pages
Documentation, social profiles or a hosted checkout for physical goods belong in a Custom Tab, not in your WebView. Keep your own domain inside the app with WebViewGold's URL handling.
The shortcut from Replit to Google Play
WebViewGold: your Replit app, native on Android
Instead of building native features from scratch, start from WebViewGold. You get ready-made Xcode and Android Studio projects for your website, with native modules you switch on in the configuration:
- Push notificationsOneSignal or Firebase, for real, personal events
- Native offline screenNo browser error pages when the connection drops
- Native splash screenApp-like start instead of a loading web page
- Deep linksLinks open the right screen inside the app
- QR & barcode scannerDevice features the website alone can't offer
- In-app purchasesNative purchase flows where the store requires them
No tool guarantees an approval: Google still judges what your app offers. Use the native features in your main user journey and keep proving that you own the website – our App Specialists review your WebViewGold app before it goes to Google Play.
A realistic Google Play timeline for a Replit app
| Phase | What happens | Time Google states |
|---|---|---|
| Account | Personal or organization Play Console account with a one-time fee and identity verification; organizations need a D-U-N-S Number | – |
| First upload | An AAB targeting API level 36, Play App Signing, internal testing (which doesn't count toward the test requirement) | – |
| Closed test | New personal accounts: at least 12 testers opted in without interruption | 14 days minimum |
| Production access | An application with questions about the test, the app and its readiness | Usually seven days or less |
| Release review | Policy review of the production release | Up to seven days, or longer in exceptional cases, for apps under extended review |
| Rollout and updates | Staged rollout; every update with a higher versionCode and the same upload key | – |
Start the closed test with a build whose sign-in, cold start and uploads already work – testers who meet a blank screen on day one rarely stay engaged. Our closed testing guide covers recruiting and the production access questions, and the target API guide explains the API 36 rule in force since August 31, 2026.
Policies Google checks in a wrapped Replit app
- Webviews and Affiliate Spam. Show that the site is yours: developer name, contact email and website on your domain, plus the asset links file. Drop the Starter badge, too – there's no reason to ship a referral link to another company inside a store app.
- Limited Functionality and Content. Native navigation, push and scanning in the main journey keep the app from looking like a bookmark.
- Data safety. Declare Clerk account data, payment data, analytics and anything sent to AI models; data collected by WebView content you control counts as yours. See our Data safety guide.
- Account deletion. Users need a deletion path inside the app and a web page for deletion requests whose URL you enter in Play Console. Ask Agent to build both – the web page has to work without the app.
- Payments. Stripe or Whop checkouts that unlock digital content need Google Play Billing in the Android app – WebViewGold's Play Billing module in a wrapper, RevenueCat in an Expo app. Physical goods and services can keep Stripe, and some countries allow alternative billing programs.
- Consistent behavior. Google's Deceptive Behavior policy expects the app to behave the same for reviewers and users – the discipline our article on Replit and Apple's Guideline 5.6 describes.
WebViewGold for Android and appsubmitter.io: the hand-off
WebViewGold, the website-to-app solution made by our team, supports Replit projects and anything else that runs in Chrome. Its Android edition is a ready-made Android Studio project: you set your custom domain, switch on modules and build the AAB – or let the separately sold Cloud Builder do it in the browser. It's a one-time purchase, and you publish in your own Play Console account. Here is how the modules map to typical Replit gaps:
| Replit gap | WebViewGold for Android |
|---|---|
| Cold start after an idle period | Native loading indicator, offline page with Reconnect |
| Stripe or Whop checkout for digital goods | Google Play Billing module (Extended license) |
| No native reason to install | Push via OneSignal, Firebase or Pushwoosh; QR and barcode scanner; biometric login |
| Shared links open in the browser | App Links and deep linking |
| File inputs and exports in Agent-built forms | Upload dialog with document scanner, file downloader |
| Rating requests | Native Google Play review dialog |
From there, appsubmitter.io can run the release. We create the upload key and enroll the app in Play App Signing, set up a pipeline that builds signed bundles for every release, write the store listing and fill in the Data safety form, help you plan the 14-day test and phrase the production access answers, then submit the app and handle Google's questions – always in your own Play Console account. Native customizations such as a Credential Manager sign-in are quoted upfront. Book the Android service or start with a free consultation call.
Checklist before you submit
- You picked a road: WebViewGold wrapper, an Expo build outside Replit or a TWA.
- The web app runs on a custom domain with public access, not on a Starter deployment.
- A Reserved VM or a native loading state keeps cold starts from showing a blank screen.
- assetlinks.json on your domain lists the package name and the Play app signing fingerprint.
- Google sign-in uses a Custom Tab or Credential Manager – or stays on the web while the app offers email and password.
- Back gesture, file uploads and the notification permission work on a real Android phone.
- The AAB targets API level 36 and is signed with your upload key under Play App Signing.
- A personal account runs a closed test with at least 12 engaged testers for 14 days.
- Data safety answers cover Clerk, payments, analytics and AI features.
- Account deletion works in the app and through a public web page.
- Digital goods use Google Play Billing; Stripe and Whop never unlock digital content in the Android app.
Frequently asked questions
Can Replit publish my app to Google Play?
How do I convert my Replit web app into an Android app?
Do I need Android Studio to publish a Replit app on Google Play?
Why does Google sign-in fail inside my wrapped Replit app?
Can I use a Trusted Web Activity instead of a WebView?
assetlinks.json file on your domain verifies the connection – easy to serve from a Replit app. A TWA proves ownership but adds no native features, so it still has to meet Google's Limited Functionality and Content policy.How long does it take to get a Replit app onto Google Play?
Recommended solution
From Replit to Google Play: WebViewGold + appsubmitter.io
- 1 Build with WebViewGold Turn your website into native iOS and Android projects.
- 2 Add native value Push, offline screen, deep links or scanning in your main flow.
- 3 We submit it Our App Specialists submit and talk to the review team.
WebViewGold is made by our team (jocapps GmbH). It is a tool, not a guarantee – approval decisions are made by Apple and Google.
Sources and further reading
- Replit Docs – Native mobile apps (Google Play publishing not yet supported)
- Replit Docs – Deployment and publishing FAQ (cold starts, separate secrets)
- Replit Docs – Sign-in providers
- Replit Docs – Starter plan
- Play Console Help – App testing requirements for new personal developer accounts
- Play Console Help – Prepare your app for review
- Android Developers – Verify App Links
- WebViewGold for Android – documentation
Store policies and third-party products change regularly – always check the current versions. This article is independent advice and not affiliated with or endorsed by Apple, Google or any other company or product mentioned; all trademarks belong to their owners. WebViewGold and appsubmitter.io are made by our team at jocapps GmbH.