How to Turn Your Web App Into a Mobile App (Without Rebuilding It)
Three realistic paths from a web app to a phone app: make it a PWA, wrap it with Capacitor for the App Store and Google Play, or rebuild with React Native. Costs, what Apple rejects, what you need (yes, a Mac), and how to choose.
You built a web app — maybe with Lovable, Replit or Claude — and now people want it "in the App Store". You don't necessarily have to start over. There are three realistic paths, each with different costs and trade-offs.
Path 1: Make it a PWA (cheapest)
A progressive web app is your existing website with a manifest, icons and a service worker added. People can install it to their home screen, it opens full-screen like an app, and it can work offline and send notifications.
- Effort: a day or two.
- Cost: nothing extra.
- App stores: no (by default).
- Limits: iPhone users install via Safari's Share menu; device features are limited.
If your main goal is "an icon on my users' phones", start here. See what is a PWA?
Path 2: Wrap it with Capacitor (the usual answer)
Capacitor is an open-source tool that puts your web app inside a real native app shell for iOS and Android. Your HTML, CSS and JavaScript run inside it, and plugins give access to the camera, push notifications, file system, biometrics and more.
The broad steps:
- Make sure your app builds to static files (a Vite or React app does; a Next.js app needs a static export or should load from your live server).
- Add Capacitor to the project and create the iOS and Android projects.
- Build your web app and copy it into the native projects.
- Open the iOS project in Xcode and the Android project in Android Studio to run, sign and publish.
What you'll need
- For iOS: a Mac. Building and submitting iPhone apps requires Xcode, which only runs on macOS. (Cloud build services exist if you don't own one.)
- An Apple Developer Program membership — $99 per year — to publish on the App Store.
- A Google Play developer account — a one-time $25 fee.
- App icons, screenshots, a privacy policy and store descriptions. (Does my app need a privacy policy? — for app stores, yes.)
The App Store rejection risk
Apple's review guidelines reject apps that are "simply a web site bundled as an app" — apps that don't offer enough beyond the website. To get through review, your app should feel like an app:
- native-feeling navigation, no visible web chrome,
- works properly offline or handles no connection gracefully,
- uses some native features — push notifications, camera, haptics, sharing,
- no links that bounce people out to a browser for core features.
Google Play is generally more lenient, but quality still matters.
Payments: a big catch
If your app sells digital goods or subscriptions used inside the app, Apple and Google generally require you to use their in-app purchase systems and take a commission — rules vary by country and are changing in some regions. Selling physical goods or services is different. Check the current store rules for your situation before you build around a payment flow. (Stripe vs Paddle vs Lemon Squeezy covers web payments.)
Path 3: Rebuild with React Native or Expo
React Native (often with Expo) builds genuinely native interfaces using React. If your web app is in React, the concepts carry over, but the UI components are different, so most screens are rewritten.
- Effort: weeks to months.
- Result: the best native feel and performance.
- When: the app is your core product, users expect a polished native experience, or you need heavy device features.
You keep your backend either way — the API, database and logins your web app already uses can serve the mobile app too. That's the part that's hardest to rebuild, and you don't have to.
How to choose
| PWA | Capacitor | React Native | |
|---|---|---|---|
| Reuses your web code | Fully | Almost fully | Logic only |
| In app stores | No | Yes | Yes |
| Native feel | Fair | Good | Best |
| Device features | Limited | Most | All |
| Time | Days | 1–3 weeks | Weeks–months |
| Needs a Mac for iOS | No | Yes | Yes (or cloud builds) |
A sensible sequence for most small products: PWA first to see whether people use it on their phones; Capacitor when you need app-store presence or notifications; React Native only if the mobile app becomes the main product.
Before any of this: make the web app mobile-ready
Every path depends on your app already working well on a small screen. Fix layouts, tap targets and text sizes first — see responsive design basics. And make sure your API is served over HTTPS from a stable domain; mobile apps can't call localhost.
The summary
- PWA: cheapest, installable, no app stores.
- Capacitor: wraps your web app for the App Store and Google Play; needs a Mac, a $99/year Apple account and a $25 Google account, and must feel like a real app to pass review.
- React Native: rewrite the interface for the best native result.
- Your backend works for all three.
EasySpawn hosts your app's backend — API, database and logins — on your own domain with HTTPS, so your web app, PWA and mobile apps can all talk to the same server. See how it works or join the waitlist.
Related: Web App vs Mobile App · What Is a PWA? · What Is an API? · Move a Replit App to Your Own Hosting
Keep reading
What Is Vercel? What It Does, What It Costs You, and When to Use Something Else
Vercel is a hosting platform built around frontend frameworks, especially Next.js: push to GitHub and your site is live. What it actually does, what serverless functions mean for your app, where the limits are, and when a regular server is a better fit.
How to Build a Landing Page That Gets Sign-Ups
A landing page has one job: get the visitor to take one action. The sections that work, how to write a headline that says what the product does, where to put the sign-up form, what to measure, and the technical basics that stop it looking broken when shared.