View source | View content page | Page history | Printable version   

Projects:WebUSB and WebBluetooth receipt printers/Technical Documentation



WebUSB and WebBluetooth is fully supported by Chrome since version 61 in desktop systems: Windows, Linux, Mac, and mobile systems: Android. This technology contains all functionality needed to communicate with receipt printers. But iOS (iPhone, iPad) do not support any of these technologies at this moment.

The API makes extent use of javascript Promises to provide an asynchronous API. For security reasons, WebUSB and WebBluetooth are only available to secure pages (https://…) and request queries of WebUSB or WebBluetooth devices can only be executed as a result of a user gesture, like a click. Request queries cannot be executed in asynchronous calls.

Challenges and risks

Basic support of printing receipts using WebUSB and WebBluetooth is a very feasible project. But being a reimplementation with an experimental technology of a core piece of POS terminals, several challenges and risks must be faced:

Project scope

The current hardware manager supports a large list of devices types: printers, cash drawers, customer displays, RFID. Different connections: USB, serial, javapos, Different printer models, Different character sets, … For the first version of this project the plan is to support the following:


WebUSB and WebBluetooth specifications:

Chrome provides also internal pages that allows to inspect and debug USB and Bluetooth connections:

Retrieved from ""

This page has been accessed 1,672 times. This page was last modified on 28 December 2021, at 08:24. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.