Build APK + AAB
Google Play publishing for website owners

From a website to an app that is actually on Google Play.

Wrapping a site in an Android app takes two minutes. Getting that app listed - signed bundle, 512×512 icon, feature graphic, Data safety form, content rating, closed test, review - is where most first-time publishers get stuck. This site builds the bundle and then walks you through everything Google Play asks for, in order, with the exact specs.

APK and AAB free and unlimited · no account · built in your browser · nothing of ours in your app: no ads, no analytics, no watermark

The road

Seven things Google Play will ask you for

The process is the same for every app, but website-based apps trip over particular steps: the bundle format, the forms that must match what the site actually collects, and a policy written specifically about apps that are "just a web page". Here is the whole road, in the order the Play Console asks for it.

Each station links to a guide written for a website-based app, and the publishing checklist puts all of them on one page you can work down.

  1. A developer account

    US$25 once, identity verified. Personal or organisation changes what comes later. Developer account guide

  2. A signed Android App Bundle

    Play accepts only the .aab for new apps, targeting the current required API level. APK vs AAB · Target API level

  3. Listing assets to spec

    512×512 icon, 1024×500 feature graphic, 2-8 screenshots, and texts of 30, 80 and 4,000 characters. Listing tools

  4. A privacy policy URL on your domain

    Public, reachable without login, and consistent with the Data safety answers. Privacy policy guide

  5. The Data safety, content rating and target audience forms

    Answered for what your website and its integrations collect, not for the wrapper. Data safety · Content rating

  6. A closed test, for personal accounts

    12 testers opted in for 14 continuous days before you can apply for production. Closed testing guide

  7. An app that does more than a browser

    Google's minimum functionality policy; push, offline handling and native navigation are the usual answer. Policy guide

Built around rejections

Why website apps get rejected

Google Play's reviewers see thousands of apps that are nothing but a web page in a frame, and a second cluster of refusals is pure paperwork. None of it is hard. All of it is unforgiving. The guides here exist so you learn it from a page instead of a rejection email.

Policy

Minimum functionality

The app offers nothing a browser bookmark doesn't. A bare wrapper is refused; a wrapper with push notifications, an offline state and native navigation is approved every day.

Fix: turn those features on in the builder and describe them in the listing. What reviewers look for

Forms

Data safety mismatch

The form says "no data collected" while the site runs analytics, a chat widget or push notifications. Reviewers compare the form with the app's behaviour.

Fix: declare what your website and integrations actually collect. Data safety for a website app

Forms

Privacy policy missing or wrong

No URL, a URL behind a login, a policy that doesn't mention the app, or one that contradicts the Data safety answers.

Fix: a public page on your own domain, written for the app. Privacy policy guide

Listing

Metadata and screenshots

Screenshots with a browser bar showing, "#1" or "best" in the title, keyword-stuffed descriptions, a feature graphic with text under Play's video button.

Fix: framed screenshots and plain, honest text - the tools below produce both. Listing guide

All eight common rejection reasons, decoded →

How the builder works

Three screens, then a signed bundle

1

URL and identity

Your website address, the app name, a package name that will be yours forever on Play, and your icon. The icon becomes an adaptive launcher icon and the 512×512 listing icon.

2

Behaviour

Splash screen colours and logo, orientation, pull-to-refresh, exit confirmation, external-link handling, an offline screen, optional OneSignal push and AdMob - the features that make it an app rather than a bookmark.

3

Signed output

Everything is generated in your browser; the signing key is derived deterministically so rebuilds keep the same signature. App signing explained

FreeAPK + AAB · unlimited builds

A signed APK for direct installs and the Android App Bundle Google Play requires, from one build. No account, no watermark, no limit on rebuilds.

The Appwright app

Or build on the phone - with every feature free

Appwright is the Android app whose integration guide lives on this site. It builds from a website, an HTML page, a ZIP project or a description typed into its AI builder - and since September 2026 it has no plans at all. Everything that used to be a paid upgrade is free for every app you make, supported by a few ads inside Appwright itself and never inside the apps it builds.

