Turn your Android device into a locked-down web page in fullscreen mode.

Webview Kiosk is a free and open-source Android application for secure, kiosk-style web browsing.
It can function as digital signage, a kid-friendly restricted browser, an immersive web reader, an interactive sign-up form, a home assistant dashboard, or simply a wall clock.
Designed for small businesses and device owners who are looking for a simple and standalone Kiosk solution.
Key Features
Core / Standalone-
Lock Task Mode (Pin): prevent access to your device's home screen, apps and status bar
-
Secure Settings: configurations are protected by biometrics, device credentials or custom password
-
URL Filtering: use regular expressions to control web access through a URL blacklist and whitelist
-
Export/Import: backup and restore user settings in Base64 or JSON format
-
Local files: display an image, audio, video, or HTML file in kiosk mode from your device
-
Default Launcher: use as the home app and launch other apps in lock task mode (kiosk)
Remote Management / Enterprise
MQTT (Message Queuing Telemetry Transport)
- Monitor events, update settings, execute commands and build custom automations using the API
- Requires an MQTT broker (e.g. Mosquitto, EMQX, HiveMQ)
UnifiedPush
- Send commands and update settings via a decentralised push notification system
- Requires a distributor application (e.g. sunup, ntfy)
Managed Configurations (App Restrictions)
- For fully-managed (company-owned) devices, settings can be remotely configured via an MDM/EMM provider
- Advanced users using a device policy controller (e.g. Test DPC or OwnDroid) can also enforce configurations locally
For more details, visit the official documentation:
- https://webviewkiosk.nktnet.uk
Permissions
-
INTERNET: for general web browsing
-
CAMERA: (optional) for use with web apps that requires photo/video capture
-
RECORD_AUDIO: (optional) for use with web apps that requires audio capture
-
MODIFY_AUDIO_SETTINGS: for routing audio (microphone will not work without this)
-
ACCESS_FINE_LOCATION: (optional) for web apps that needs precise geolocation
-
ACCESS_COARSE_LOCATION: (optional) for web apps that needs approximate geolocation
-
QUERY_ALL_PACKAGES: to find launchable apps, device owners and lock task packages
-
POST_NOTIFICATIONS: (optional) for lock task mode (kiosk) launches and MQTT
-
FOREGROUND_SERVICE: for persistent notification and management with lock task and MQTT
-
FOREGROUND_SERVICE_SPECIAL_USE: provides a return mechanism for opening apps in kiosk
-
USE_BIOMETRIC: replaces USE_FINGERPRINT from Android 9 onwards
-
USE_FINGERPRINT: use fingerprint hardware when accessing settings or unlocking kiosk
-
WAKE_LOCK: to optionally wake the screen when receiving MQTT commands
-
API (Dhizuku): to request shared device owner privileges
Contact
Questions/Feature RequestsCreate a `Q&A` for questions and `Ideas` for feature requests on GitHub discussions:
- https://github.com/nktnet1/webview-kiosk/discussions
Bugs/IssuesReport bugs by creating a GitHub issue describing the problem and how it can be reproduced:
- https://github.com/nktnet1/webview-kiosk/issues
Please also include your device model, app version and android version.
OtherFor all other enquiries, please reach out to:
```
support@webviewkiosk.nktnet.uk
```
WhatsNew:
## UnifiedPush
Adds support for UnifiedPush, a decentralised push notification system designed to be privacy-friendly, flexible, and open.
Similar to MQTT, this can be used to remotely:
- perform actions via commands
- update the app settings
To use this feature, you will need a distributor application such as sunup or ntfy.
For more details, visit the documentation:
- https://webviewkiosk.nktnet.uk/docs/settings/unifiedpush/