What is Chrome Kiosk Mode?
If you're building a self-service kiosk, monitoring dashboard, or digital signage, you need the browser locked to your app — no address bar, no menus, no escape.
Chrome's --kiosk flag does exactly that. It opens your site in true full-screen with zero UI chrome.
Real-world use cases:
- Payment kiosks (restaurants, retail)
- Self-service catalogs
- NOC/factory dashboards on TVs
- Airport/bank check-in terminals
Windows 10/11: Setup in 2 Minutes
Method 1: Desktop Shortcut (Recommended)
# Right-click Desktop > New > Shortcut
# Enter this as the target:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --kiosk "https://your-app.com"
Pro tip: Add --disable-notifications --incognito to block pop-ups in public kiosks:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --kiosk --disable-notifications --incognito "https://your-app.com"
To exit: Alt + F4
Method 2: Auto-start on Boot
# Press Win + R
# Type: shell:startup
# Copy your kiosk shortcut to this folder
# Reboot — Chrome launches automatically in kiosk mode
Combine with auto-login (skip the Windows password screen) for a fully unattended setup.
Method 3: Silent Printing (Receipts/Orders)
chrome.exe --kiosk --kiosk-printing "https://your-pos-app.com"
This bypasses the print dialog entirely — perfect for POS terminals that need to print receipts automatically.
Linux (Ubuntu/Debian)
# Install Chrome
sudo apt install google-chrome-stable
# Run in kiosk mode
google-chrome --kiosk "https://your-app.com"
# Advanced: disable GPU issues + notifications
google-chrome --kiosk --disable-gpu --disable-notifications \
--no-first-run --start-fullscreen "https://your-app.com"
Auto-start with systemd
Create /etc/systemd/system/kiosk.service:
[Unit]
Description=Chrome Kiosk
After=graphical.target
[Service]
User=kiosk
Environment=DISPLAY=:0
ExecStart=/usr/bin/google-chrome --kiosk --disable-notifications "https://your-app.com"
Restart=on-failure
[Install]
WantedBy=graphical.target
sudo systemctl enable kiosk
sudo systemctl start kiosk
Raspberry Pi (Chromium)
The Pi is the go-to for cheap digital signage. Use Chromium (pre-installed on Raspberry Pi OS):
# Edit autostart
nano ~/.config/lxsession/LXDE-pi/autostart
# Add:
@chromium-browser --kiosk --disable-restore-session-state "https://your-dashboard.com"
Disable screen blanking:
# In /etc/lightdm/lightdm.conf, add under [Seat:*]:
xserver-command=X -s 0 -dpms
Useful Chrome Flags for Kiosks
| Flag | Purpose |
|---|---|
--kiosk |
Full-screen, no UI |
--kiosk-printing |
Silent print (no dialog) |
--disable-notifications |
Block site notifications |
--incognito |
No history/cookies saved |
--disable-translate |
No translation popups |
--noerrdialogs |
Suppress error dialogs |
--disable-infobars |
Hide info bars |
--autoplay-policy=no-user-gesture-required |
Allow auto-play video |
Common Issues & Solutions
Chrome opens with a "restore pages" bar:
Add --disable-restore-session-state to your shortcut.
Kiosk crashes and doesn't restart:
Use a watchdog script or systemd Restart=always.
Touch screen doesn't work properly:
Add --touch-events=enabled flag.
Multiple monitors — kiosk on wrong screen:
Use --window-position=1920,0 to offset to the second monitor.
Wrapping Up
Chrome Kiosk Mode is a powerful, free solution for dedicated displays. Combined with auto-login and systemd/startup scripts, you get a robust kiosk setup without any paid software.
I wrote a more detailed guide (in Portuguese) with screenshots and troubleshooting at tecmestre.com.br/google-chrome-modo-kiosk/.
Questions? Drop a comment — I've deployed kiosks in production environments and happy to help.
Top comments (0)