Free tool

WebView config generator for your website app

Tick what your website actually uses — camera, location, uploads, downloads, push — and get back the manifest permissions, the WebSettings block and the runtime-permission code that make those features work inside an Android app.

What does your site need?

Ask for only what you use — every extra permission is one more thing a user can decline and a reviewer can question.

Device features

WebView behaviour

Two layers have to agree before a feature works

When your website asks for the camera, a browser shows a permission prompt and gets on with it. Inside an app there are two layers: the web page asks the WebView, and the WebView has to be allowed by Android. The app must declare the permission in its manifest, request it from the user at runtime on Android 6 and later, and then grant the page's request in the WebView's permission callback. Miss any one and the feature silently does nothing — no error, no prompt, just a button that does not work.

This generator produces all three layers from a list of checkboxes: what your site needs on the left, what the app must do on the right.

Device features

WebView behaviour

JavaScript and DOM storage are off by default in a raw WebView, which is why a naive wrapper shows a modern site as broken; almost every site needs both. Pinch zoom is usually off for app-like sites and on for documents. Open external links in the browser keeps links to other domains from trapping users inside your app. Content bundled in the app switches on the file-access settings a bundled HTML or ZIP app needs. Pull to refresh adds the gesture users expect from feeds.

When you make your app with the builder, all of this is configured for you — you tick the same permissions on the build screen and the shell handles the callbacks. This tool is for seeing what that involves, or for wiring a WebView in a project of your own. How a URL app treats links, logins and permissions →

Frequently asked questions

Why does the camera not work in my website app?

The app needs the CAMERA permission in its manifest, a runtime request on Android 6+, and a WebView permission callback that grants the page's request. Tick Camera here to get all three.

Why does tapping a file input do nothing?

A WebView needs the app to supply a file chooser. Without one, the tap is ignored silently. The builder wires this for you; tick File upload here to see the code.

Do I need storage permission for downloads?

Not on Android 10 and later, where downloads go to the public Downloads folder without a permission. You do need a download listener, which a raw WebView lacks.

Should JavaScript and DOM storage be enabled?

Yes, for almost any modern site. Both are off by default in a raw WebView, which is why wrappers built without them show broken pages.

Does the builder set all this up?

Yes. Choose the permissions on the build screen and the shell handles the manifest, runtime prompts and callbacks. This tool shows what that involves.

Read next

Related tools

Ready to make your website into an app?

Paste a URL, or upload an HTML file or a ZIP, set your icon and name, and download a signed Android app from the free APK creator. No Android Studio, no command line.

Make my app — free