Application Overview


This application allows any URL to be loaded as a fullscreen kiosk on Chrome OS devices.

Try it now in CWS

Quick links:

Release Notifications

Interested in being notified prior to a new release of the Kiosk app? We will be publishing notification email one week prior to any new releases to allow time for final testing and debugging. You can sign up here.



  • Launches a specified URL full-screen at all times.
  • Optional ability to rotate between URLs at a configurable rate
  • Device power-saving (sleep mode) disabled
  • Can be locked into-single app kiosk on managed Chrome devices.


  • Option to hide cursor
  • Option to disable context menu
  • Option to disable image dragging
  • Option to disable touch highlighting
  • Option to disable text selection

Caveat: these interaction adjustments will only be applied once your content is fully loaded. If you have a multi-page application, the cursor, etc. may be enabled on each page load until the content is fully loaded. Recommended solution is to develop content as single-page (AJAX) application and/or use the following CSS:

  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;

and javascript:

window.oncontextmenu = function(){return false};
window.ondragstart = function(){return false};

Local Administration

Setup can be accessed via keystroke (CTRL+A) and administer-configured username/password.

Remote Administration

On desktop operating systems basic configuration as well as application restart options are available remotely. See “Known Limitations” for details on ChromeOS support.

Inactivity Reset

Allow content to be reset after a administrator-specified period of inactivity.

Manual Reset

Pressing F3 or CTRL+R will reset the content.

Daily restart

Application can be completely restarted at an administrator-specified time once per day.

Remote Schedule Server

Accepts a URL to a JSON feed for a content schedule. If no item is currently scheduled, the default content (specified by the Content URL on Kiosk setup page) is used. Default content will be overridden by scheduled items. Schedule URL is polled at configurable interval. kiosk_t parameter is appended to the URL with a value of the current timestamp to prevent caching of the schedule. Schedule should be formatted according to (a simplified version of) the format provided by Chrome Sign Builder (exported schedules from Chrome Sign Builder are currently supported without support for screen position, repetition or display settings):

  "schedule": {
    "Value":  {
      "items": [
          "content": "",
          "end": "Tue Jul 14 2015 12:30:00 GMT-0500",
          "start": "Tue Jul 14 2015 09:30:00 GMT-0500",
          "content": "",
          "end": "Tue Jul 15 2015 12:30:00 GMT-0500",
          "start": "Tue Jul 16 2015 09:30:00 GMT-0500",


Remote schedule server must have CORS headers set or the Allow-Control-Allow-Origin:* Chrome extension can be installed to allow access. JSONP is not an option since scripts from arbitrary domains cannot be executed inside Chrome extensions.


On ChromeOS devices: Using managed devices and setting Kiosk application to start in Kiosk mode is the recommended solution.
On Windows and OSX: From chrome://apps/ right click on “Kiosk” and “Create shortcut” then copy this shortcut into the startup folder (Windows) or add to login items (OSX).
Linux: Likely similar to Windows and OSX, untested.

Support & Feature Requests

This product is maintained by The Cook Company and provided without warranty or guaranteed support. If you need a bug fix please check that it has not be reported and submit details here:

Patches and new features are released at our convenience. If you need a bug fix or new feature on a specific schedule, please send details to for a quote.

Known Limitations