Setting Up a Chrome Kiosk Printing Shortcut

Chrome can be launched with command-line flags that put it in fullscreen kiosk mode and send print jobs straight to the default printer without showing the print dialog. This is useful for POS terminals, label stations, shop-floor displays, and any workstation where an operator should not be choosing printers or clicking through a preview.

This article covers creating a dedicated shortcut so the flags apply only to that launcher, leaving normal Chrome untouched.

The flags

FlagWhat it does
--kioskOpens fullscreen with no address bar, tabs, or window controls.
--kiosk-printingSuppresses the print dialog. Ctrl+P and window.print() send immediately to the default printer.
--user-data-dir="C:\ChromeKiosk"Forces a separate Chrome instance and profile. Recommended — see Common problems below.

Note: the flag is --kiosk-printing, not --kiosk-print. The shortened form is silently ignored, which usually shows up as the print dialog still appearing.

The two flags are independent. --kiosk-printing works on its own if you want silent printing without fullscreen.

Windows

  1. Copy an existing Chrome shortcut. Copy a desktop shortcut and paste it back to the desktop, then rename the copy to something clear like Chrome Kiosk Print. If there is no desktop shortcut, right-click the Start menu entry, choose Open file location, then copy the shortcut from there. As a last resort, right-click the desktop and choose New → Shortcut, pointing it at:
    C:\Program Files\Google\Chrome\Application\chrome.exe
  2. Open Properties. Right-click the new shortcut, choose Properties, then the Shortcut tab. The Target field shows the quoted path to chrome.exe.
    If Target is greyed out, you copied a Start menu app link rather than a real .lnk file. Use the desktop copy instead.
  3. Add the flags after the closing quote. Leave the quoted path exactly as it is. Flags go outside the quotes, separated by spaces:
    "C:\Program Files\Google\Chrome\Application\chrome.exe" --kiosk --kiosk-printing --user-data-dir="C:\ChromeKiosk" https://example.com/your-page
    The URL is optional but usually wanted, since kiosk mode has no address bar to type one into.
  4. Set the default printer. Kiosk printing uses whatever Windows has set as default, with no confirmation. Go to Settings → Bluetooth & devices → Printers & scanners, turn off Let Windows manage my default printer, then set the correct printer as default. Set its paper size and margins here too — there is no preview to adjust them in.
  5. Apply and test. Click Apply, then OK, and launch the shortcut. Press Ctrl+P on the page; it should print with no dialog.

To exit kiosk mode, press Alt+F4. F11 does not exit it.

macOS

There is no Target field to edit. Create an Automator application containing a Run Shell Script action, or save the following as a .command file and mark it executable with chmod +x:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
  --kiosk --kiosk-printing \
  --user-data-dir="$HOME/ChromeKiosk" \
  https://example.com/your-page

Set the default printer in System Settings → Printers & Scanners before testing.

Linux

Copy the desktop entry so package updates do not overwrite your changes:

cp /usr/share/applications/google-chrome.desktop ~/.local/share/applications/chrome-kiosk.desktop

Edit the copy and append the flags to the Exec= line, and change Name= so it is distinguishable in the launcher:

Exec=/usr/bin/google-chrome-stable --kiosk --kiosk-printing --user-data-dir=/home/user/chrome-kiosk https://example.com/your-page

Common problems

The flags appear to do nothing

Chrome ignores command-line flags when an instance is already running — the new window simply attaches to the existing process. Either use --user-data-dir to force a separate instance (recommended), or fully quit Chrome first, checking Task Manager for leftover chrome.exe processes.

The print dialog still appears

Check the flag spelling. --kiosk-print is not a valid flag and is ignored without warning.

Output goes to the wrong printer

Kiosk printing always uses the system default. On Windows, confirm Let Windows manage my default printer is off — otherwise Windows reassigns the default to the last-used printer.

Margins, headers, or scaling are wrong

With no dialog there is no place to adjust page setup at print time, so it must be handled elsewhere: in the printer driver defaults, or in the page's own CSS using an @page rule and print stylesheet.

Nothing prints from a web app

Confirm the page calls window.print() rather than opening a PDF in a viewer tab. Content in an embedded PDF viewer does not always route through kiosk printing.

Notes for POS and label stations

  • The setup is per-machine. Every terminal needs its own shortcut and its own correctly configured default printer.
  • Kiosk printing is the fastest fix when browser-generated PDF receipts are prompting for a dialog. For high-volume receipt printing, a direct ESC/POS connection is more reliable long-term, since it avoids the browser rendering path entirely.
  • Because kiosk mode hides browser controls, plan a documented exit route for staff (Alt+F4, or a lock-screen policy) before deploying to a shop floor.