Free tool · Base44 checker

Is your Base44 app ready for the App Store?

Not on its own. Base44 gives you a web frontend plus a hosted backend. The App Store needs a native app, so the frontend gets wrapped in a native shell such as Capacitor while the backend stays where it is. Paste package.json from your Base44 export to see what is set up, what is missing, and get a fix prompt.

  • Free, no signup
  • Runs in your browser
  • Nothing stored
  • Updated

Paste your package.json

Copy package.json from the root of your Base44 code export or GitHub repo.

Try a sample:

Results appear here as soon as you paste. Nothing leaves your browser.

How to use the checker

  1. Export the Base44 project to GitHub, or download the code. Copy package.json from the root.
  2. Paste it into the checker, or drop the file on it. Add capacitor.config if you already added Capacitor.
  3. Fix anything amber or red, using the prompt for Base44 or Cursor.

What gets wrapped — and what stays online

Capacitor packages the frontend — the React and Vite build — into the iPhone and Android app. Base44’s database, auth and backend functions keep running on Base44’s servers, and the app calls them over the internet exactly like the website does. Two consequences:

  • The app needs a connection for anything that touches Base44 data.
  • API calls must use full https:// URLs. Relative paths that work on your Base44 domain break inside an app, whose pages load from a local origin instead.

If @base44/sdk is in the project, the checker points this out so it is not a surprise.

What the checker looks at

CheckWhat it meansWhy it matters
Capacitor present@capacitor/core and @capacitor/cli are installedWithout the native shell there is nothing to upload to TestFlight or Google Play
Versions matchAll @capacitor/* shell packages share one major versionMixed or very old versions fail at cap sync or in the store build
iPhone and Android packages@capacitor/ios and/or @capacitor/androidEach store needs its own native project; you can start with one
Website kind (SPA vs SSR)A static build (a folder with index.html) or a Node serverA phone has no Node server: server-rendered apps open on a blank screen
Build folder (webDir)The folder the app loads after npm run buildWrong folder, blank app
App idA com.studio.myapp-style idIt becomes the bundle ID and package name, and is permanent once the stores know it
Live URLserver.url in capacitor.configLoading your live site instead of the build is the classic Guideline 4.2 rejection
Native pluginsCamera, share, push, haptics…Phone features people actually use are what make a wrapper feel like an app

From Base44 to TestFlight

Connect the GitHub repo in CapWrapp — not the Base44 URL. CapWrapp adds Capacitor if needed, builds on GitHub’s Mac machines, and uploads to TestFlight and Google Play testing. Then run the Guideline 4.2 self-audit: a wrapper that only shows your website is a common rejection.

FAQ

Questions people ask before they ship

Can a Base44 app be published to the App Store?

Yes, once the frontend is wrapped as a native app with a tool such as Capacitor, signed, and uploaded with an Apple Developer account. The Base44 backend stays hosted and the app talks to it over the internet.

Can Capacitor run my Base44 backend on the phone?

No. Capacitor wraps the frontend. Base44’s database, auth and functions stay hosted; make sure the app calls them with full https URLs.

What do I paste?

The package.json from your Base44 code export (the repo root). Add capacitor.config too if you already added Capacitor.

If I pass, will Apple approve the app?

Not necessarily. Ready means the native app can be built. Guideline 4.2 can still reject an app that is only a website in a webview.

From checked to shipped

CapWrapp turns your GitHub repo into iPhone and Android apps, signs every build, and ships it to TestFlight and Google Play — no Mac, no Xcode.

  • Free to start
  • No credit card
  • Sign in with Google or GitHub