📦

Play bundle and APK

The signed .aab Google Play requires and the APK for testing, unlimited, from the same build.

💰

AdMob and In-App Selling

Your AdMob units in your app, and Play Billing products and subscriptions sold from your own page.

🔑

Your own signing key

Bring the keystore Play already knows, or let Appwright keep a per-package key so every rebuild updates cleanly.

🔔

Push and Remote Update

Notifications through your own Firebase project, and unlimited content updates without a Play release.

🧩

Every native bridge

Camera, files, Bluetooth, biometrics, widgets, share targets and the rest of the guide, in every build.

✨

Nothing stamped on your app

No watermark, no badge, no attribution in any generated app or export. It is your app, all of it.

Want Appwright without ads? Remove Ads is $2 once; Support Development is $6 a year →

Decisions

Publishing decisions this site helps you make

QuestionShort answerGuide
Personal or organisation developer account?Personal is faster; organisation skips the 14-day closed test but needs a D-U-N-S numberDeveloper account
Can I use my own checkout in the app?Yes for physical goods and off-app services; digital goods must use Play BillingPayments policy
What do I put in Data safety for a WebView app?Whatever your website and integrations collect - analytics, push identifiers, account dataData safety
Will a website app pass review at all?Yes, with push, offline handling, native navigation and honest metadataMinimum functionality
Why was my app rejected?The eight most common reasons, decodedRejection reasons
Should I use a PWA instead?If iPhone matters and you control your hosting, maybe - compared honestlyCompare
Listing tools

Every asset the Play Console asks for, to its spec

Each image and text field in the Play Console has a rule. These tools produce assets that meet them, in your browser, with nothing uploaded - the badge on each card is the requirement it targets.

Guides

Latest publishing guides

Written from real Play Console behaviour and real rejection emails, dated, and updated when Google moves the goalposts.

All publishing guides →

Frequently asked questions

Is the app really free to build?

Yes, whichever way you build it. Here in the browser: the APK and the AAB Google Play requires come from one free build, with no account and nothing of ours stamped on the app - no ads, no analytics, no watermark. In the Appwright Android app: every feature is free, funded by a few ads inside Appwright itself. Google's own US$25 one-time developer registration is paid to Google.

Is everything in Appwright really free?

Yes. Play bundle and APK, AdMob in your apps, in-app selling, your own signing key, push, unlimited remote update and every native bridge in the guide are free for every app, with no watermark or badge on the result. The only purchases are Remove Ads ($2, once - not a subscription), Support Development ($6 a year, cancel anytime in Google Play), and the AI Mints and iOS build packs that are bought per use. If you bought Unlock or ProMax earlier, those are the same two products under the old names and nothing changes for you. Pricing in full.

Does Appwright work offline?

No. Appwright needs an internet connection to build, to run its AI builder, to verify purchases and to show the ads that keep it free. The apps it builds can be offline apps; the builder itself is not. The browser builder on this site also runs online, in your tab.

Will Google Play accept an app that shows my website?

Yes, provided it offers more than a browser does and the listing is honest. Google's minimum-functionality policy targets bare wrappers; enable push notifications, the offline screen and native navigation in the builder, and fill the forms accurately. The policy guide explains what reviewers check.

APK or AAB - which do I upload?

Google Play accepts only the AAB for new apps. The APK is for installing on your own devices, sharing with testers outside Play, or distributing yourself. Every build gives you both, free, from the same configuration.

What happens to my site's content updates?

They appear in the app immediately - the app displays your live website. You only publish a new bundle when you change the icon, colours, package settings or need a new target API level, which Google raises about once a year.

Where is my data processed?

In your browser tab. The URL, icon and settings you enter are used locally to assemble the package; we do not receive them. The website itself uses Google Analytics and shows Google AdSense ads, described in the privacy policy.

Build the bundle. Then follow the checklist.

The APK and the AAB Google Play needs are both free - and every step after the upload is documented here.

Build APK + AAB → Publishing checklist