Blog

QR codes on clothing labels: what is required, and how to print one that scans

What the law actually asks of the label as an object, the rule online shops forget, and how to print a QR code that still reads after the garment leaves the shop.

A garment label is a tiny object carrying a lot of law. What is actually required today fits in one sentence, and the Digital Product Passport will add exactly one thing to it: a data carrier, meaning a code to scan.

This article looks at the label as an object rather than as a set of fields. What it has to carry, how it has to be attached, and how to print a code that still reads once the garment has been bought. For the content of the fields, see the data worth preparing instead.

What the law asks of the label, as an object

Regulation (EU) 1007/2011 is shorter on this than people expect. Article 14(1) says textile products are labelled or marked to indicate their fibre composition, and that the labelling or marking must be durable, easily legible, visible and accessible, and, in the case of a label, securely attached.

Two things deserve underlining.

First, marking is a full alternative, not a derogation. The regulation defines it as indicating the information directly on the product by sewing, embroidering, printing, embossing or any other technology of application. A composition printed inside a collar is as valid as a sewn label.

Second, and this is the surprise: nothing requires it to survive washing. "Durable" is the only word carrying that idea, and the text does not define it. There is no cycle count, no test, no lifetime. The hundreds-of-washes promises found on label suppliers' pages are sales arguments, not legal requirements.

The label may also be replaced by accompanying commercial documents, but only between businesses in the chain. Never for the consumer.

The rule online shops forget

This one is worth the detour, because it already applies and it concerns your product page rather than your label.

Article 16(1) requires the composition to appear in catalogues and trade literature, on packaging, labels and markings, in a manner that is easily legible, visible and clear, in print uniform as to size, style and font. Then it adds that the information must be clearly visible to the consumer before the purchase, including where the purchase is made by electronic means.

So your product page already owes the composition, above the buy button. Not in a collapsed tab, not in a PDF, not after the order.

That is good news for anyone preparing a passport: the data the passport asks for is data you already have to publish online. The work is not finding it. It is lifting it out of free text.

What the passport will add: a data carrier

The ESPR regulation requires in article 10 that the passport be connected, through a data carrier, to a persistent unique product identifier. That carrier must be physically present on the product, on its packaging or on documentation accompanying the product.

The part almost nobody quotes is how that sentence ends: "as specified in the applicable delegated act". Article 9 is blunter still, providing that the delegated act specifies which data carriers are to be used, the layout in which the carrier is presented, and its positioning.

So the brand does not choose. That is one more reason not to over-invest in a marking technology today: a chip ordered in volume can land outside the lines when the text arrives.

A recital, which is not binding, states a preference: where possible the carrier should be on the product itself so the data stay accessible throughout its life cycle, with derogations depending on the nature, size or use of the product.

Two useful technical clarifications. Annex III points at the ISO/IEC 15459 standards, parts 1 to 6. Those are identification standards, governing identifier syntax and the agencies that issue them, not the print quality of a code. The printing side belongs to the European standard EN 18220, published on 27 May 2026, whose official abstract says it covers symbology, format, error correction, encoding methods, printing and production quality, and durability. It sits behind a paywall, so what circulates about its detail is second-hand, including here.

Printing a QR code that actually scans

This is the practical part, and the one that decides the outcome. A badly printed QR code does not fail halfway. It does not read at all.

The quiet zone. ISO/IEC 18004 requires an empty margin four modules wide all around the code. This is by far the most common cause of failure: pushing the code against the edge of a label or against text makes it unreadable at any size.

Error correction. Four levels exist, recovering roughly 7, 15, 25 and 30 percent of the data when the symbol is damaged. Moving up a level adds modules, so the code gets denser at the same printed size. On a label that will be creased, washed and rubbed, the middle level is the common compromise, and the highest one is paid for in space.

Size. The standard sets no minimum, explicitly leaving it to the application. The usable figures come from GS1, for codes at retail: a module of 0.396 mm minimum, 0.495 mm as the target. The formula is simple, the overall width is the module count plus eight, times the module size. An ordinary passport address, your domain followed by a full identifier, produces a 33-module code: so reckon on about 16 mm minimum and 20 mm at the target size, quiet zone included. That is the figure to hold on to for a label.

Contrast. GS1 asks for at least 30 percent contrast and recommends around 50. Dark on light stays the ideal, and red is to be avoided. An inverted code, light on a dark ground, works and is part of the standard: decoders retry with reversed polarity. At equal contrast it is not a mistake.

The length of the address, and its steps. The code does not grow smoothly, it grows in steps. Up to about twenty characters it fits in 25 modules, up to about forty in 29, up to about sixty in 33. Shortening an address therefore buys nothing until it crosses a step, and buys a whole size when it does.

That is also why you should measure the address you will actually print rather than reason from a rough idea. On a short address, dropping the https:// takes you from 29 modules to 25 and is worth doing. On a full passport address the same removal changes nothing at all: it stays at 33 either way.

What the code should point at, and what it should not

A printed QR code is carved in stone. The address inside it cannot be corrected, not on the garments already sold, and not on the label rolls already ordered. Three rules follow.

Nothing temporary in the address. No campaign parameter, no counter, no session id. Those fragments lengthen the code, which shrinks its modules, and they stop meaning anything within months.

No internal identifier. An address built on your shop's product number dies at the first migration or the first change of platform. A passport needs an identifier of its own that never moves.

An address that outlives the product page. The day you drop a model from the catalogue, the garment carries on existing in somebody's wardrobe. If the page goes when the product goes, every code already printed leads to an error.

Where to put it, and what washing does to it

Three placements are possible, with different properties.

The sewn label stays with the garment for its whole life, which is exactly what the passport asks for. It is also the most abused location.

The hang tag offers room and good print quality, but it is cut off and thrown away on day one. Useful for selling, useless for a passport meant to stay readable.

The packaging is explicitly allowed by the regulation, and it is often simplest for an online shop, since you already control it.

On washing, the public evidence is thinner than the confidence around it suggests. A peer-reviewed study published in 2026 compared direct printing techniques on cotton and polyester: transfer-printed codes stayed fully scannable after five wash cycles, with colour fastness of grade 4 to 5, while screen-printed codes stopped working after two or three cycles. That is one piece of work, over five cycles, and it says nothing about the real life of a garment. Everything else in circulation comes from label suppliers.

How to test it, in ten minutes

The only check that counts happens on the final medium, never on screen.

  1. Print the code at its real size, on the intended material.
  2. Scan it with a cheap phone, not your own if yours is recent.
  3. Try again at arm's length, then in poor light.
  4. Photocopy the label and scan again: a photocopy simulates the loss of contrast and fineness of an industrial print run.
  5. Crease it, then scan again.

If all five pass, the code will hold. If the third fails, the module is too small. If the fourth fails, it is the contrast. If nothing reads from the very first try, look at the quiet zone before anything else.

What DPTag does with all this

The plugin generates each passport's QR code with its quiet zone, encoding a short permanent address that does not move when you reorganise your shop. PNG download is in the free plugin, SVG and bulk export in the Pro add-on, because SVG is what a label printer asks for.

DPTag is on wordpress.org, so it installs from your own dashboard and updates like any other plugin.

  1. In WordPress, open Plugins, then Add New Plugin.
  2. Search for DPTag.
  3. Install it, then activate.
  4. The setup wizard opens by itself.

View DPTag on wordpress.orgPlugin page

For the starting point, see the passport seen from WooCommerce. For the calendar, see what is already in force and what is not.