The most complete ESC/POS developer toolbox.
A Rust CLI and rendering library for working with ESC/POS byte streams. Render to PNG, emulate a RAW TCP printer, manage device profiles, and print over USB or port 9100.
terminal
$ escpost --help
Usage: escpost <COMMAND>
render Render a known byte stream
print Send bytes unchanged to a printer
serve Capture RAW TCP print jobs
printers List and configure targets
profiles Query the embedded profile catalog
READ: BINARY FILES · HEX FILES · STDINPREVIEW: PNG · BROWSERPRINT: USB · NETWORK · CLOUD
ESC/POS development,
end to end
Six components cover the path from inspecting a byte stream to integrating local hardware and production cloud printing.
01
>_
CLI & libraries
A single Rust executable for interactive terminals and unattended scripts. The renderer and profile catalog are separate Rust crates, with a thin PyO3 binding for Python applications.
- Rust CLI and workspace crates
- Python render binding
- Binary, hex, stdin, and case inputs
02
:9100
Virtual IP printer
escpost serve exposes a local RAW TCP printer. Point an application at it exactly as you would at network hardware and inspect the captured job in the browser viewer.
- Loopback-only by default
- RAW listener from port 9100
- Idle-timeout job framing
03
USB & IP printers
Discover printer-class USB interfaces or configure known RAW TCP endpoints. Named targets keep transport details out of scripts and receive the original bytes unchanged.
- USB descriptor selection
- RAW TCP connectivity checks
- Named local configuration
04
Printer profiles
Profiles define paper geometry, supported symbols, carriage-return behavior, and calibrated quirks. Query the embedded catalog or use REFERENCE when no physical target is known.
- Embedded, hash-verified catalog
- Physical device calibration
- REFERENCE virtual profile
05
PNG & web preview
Render to deterministic one-bit PNG sheets or inspect results in the embedded browser workbench. Cuts create separate sheets; watch mode rerenders changed sources.
- Dot-addressed rendering
- Multi-sheet manifests
- Integer zoom and file watching
06
Cloud printing
Use ESCPost while developing ESC/POS integrations for Receiptful, Duala Digital's managed cloud printing service, then connect receipt workflows to deployed printers.
- Local ESC/POS development loop
- Receiptful compatibility coverage
- Cloud-to-printer workflows
receiptful.io ↗