amin norollah.
Loading portfolio
Decode, preview and debug thermal-printer command streams in the browser, without a printer

Dev toolingWebOpen source

ESC/POS Receipt Inspector

Decode, preview and debug thermal-printer command streams in the browser, without a printer

Year
Jul 2026
Type
Dev tooling
Technologies
6
Track
Web

Details

Receipt printers speak ESC/POS, a byte-level command language, and when a receipt comes out wrong the usual way to debug it is to print it again. ESC/POS Receipt Inspector decodes the stream instead: load a .bin, .prn or .escpos file, or paste hex or Base64, and it renders the receipt on a canvas next to a list of every command it found.

The parser covers eleven command families, including text styles, line spacing, paper cuts, 24-dot and raster images, QR codes and barcodes. Clicking a command highlights what it printed, raster images get their own inline preview, and unsupported bytes show up as raw hex with a reason instead of being skipped silently. Everything runs locally, so no receipt data leaves the browser.

Built with React 19, TypeScript and Vite, with no runtime dependencies beyond React, and released under the MIT licence.

Technologies

  • React
  • TypeScript
  • Vite
  • Canvas
  • ESC/POS
  • Parsing