Free tool

Offline readiness checker

A bundled HTML app runs from the phone's storage with no server. This scan finds what in your page still assumes one — external scripts, fonts, fetch calls, module imports, absolute paths — and tells you what to change before you build.

Scan your page

Paste the HTML of your main page (index.html). Inline CSS and JavaScript are scanned too. Nothing is uploaded.

Drop index.htmlor paste below

What "bundled" changes

When an HTML file is converted to an APK, it is copied into the app's assets folder and loaded by Android's WebView straight from the phone's storage. There is no web server, and in most builders the page is served from a special local origin rather than from a real domain. Three consequences follow, and they explain almost every "it worked in Chrome but the app is blank" report:

  1. Anything fetched from the internet needs the internet. A jQuery from a CDN, a Google Font, Bootstrap's CSS, a Font Awesome kit — each one is a request that fails in airplane mode. The script never arrives, the code that depends on it throws, the page stops.
  2. The browser's security rules for local files apply. ES module scripts (type="module") are refused, fetch() of a local JSON file is refused, and service workers do not register. These are rules about origins, not bugs in the builder.
  3. "/" means the device root, not your folder. /css/style.css is a perfectly good path on a web server and points nowhere inside an app. Every path needs to be relative.

The checker looks for each of those patterns — plus the things that merely need a permission switched on, and the things that are fine — and ranks them so you fix the fatal ones first.

Reading the result

The fix for most pages

Download every library you use and put it in a js/ folder next to index.html; do the same for CSS frameworks and for fonts (as .woff2 files with an @font-face rule). Change every path that starts with / to one that does not. If you use a bundler, build once to a classic (non-module) script. Then ZIP the folder, or use the merger to collapse it into one file, and build.

Frequently asked questions

My page uses a CDN for jQuery. Will it work in the app?

Only while the phone is online, and even then the first paint waits for the download. Save the library file into your folder and reference it relatively — it is a few hundred kilobytes and then the app works everywhere.

Why are module scripts a problem? They work on my server.

On a server the page has an https origin and modules load normally. Inside the APK the page is loaded from local storage, and the WebView refuses module scripts from that origin for security reasons. Build to a classic script instead.

Can a bundled app still call my API?

Yes — fetch() to an https address works whenever the phone has a connection. The checker flags it so you handle the offline case rather than showing a broken screen.

Does the tool scan my CSS and JavaScript files too?

It scans whatever you paste, including inline styles and scripts. External files are not fetched; paste their contents too if you want them checked.

Is the HTML uploaded to check it?

No. The scan is a set of pattern matches run in your browser. Nothing leaves the page.

Read next

Related tools

Your HTML, installed on a phone today

Upload the file or ZIP, pick a name and an icon, and download a signed Android APK in minutes. Free to start — no Android Studio, no code changes, no card.

Convert HTML to APK — free