finds.dev← search

// the find

lsongdev/node-escpos

★ 1,575 · TypeScript · NOASSERTION · updated Sep 2024

🖨️ ESC/POS Printer driver for Node.js

ESC/POS printer driver for Node.js that covers USB, network, serial, and Bluetooth transports in a monorepo of adapter packages. It's the go-to option when you need to talk to a thermal receipt printer from a Node backend or Electron app. The fluent API wraps the raw byte commands into something readable.

The transport abstraction is genuinely useful — you swap USB for Network with one line and the printer code stays identical. The fluent chain API (font, align, style, text, cut) maps closely to how ESC/POS actually works, so you're not fighting the abstraction. Monorepo layout means you only install the adapter you need, keeping native dependencies out of projects that don't require them. QR code and barcode generation are built in, which covers 90% of receipt printer use cases without extra packages.

Last commit was September 2024, and several open issues mention broken USB support on newer Node versions — the native usb dependency is notoriously fragile across major Node releases. The Bluetooth adapter is still plain JS with no TypeScript types, inconsistent with the rest of the monorepo. Error handling in the examples just drops errors on the floor, and the library itself doesn't surface printer status reliably across adapters. No test suite worth mentioning — the test directory has one file and it's not connected to CI.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →