WebApp Hardware Bridge (Web Direct Print, Web Serial Port)

WebApp Hardware Bridge (succeeder of “Chrome Hardware Bridge / Chrome Direct Print”)

Make it possible for WebApps to perform silent print and access to serial ports.

Common use cases:

  • Web-based POS – PDF and receipt silent print
  • Web-based WMS – Serial weight scale real-time reading


  • Direct print from webpage
  • Serial read/write from webpage
  • Support all modern broswers that implemented WebSocket (Chrome, Edge, Firefox… etc)
  • JS SDK/Example included

Web Direct Print

  • 0-click silent printing in web browsers
  • Download via URL / Base64 encoded file / Base64 encoded binary raw command
  • Support multiple printers, mapped by key
  • Support PDF/PNG/JPG Printing
  • Support RAW/ESC-POS Printing

Web Serial Access

  • Bidirectional communication
  • Serial weigh scale (AWH-SA30 support in SDK)
  • Support multiple ports, mapped by key
  • Support multiple connection share same serial port

How to use?

Client Side

  1. Install and setup mapping via Configurator
  2. Start “WebApp Hardware Bridge” and it should works

WebApp Side

  1. Check JS SDK/Example

How it works?

WebApp Hardware Bridge is a Java based application, which have more direct access to hardwares.
It expose a WebSocket server on localhost which accept print jobs and serial connection.

For print jobs, PDF/Images job are downloaded/decoded and then sent to mapped printer.
Raw job are sent to mapped directly.

For serial port, serial port are opened by Java and “proxified” as WebSocket stream,
which allow bidirectional communcations.

Configurator is provided to setup mappings between keys and printers/serials.
Therefore web apps do not need to care about the actual printer names.

Source Code & Downloads

Source Code: https://github.com/imTigger/webapp-hardware-bridge

Windows Binary: https://github.com/imTigger/webapp-hardware-bridge/releases

Mac/Linux: Coming soon, or compile it yourselves

15 Replies to “WebApp Hardware Bridge (Web Direct Print, Web Serial Port)”

  1. The CPU load when running “WebApp Hardware Bridge” seems very high (constant 30%). Is this normal?

    1. I had the dame issue, Open the configurator, right click and delete the weigh Serial COM3 , sabe and close

    2. “I had the dame issue, Open the configurator, right click and delete the weigh Serial COM3 , sabe and close”
      that solution worked great

  2. Hello, thank you for this useful software! It would be helpful to have 32-bit version on Windows. Can you produce it for us?

    1. If you follow the instructions for “compile from source”, using the 32-bit version of all software and libraries involved, the result will be 32-bit. We tried it and it worked.

    2. hi, first of all i really appreciate all your effort to make this excellent tool, i have one question, i try to print a base64 pdf to a bixolon 350, the pdf is printed but the printer waste a lot of paper, it prints a huge blank page after the real printer, what do you think is causing this problem?

    1. I also need help on that “Install and setup mapping via Configurator” , Im not able to setup the printer name

  3. I already resolve the height problem but i have another one, why words and numbers look ugly when the invoice is print in my bixolon printer, how can i improve the printer quality

  4. Hello and thank you for this useful tool
    I need to send some raw-text to thermal printers (Zebra label printers), I did some tests but the string that arrives to the printer is not the one I send (maybe it’s base64 or ESC / POS encoded?).
    Is there any way to get exactly the sent string to the printer?

  5. Hello,
    Do I need to do any other configuration in the web application to print? or just install whb, configure and it works?
    Because I’ve installed and configured but it prompts a websocket error when trying to print

  6. I am getting a certificate error. Being using this for well over a year and never had an issue like this previously. I have to install a new security cert on my site today and since then have had this issue.

    I though having self-signed meant that it didn’t concern itself with certs.

    Anyone had this issue?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.