Android App MakerHTML & URL to APK
Make an app from…

GitHub Pages to Android app (APK): live or offline

A GitHub Pages site is plain static files, which means you can choose: wrap the live github.io URL, or put the files themselves inside an offline app.

Updated October 2026 · 2 min read

Short answer

For a live app, paste https://username.github.io/repo/ into a URL to APK maker. For an offline app, download the built files (not the source), make sure index.html is at the top of the ZIP and all paths are relative, then build with HTML to APK.

Live route
URL to APK
Offline route
ZIP → HTML to APK
Common bug
Absolute /repo/ paths
Cost
Free

Route 1: live github.io URL

Simple: copy the Pages URL from Settings → Pages and build. Every push to the publishing branch updates the app. Good for docs, changelogs and anything that changes often.

Route 2: offline app from the repo files

  1. Get the built outputPlain HTML repo? Use Code → Download ZIP. Vite/React/Vue? Run the build and use the dist/ or build/ folder.
  2. Fix the top folderGitHub's ZIP wraps everything in repo-main/. Unzip, then zip the contents so index.html is at the root.
  3. Fix the base pathProject pages are served under /repo/, so builds often contain /repo/assets/…. Inside an app that path doesn't exist. Set the base to ./ (Vite: base: './'; CRA: "homepage": ".") and rebuild.
  4. Build with HTML to APKPick the ZIP, name, icon, build.

Spot the path problem

In your HTMLWorks offline in app?
src="assets/app.js"Yes
src="./assets/app.js"Yes
src="/assets/app.js"No — points at the root of nothing
src="/repo/assets/app.js"No
src="https://cdn…/lib.js"Only with internet

Single-page apps using browser-history routing (/about without a hash) should switch to hash routing for an offline build, since there's no server to fall back to index.html.

Questions people ask

Is a GitHub Pages app free?

Yes — Pages hosting is free for public repos and both Android makers build without charge.

Why is my offline GitHub Pages app a white screen?

Almost always absolute paths or history routing. Make paths relative and use hash routes.