Laberty Bridge for Windows (USB printers)

Print to a USB Brother QL, a DYMO, an inkjet with label sheets or a receipt printer plugged into a Windows PC, with no Docker.

Laberty Bridge for Windows is the print bridge as a small program on a Windows PC. It prints through Windows itself, so it works with any printer that PC can already print to:

  • a Brother QL-600, QL-700 or QL-800 plugged in by USB
  • a DYMO LabelWriter
  • an inkjet or laser printer with Avery label sheets
  • a receipt printer or a Zebra with its Windows driver

There's no Docker, and nothing to open on your network. It starts by itself when you sign in to Windows.

Before you start

  • Your account is on Home or Business.
  • The printer is plugged in, switched on, and prints a test page from Windows. (Settings → Bluetooth & devices → Printers & scanners → your printer → Print test page.)
  • You're signed in to Windows as the person who uses that printer.

1. Install Node.js

Laberty Bridge runs on Node.js, a free program.

  1. Go to nodejs.org/en/download.
  2. Download the LTS Windows installer (the .msi file).
  3. Open it and press Next on each screen, then Install, then Finish. The default choices are fine.

It needs version 20 or newer. The LTS version always is.

2. Download your bridge

  1. In Laberty, go to Admin → Print bridge and choose the Windows computer (USB printers) tab.
  2. Press Download the Windows bridge (.zip). It downloads a file called laberty-bridge-windows.zip.
  3. Open your Downloads folder, right-click the ZIP and choose Extract All, then Extract.

The download is made for your workspace. It has your Laberty address and a new bridge key already inside, so you won't paste anything. The key can only pick up print jobs and list this computer's printers. Every download makes a new key, named like Bridge download 2026-09-26 (Windows), so a lost ZIP can be switched off on its own under Admin → API keys.

3. Run the installer

In the folder you extracted, double-click Install-Laberty-Bridge.cmd.

Windows may say Windows protected your PC, because the file came from the internet. Press More info, then Run anyway. The file is a few lines of plain text: you can open it in Notepad first to see everything it does.

A blue window shows the steps:

  • It checks Node.js. If Node.js isn't installed (or is too old), it opens the download page and tells you to do step 1, then double-click the installer again.
  • 2. Copying the bridge, then 3. Installing what the bridge needs. This takes a minute and shows some npm lines.
  • 4. Connecting to Laberty says Using the address and bridge key from the download and then Laberty accepted the key. You type nothing.
  • 5. Starting it automatically, and finally a green Connected. Laberty Bridge for Windows is running.

It doesn't need an administrator. The bridge is installed in your own user folder, and your key is saved in a file only you (and Windows itself) can read. The installer then deletes the key file from the folder you extracted. Delete the ZIP too, since it still holds the key.

4. Add the printer in Laberty

  1. Reload Admin → Print bridge. The status at the top says Bridge is running, and your printers appear under Printers the Windows bridge reported within a couple of minutes.
  2. Go to Admin → Printers & stock and press Add a printer (or Edit on the printer you already have).
  3. Pick the kind and model. For How is it connected?, choose Plugged into a Windows computer running Laberty Bridge.
  4. Choose your printer from the list. It shows each printer's name as Windows spells it, and whether it's ready. If it isn't in the list, type its name exactly as it appears in Printers & scanners.
  5. Choose the labels in it, name it, and press Save & send a test page.

"Microsoft Print to PDF" and similar are in the list marked not a real printer. Don't pick those.

Set the label size in the printer's driver

Laberty sends each label at its exact size, with no scaling. The printer's Windows driver also has a paper size, and the two must match, or the label comes out cut off, shrunk onto part of the label, or with a long blank strip.

In Windows, open Settings → Bluetooth & devices → Printers & scanners → your printer → Printing preferences, and set Paper size:

Labels in LabertyBrother QL paper sizeDYMO paper size
Standard Address (DK-1201)29mm x 90mm30252 Address
Large Address (DK-1208)38mm x 90mm30321 Large Address
Continuous 2.4in roll (DK-2205)62mm—
Avery sheets (inkjet or laser)Letter—

Press OK. When you swap rolls, change the paper size too, and use the Swap button on the printer's card in Laberty so both agree.

If a label prints sideways, set Orientation to Landscape in the same place. For Avery sheets, choose Actual size (or 100%) wherever the driver offers scaling.

Keep the computer awake

