troubleshooting · esc-pos
Printer Prints Gibberish
Quick answer
The printer is usually interpreting bytes in the wrong language or through the wrong queue. Confirm the printer model and emulation, determine whether the job is raw commands or a rendered document, and send it through the matching path. Then verify character encoding and transport integrity.
Symptom map
| Output | Likely cause |
|---|---|
| ESC/POS commands printed as text | Raw bytes sent through a rendered/text path |
%PDF or PDF syntax printed | PDF sent to a printer that cannot interpret it directly |
| Correct ASCII, broken accents | Code page or encoding mismatch |
| Random/truncated bytes | Transport, framing, buffer, or payload conversion issue |
| Consistently wrong layout | Wrong printer language or emulation mode |
Diagnose it
- Print the device configuration/self-test and record its active emulation.
- Identify the exact payload format before submission.
- Inspect the first bytes or a safe hex capture.
- Verify the queue data type and driver path.
- Send a minimal ASCII test, then add initialization and one feature at a time.
- Compare generated bytes before and after transport.
Do not guess ESC/POS compatibility from the connector or printer shape. Validate the manufacturer’s command reference for the exact model and firmware.
Verify
Print a test containing ASCII, accented characters, alignment, an image, and a cut only after each simpler stage succeeds.
Related content
concept
ESC/POS Commands Explained
Understand ESC/POS command bytes, parameters, printer state, buffers, command families, status, cutting, and safe command construction.
concept
What Is Raw Printing?
Learn how raw printing sends printer-ready bytes such as ESC/POS, ZPL, PCL, or PostScript without normal document rendering.
troubleshooting
ESC/POS Characters Are Broken
Fix accented, currency, and non-Latin characters by aligning Unicode conversion, printer code pages, fonts, and ESC/POS selection commands.
troubleshooting
Receipt Paper Never Cuts
Troubleshoot missing receipt cuts across hardware capability, ESC/POS commands, driver settings, feed distance, job truncation, and cutter faults.