Skip to content
Troubleshooting • Updated 28 Aug 2025 UK WooCommerce

WooCommerce Shipping Labels Not Printing?
7 Common Fixes

If labels are blank, tiny, rotated, or won’t open at all, run through these fixes. Works for Royal Mail Click & Drop, Evri, DPD, and most carrier plugins.

Quick checklist

  • Label size set to 100×150 mm (4×6″) and Scale = 100% in the print dialog.
  • Thermal printer driver + firmware updated; media set to Label, 203–300 DPI, correct orientation.
  • Browser pop‑ups allowed for your domain; try another browser if needed.
  • Plugin/portal set to PDF if your printer doesn’t support ZPL/EPL natively.
  • Carrier service successfully generated a label (no API/credential errors).

7 fixes that solve most label problems

1) Force the correct label size & scaling

  • In the print dialog, set Scale: 100% and paper size to 100×150 mm (or 4×6″).
  • Disable Fit to page/Shrink to fit. Turn off headers/footers.
  • In your printer preferences, choose the matching paper size and DPI.

2) Switch output format (PDF vs ZPL/EPL)

  • If you get blanks/garbage characters, your printer likely isn’t speaking ZPL/EPL. Switch the carrier/plugin output to PDF.
  • If you must use ZPL/EPL, install the vendor driver and send labels via a compatible spooler.

3) Update or reinstall printer drivers

  • Install the manufacturer driver (Windows/Mac) rather than a generic class driver.
  • Remove old drivers/queues; re‑add printer with media size = 4×6″.
  • Update firmware if labels are intermittently blank or rotated.

4) Allow pop‑ups & fix blocked downloads

  • Allow pop‑ups and redirects for your WooCommerce admin and carrier portal domain.
  • Disable extensions that intercept PDFs (ad blockers, privacy filters) and retry.
  • Clear the browser cache for the site; try a private window or another browser.

5) Use the system print dialog (or download first)

  • If in‑browser print previews mis‑scale, click Download and print from a desktop PDF viewer (Adobe/Preview).
  • From the system dialog, re‑confirm 100×150 mm and 100% scale.

6) Check carrier/plugin service mapping

  • If the label fails to generate, the selected service may be invalid for weight/dimensions/destination.
  • Re‑map WooCommerce shipping methods to real carrier services; verify credentials and contract permissions.

7) Fix rotation & darkness (print quality)

  • Set orientation to Portrait. If still rotated, set Auto‑rotate off and rotate 90° manually.
  • Increase darkness/heat in printer preferences; set media type to Label.
  • Calibrate the printer (feed/align) after changing label stock.

Symptoms by carrier

Royal Mail (Click & Drop)

  • No label after "Generate": check order imported & postage applied; ensure label format = 6×4″.
  • Blank PDF: retry via Reprint; if persistent, switch browser.

Evri Business

  • Wrong size: portal often defaults to A4; change to 4×6″ per printer.
  • CSV imports: ensure dimensions/weight tiers valid or the service is rejected silently.

DPD / DPD Local

  • Label won’t generate: check consignment settings and service permissions (Next Day/Saturday).
  • Multi‑parcel: enable one‑label‑per‑parcel; verify parcel count matches contents.

General plugin notes

  • After updates, re‑save plugin settings to refresh API tokens and webhooks.
  • Conflicts: temporarily disable unrelated PDF/printing plugins and retest.

Advanced checks

  • HTTPS & mixed content: print widgets hosted over HTTP may be blocked by browsers; use HTTPS everywhere.
  • Local print bridges: If using a local bridge (e.g., Java/desktop print helpers), ensure it’s running and allowed by OS firewall.
  • Workstations: Lock label size via OS printer defaults so every user prints consistently.
Pro tip: Test with a known‑good sample label (100×150 mm PDF). If that prints correctly, the issue is with service mapping or the plugin, not the printer.

Skip the headaches: auto‑print on scan

ParcelOffice: rules → labels → tracking

Instead of opening print dialogs, ParcelOffice chooses the right carrier per order and prints labels automatically when you scan the order at the bench. Tracking writes back to WooCommerce.