How to change what prints on your labels: the Liquid template, footer text, logo and country names.
All options live in the app under Apps → QuickLabels → Label setup. Changes apply to the next PDF you generate there. Click Save as defaults to make them the settings the Print address labels action on the Orders page uses too.
The Liquid template (advanced) field decides what prints. The default,
{{ order.address_block }}, is the complete shipping address formatted for the destination country.
These variables are available:
| Variable | What it contains |
|---|---|
order.name | Order number, e.g. #1042 |
order.created_at | When the order was placed (ISO date; format it with the date filter) |
order.fulfillment_status | UNFULFILLED, FULFILLED, … |
order.customer_name | Recipient name from the shipping address |
order.address_block | Complete address, country-formatted, one line per row |
order.shipping_address.name | Recipient name |
order.shipping_address.company | Company (may be empty) |
order.shipping_address.address1 | Street line 1 |
order.shipping_address.address2 | Street line 2 / apartment (may be empty) |
order.shipping_address.city | City |
order.shipping_address.province | State / region / province name |
order.shipping_address.province_code | State / province code, e.g. CA |
order.shipping_address.zip | Postal code |
order.shipping_address.country | Country name (after any rename, see below) |
order.shipping_address.country_code | Two-letter country code, e.g. DE |
order.shipping_address.formatted | The address lines as a list — print them with a for loop (see examples) |
{{ order.address_block }}
Order {{ order.name }}
{{ order.address_block }}
{{ order.shipping_address.name }}
{% if order.shipping_address.company != "" %}{{ order.shipping_address.company }}
{% endif %}{{ order.shipping_address.address1 }}
{% if order.shipping_address.address2 != "" %}{{ order.shipping_address.address2 }}
{% endif %}{{ order.shipping_address.zip }} {{ order.shipping_address.city }}
{{ order.shipping_address.country | upcase }}
{% for line in order.shipping_address.formatted %}{{ line }}
{% endfor %}
{{ variable }}{% if … %} … {% elsif … %} … {% else %} … {% endif %}{% for line in order.shipping_address.formatted %} … {% endfor %}upcase, downcase, strip, truncate: 30,
replace: "Street", "St.", default: "-", append: " (EU)",
date: "%d.%m.%Y" and the other standard Liquid filters{%- if … -%} trims the line breaks around a tagThe Footer text field prints in a smaller size at the bottom-left of every label — typically your website or a return address. Each line of the field is a line on the label, and Liquid works here with the same variables:
www.yourshop.com
Order {{ order.name }} · {{ order.created_at | date: "%d.%m.%Y" }}
The footer sits below the address. If space is tight, the address shrinks so both fit.
Type it into the footer, one line per row, and it prints small at the bottom-left of every label:
Return to: Your Shop
Example Street 1
8000 Zurich
Prefer it above the recipient, as many European senders do? Add it as the first line of the Liquid template instead:
Your Shop · Example Street 1 · 8000 Zurich
{{ order.address_block }}
A logo prints at the bottom-right of every label. Images must be hosted on Shopify — the app never stores files itself:
https://cdn.shopify.com/…).The logo's width follows its proportions. On small labels the app caps its size so the address always has room.
English name or country code = text to print:
Germany=Deutschland
AT=Österreich
Only the listed countries change; every other country prints as Shopify sends it.Select orders on Orders, open More actions → Print address labels, and open the PDF. This uses your saved defaults (template, Liquid, footer, logo, countries). Tick Mark orders as fulfilled there — or in the app — to fulfil them at the same time. On a single order's page the same action is under More actions.
Pick a preset — Avery (US Letter and A4), Dymo, Brother QL (DK rolls) and 4 × 6 in thermal — or choose Custom dimensions and enter your page, label and margin sizes in mm or inches. Tick Show label outlines for a test print to check alignment, then untick it for real labels.
Not at the moment. QuickLabels is approved to access only the shipping name and address of the orders you select — it never reads customer emails or phone numbers, which is also what its privacy policy promises. If a phone number on the label would matter for your courier, tell us; that would need an extra Shopify data-access approval and we'd rather hear who needs it.
Usually not as-is. Those templates have their own variables (shipping_address, customer,
line_items…) and Shopify-only tags and filters (format_address, schema,
render…) that don't exist here — Shopify-only tags cause an error, and unknown variables or filters
simply print nothing. Use the variables listed on this page instead; the examples above cover the usual layouts.
Choose Custom dimensions: page size custom, 6 in × 4 in, 1 column × 1 row, label 6 in × 4 in, margins 0. The built-in 4" × 6" Thermal Shipping preset is portrait (4 in wide, 6 in tall).
No. Labels are plain text drawn straight into the PDF. You control the content (Liquid), alignment, font size, a footer at the bottom-left and a logo at the bottom-right — which covers the layouts most labels need.
No — only Shopify-hosted images (cdn.shopify.com). Uploading under Content → Files takes a minute
and keeps your logo in your own store.
Labels use Helvetica. Western European characters, including accents (é, ü, ñ, ø, ß …), print fine. Letters outside the Latin-1 set — for example ł, č, ş, Cyrillic, Greek, Chinese or Japanese — are currently left out.
Shopify only lets apps see orders from the last 60 days unless the store has approved the app's separate "all orders" permission. QuickLabels asks for that permission — if you installed the app before October 2026, open Apps → QuickLabels once and accept the updated permission prompt; from then on older orders appear in the list and print normally. Until it's approved, older orders don't show in the app's list or search, and when you select them on the Orders page the app tells you which ones couldn't be loaded and still gives you labels for the rest. If a recent order is missing, that's something else: email us the order number.
The label prints the order's shipping address exactly as entered at checkout. If that address has no name or company, there is nothing to print — check the shipping address on the order in Shopify.
Type it into Footer text (small, bottom-left) or as a line above {{ order.address_block }}
in the Liquid template — see Footer text. It's plain text, so just write your address.
Email pillgates.dev@gmail.com and include the label size you use and, if relevant, your template.