The bridge can only print while the computer is on and awake. A sleeping PC holds jobs until someone wakes it, and by then Laberty has offered the iPad's print dialog instead.

  • Windows 11: Settings → System → Power & battery → Screen, sleep & hibernate timeouts. Set When plugged in, put my device to sleep after to Never. Turning the screen off is fine.
  • Windows 10: Settings → System → Power & sleep → When plugged in, PC goes to sleep after → Never.
  • Laptops: keep it plugged in. Closing the lid usually sleeps it: Control Panel → Power Options → Choose what closing the lid does → Do nothing when plugged in.
  • Brother QL: its Auto Power Off switches the printer off after a while. Set it to None in Brother's Printer Setting Tool if prints fail with "offline".

A restart is fine: the bridge starts again when you sign in.

Receipt printers and Zebras

Laberty sends a Zebra real ZPL, and a receipt printer real ESC/POS, straight through Windows without the driver changing them. That needs a driver that accepts raw data:

  • Zebra: Zebra's own ZDesigner driver.
  • Epson, Star and others: the maker's receipt driver.
  • If neither works, add the printer again in Windows with the built-in Generic / Text Only driver.

If the driver refuses, the job fails with does not accept raw ZPL or ESC/POS, and nothing prints.

One bridge per Laberty account

Every bridge on an account picks up that account's jobs. Run one bridge per account. If you also run the Docker bridge on a NAS for the same account, each bridge would pick up jobs meant for the other's printers and fail them.

Is it running?

In the windows folder, run:

powershell -ExecutionPolicy Bypass -File .\status.ps1

It shows whether the bridge is running, when it last reached Laberty, its last print job, the printers Windows can see, and the end of its log. The log itself is bridge.log in %LOCALAPPDATA%\Laberty Bridge.

When something doesn't print

Look at the job in Admin → Printers & stock first. The reason is always recorded.

What Laberty saysWhat to do
Windows on this computer has no printer called …The printer was unplugged, removed or renamed. Plug it in, or Edit the printer in Laberty and pick it again from the list.
Windows says … is offlineSwitch the printer on, check the USB cable, and wake the computer. See Keep the computer awake.
… is out of paper or labelsLoad labels. The job was taken off the Windows print queue, so print it again.
The Windows print queue for … is pausedPrinters & scanners → the printer → Open print queue → Printer menu → untick Pause printing.
does not accept raw ZPL or ESC/POSUse the maker's driver, or Generic / Text Only. See Receipt printers and Zebras.
SumatraPDF is missingRun install.ps1 again.
is plugged into a Windows computer … and this bridge runs on linuxA Docker bridge picked up the job. Run only one bridge per account.
Nothing at all, and the bridge shows "Not seen recently"Run status.ps1. If the task isn't running, sign out and back in, or run install.ps1 again.
The label is cut off, tiny, or has a blank stripThe driver's paper size doesn't match. See Set the label size in the printer's driver.

Also see Nothing printed.

Updating and removing it

  • To update: download the bridge again, extract it, and double-click Install-Laberty-Bridge.cmd again. The new download has a new key, so revoke the old one under Admin → API keys.
  • To remove: run uninstall.ps1 from %LOCALAPPDATA%\Laberty Bridge\agent\windows (right-click it, Run with PowerShell), then revoke the bridge key under Admin → API keys.

For IT people

  • The installer registers a scheduled task, Laberty Bridge, that runs at your sign-in as you. That is what lets it see printers added for your Windows account. It runs powershell -WindowStyle Hidden → run-bridge.ps1 → node agent.mjs --config …, and restarts the bridge if it stops.
  • install.ps1 -AtStartup (as administrator) runs it as SYSTEM when the computer starts instead, before anyone signs in. SYSTEM only sees printers installed for all users, such as a local USB printer, not per-user network or shared printers.
  • PDFs print with SumatraPDF (from the pdf-to-printer npm package, pinned in package-lock.json) at actual size. ZPL and ESC/POS go to the queue as RAW through winspool. After sending, the bridge watches the Windows queue and reports a failure (and removes the job) if Windows says it errored.
  • The bridge only makes outbound HTTPS connections to your Laberty address. The bridge key can pick up print jobs and list this computer's printers, nothing else.
  • More detail is in the print bridge and in agent/windows/README.md.

Still stuck?

Contact support and tell us what you tried. We reply by email, usually within 1–2 business days.