QZ Tray Alternative
A lighter way to print from browser web apps.
If you're evaluating QZ Tray for browser-to-printer communication, the BrioLabel Desktop Agent solves the same core problem — letting a web app print to local label and receipt printers — without a Java runtime, without paid certificates, and without a warning dialog on every print.
BrioLabel Desktop Agent vs. QZ Tray
A side-by-side look at the two approaches to browser printing.
| Aspect | QZ Tray | BrioLabel Desktop Agent |
|---|---|---|
| Runtime | Bundles a full Java runtime (JRE) | Native app — no Java, no bundled runtime |
| Install size | Well over 100 MB, due to the bundled JRE | Around 3 MB |
| Idle memory use | Typically well over 100 MB, JVM overhead | Single-digit MB |
| Silent printing | Requires a paid certificate from QZ Industries | Free, no certificate purchase required |
| Pairing & trust | Requests are cryptographically signed; the Agent asks for manual approval the first time a site connects, and you can view paired clients and revoke access anytime | |
| Print format | Raw, printer-specific commands (ZPL, ESC/P) sent by your app | BLPD — one open, printer-independent document format |
| What your app builds | Printer-specific command strings, by hand | A single BLPD document — the Agent handles translation to ZPL, TSPL or Brother Raster |
| License | Free tier available; paid tiers for certificates and support | Free, always |
Why teams look for a QZ Tray alternative
- QZ Tray runs on a bundled Java Virtual Machine, which means a heavier install and more background memory use than a small native app needs.
- Silent, prompt-free printing requires purchasing and installing a signing certificate from QZ Industries.
- Without that certificate, browsers show a permission dialog on every single print — a rough experience at a checkout counter or a busy warehouse pack station.
- QZ Tray sends raw, printer-specific commands — your application still has to generate correct ZPL, TSPL, or ESC/P for every printer model you support.
- Antivirus software sometimes flags or contains the bundled Java runtime, adding IT overhead for teams deploying to many machines.
The format underneath
BLPD: one document, any printer.
The BrioLabel Desktop Agent doesn't invent a new proprietary protocol. It renders BLPD (BrioLabel Print Document) — an open, printer-independent specification. Your application generates one fully-resolved BLPD document; the Agent translates it to ZPL, TSPL, or Brother Raster depending on the target printer.
- Fully resolved — the generator has already measured, wrapped, and positioned everything. The Agent never makes layout decisions, it only prints.
- Printer-independent — the same document prints correctly on a Zebra, a TSC, or a Brother printer.
- Open — the specification is public. Other renderers besides the BrioLabel Desktop Agent are welcome to implement it.
What sending a print job looks like
A minimal example: connect to the local Agent over WebSocket and send a BLPD document.
Download the Agent
If you're evaluating QZ Tray for browser-to-printer communication, the BrioLabel Desktop Agent solves the same core problem — letting a web app print to local label and receipt printers — without a Java runtime, without paid certificates, and without a warning dialog on every print.
Download the Agent