# QR codes for returns and exchanges

> Modern label-free returns work by issuing the customer a QR code that a carrier or drop-off point scans, printing or applying the label on site. The code carries an opaque session token tied to the authorised return, not the customer's data. Start the flow from an order-aware code on the packing slip.

Source: https://useqr.app/docs/ecommerce/qr-code-for-returns-and-exchanges · Last reviewed 2026-08-21 · UseQR is free forever, no signup.

---

## The label-free pattern

The returns experience that has won over the last few years replaces "print this PDF
label at home" with a QR code. The mechanism, generically: the customer requests a return
in the shop's portal, receives a QR code, and takes the *unlabelled* parcel to a carrier
shop, locker or drop-off point. The location scans the code, and either prints the label
there or applies routing without a customer-visible label at all. Consolidated-return
services extend the same idea, many customers' items travel onward in bulk.

Why it wins is worth stating: home printers are the least reliable link in the returns
chain. A meaningful share of shoppers cannot print a label without friction, and a return
that stalls at "find a printer" is a refund delayed, a customer irritated and a
re-sellable item ageing in a cupboard. The QR code removes the printer from the loop
entirely.

## What the code contains

The return code is a **consumer-presented** credential, same family as
[collection codes](/docs/ecommerce/qr-code-for-click-and-collect) and
[consumer-presented payment codes](/docs/payments/emvco-consumer-presented-qr), and the
same rules apply:

- **An opaque session token**, or a short URL wrapping one:
  `returns.example.com/r/8h2n4v7q`. The token resolves server-side to the authorised
  return: order, items, destination, refund rules.
- **Not customer data.** Name, address and order contents stay on the server; the code is
  a pointer, so a screenshot leaked in a group chat exposes nothing but a token you can
  revoke.
- **Short payloads scan faster** on carrier hand-scanners reading a phone screen: keep
  the code at version 2–3 so it locks instantly at the counter, and show the token as
  text beneath it for the day the screen is cracked.
- **Single-use and expiring.** The token dies when the parcel is accepted, and lapses if
  unused past the returns window.

## Where the flow starts

The best entry point is the [packing-slip code](/docs/ecommerce/qr-code-on-a-packing-slip)
carrying the order ID: scan, tap "return an item", pick items and reason, receive the
drop-off code. No login-and-search. For shops without order-aware slips, a generic
`example.com/returns` code on the slip still beats a URL the customer must type, though
it adds the find-your-order step.

## Exchange-first, honestly framed

Return flows increasingly present exchange options before refund ("swap for the size
42, posted today, no charge"), because an exchange keeps the revenue and often serves
the customer better, since most fashion returns are fit-driven. The same QR mechanics
carry it: the exchange confirmation can immediately issue the drop-off code for the
outgoing item. Design it as a genuine option, not an obstacle: a flow that hides the
refund button is a dark pattern, and returns is precisely where customers judge whether
to buy again. The refund path stays one tap away.

Operationally, drop-off points and lockers displaying **merchant-presented** helper codes
("no code? scan here to start a return") need durable outdoor-grade print:
**≥ 5 cm**, matt laminate, per the
[outdoor rules](/docs/print/qr-codes-outdoors-durability), and every printed template
[verified from a physical proof](/validate) before rollout.

## FAQ

### How do label-free QR returns work?
The customer requests a return online and receives a QR code instead of a label. At a carrier shop, locker or drop-off point, the code is scanned and the label is printed or applied there. The parcel travels unlabelled until then.

### What is inside a returns QR code?
An opaque single-use token linked server-side to the authorised return. No personal data, no address, no order contents: the code is a revocable pointer, kept short so hand-scanners read it quickly from a phone screen.

### Where should the returns code appear for customers?
Start the flow from an order-aware QR code on the packing slip, which opens the return portal with the order already identified. The drop-off code itself is then issued digitally to the customer's phone.

### Should exchanges be offered before refunds?
Offering an exchange first is legitimate: most fashion returns are fit-related and an instant swap often serves everyone. But keep the refund path visibly one tap away; hiding it damages the trust the returns process exists to build.

## Try it

- https://useqr.app/url
- https://useqr.app/validate
- https://useqr.app/bulk
