Tutorial

Print Shopify shipping labels on Zebra thermal printers

← Back to Blog

Print Shopify shipping labels on Zebra printers from your browser

Published: · 9 min read · Tutorial

Shopify stores that fulfill in-house often print hundreds of shipping labels per week. If you already have a Zebra thermal printer (ZD420, ZD421, ZD621, GK420d, etc.), you do not need expensive label software or fighting with PDF scaling in the browser print dialog.

mylabelmaker includes a built-in Shopify shipping template and full variable-data support. Design once, export your Shopify orders to CSV, load the sheet, preview every label, and batch-print directly to Zebra — or copy native ZPL for a shipping API integration.

What you'll need

Step 1: Export orders from Shopify

1

Get a CSV of orders to ship

In Shopify Admin: Orders → filter to unfulfilled or today's orders → Export → Orders by date range → CSV for Excel/Numbers.

Useful columns (rename headers to simple names for tokens):

  • order_number — from Name (e.g. #1042)
  • name — Shipping Name
  • address1, address2, city, province, zip, country
  • tracking — if you have tracking from your carrier tool
  • weight, items — optional line for packing slips on same label area

If you use ShipStation or Pirate Ship for purchased labels, export their CSV instead — same variable workflow applies.

Step 2: Load the Shopify shipping template

2

Start from the built-in template

Open app.mylabelmaker.com. Left rail → TemplatesShipping category → choose Shopify shipping (4×6 layout with ship-to block, order ref, and tracking barcode area).

Customize branding: add your store logo (Add Image), adjust fonts, or add a return address block. The template is a normal editable design — not locked.

Step 3: Map {{variables}} to your CSV columns

3

Insert tokens that match your spreadsheet headers

Double-click text fields and replace static text with placeholders like {{name}}, {{address1}}, {{city}} {{province}} {{zip}}. For tracking barcodes, set the barcode value to {{tracking}} (CODE128 works for most carrier tracking numbers).

Column names are case-insensitive and trimmed — {{Name}} matches a header name.

Step 4: Load data and preview every order

4

Paste CSV or use Google Sheets

Click the {{ }} Variables button (or Options → Variables). Paste your Shopify CSV, upload the file, or paste a published Google Sheets CSV URL.

Use the row navigator (first / prev / 3 of 47 / next / last) to spot-check addresses and barcodes before printing. Edit a cell inline if one zip code is wrong.

Full walkthrough: print labels from Google Sheets.

Step 5: Print or export ZPL

5

Batch print to Zebra

Select your printer in the toolbar. Print now shows row count (e.g. "Print 47 rows"). Each order prints one label with substituted data.

For automated shipping pipelines: Options → Copy ZPL per row or integrate exported ZPL into your backend. See ZPL export for ERP.

Pro tip: Save the finished design (Options → Export label) as shopify-shipping-v1.json. Tomorrow's fulfillment is: import JSON, paste new CSV, print.
Carrier labels vs custom layouts: If you buy USPS/UPS labels through Shopify Shipping or a third party, those are often PDFs with embedded barcodes you must use as-is for acceptance scanning. This workflow is ideal for self-generated shipping labels (own carrier account, local delivery, internal routing labels) or supplemental labels (order #, SKU list, return address). For UPS-specific 1Z layouts see UPS Ground tutorial.

Shopify + Zebra workflow comparison

Ship today's Shopify orders

Open the editor, load the Shopify template, paste your order CSV, and print.

Open mylabelmaker

Related reading