Skip to content
Docs menu

Running a programme · For a printer's production manager

Artwork spec

Everything on this page exists because a QR code that does not scan in a shop is worse than no QR code at all — the buyer concludes the product is fake. These are the tolerances that keep that from happening.

Before you start: the codes are dead #

The codes in your print file answer We can't verify this code to every scanner until someone activates the batch in the AVRA console, after QC. This is deliberate — it is what makes a stolen print file and a press overrun worthless.

It also means a test scan before activation is supposed to fail. If you scan a label off the press and it says We can't verify this code, the label is correct. Print, test the shape and the read, then activate, then test the verdict.

The QR code #

Requirement

Printed size
15 mm × 15 mm minimum, square. Below 15 mm a phone camera in shop lighting, held by a customer who is not trying very hard, does not read reliably.
Resolution
600 dpi minimum at final size.
Quiet zone
4 modules of clear space on all four sides. It is part of the supplied SVG. Do not crop it, and do not let artwork, foil, a border rule, a crease, a glue flap or a die line enter it.
Error correction
Level M on the visible shelf QR. Level H on the second code when the second factor is a QR — it lives under a scratch panel and the panel abrades it. Both are already set in the files we supply.
Colour
Black modules on a light ground. Not dark grey. Not a brand colour. Not reversed (light on dark).
Finish
Matte. No gloss varnish, no gloss lamination, no holographic effect and no metallised film over the QR area. Keep the QR area matte and light even when the rest of the pack is glossy, metallised or holographic.
Human-readable code
Print the 10-character code — the last 10 characters of the qr URL, grouped 4-4-2 (7XK2 M9PQ 4R) — in a mono face beside the shelf QR, so a buyer whose camera will not read the QR can type the code in.

Contrast: test the light ground after the code is printed on the actual substrate and the pack is finished, on a verifier your partner holds. A code on white paper, a code on silver foil, a code on kraft board and a code on a shrunk sleeve are four different scans. The interim target: ISO/IEC 15415 grade B or better; until a per-substrate figure is published, treat ≥ 40% symbol contrast as the floor.

Which files to print from #

Print from the qr/ SVG files, or from codes.csv through your own VDP software. Never print from the Excel export: its QR images are for looking at. The three exports and every file in them are listed in what is in the print file.

The columns, and the one rule about row order #

codes.csv has two or three columns for a product label: label (the label number, an integer), qr (the URL the visible shelf QR encodes), and qr2 or scratch (the second factor, when the batch has one — qr2 is a URL for a second QR, scratch is a short code printed as plain text). A certificate batch's file carries the issuer's own columns after label and qr; no other batch has more than three.

Nothing else pairs a label with its second factor. There is no separate serial number, and no way to reconstruct the pairing from the label after printing. The label column exists for exactly this — it is your check, and QC's way of finding label 4,312 on a roll.

The scratch code is cash #

When the second column is scratch, that code is the thing that pays a reward or claims a unit. Whoever can read the file can claim every reward in the batch, before a single pack reaches a shop.

  • Keep the file on the machine that needs it and nowhere else.
  • Do not email it. Do not put it in a shared drive folder the whole floor can see. Do not print a proof sheet with the codes visible and leave it on the line.
  • Delete your copy once the run is signed off. AVRA locks the file to a platform admin the moment the batch is activated, and purges it 30 days later — do the same with yours.

The scratch panel #

The hidden code is printed in plain text under a scratch panel by default — that is the smallest and cheapest label. A second QR under the panel is an option the brand chooses at generation, and it needs a larger panel.

Requirement

Opacity
The panel must fully obscure the code, including under a phone torch held against it. A buyer standing in a shop must not be able to read a code without scratching, and neither must a counterfeiter with a bright light. Agree the coating system, the number of coats and the opacity test with your partner.
Legibility after scratching
The code must survive scratching intact, in a mono face with clearly distinguished characters. The code alphabet already excludes look-alike characters, so 0/O and 1/I/l confusions are designed out.
Placement
The panel must not overlap the shelf QR or its quiet zone, and scratching it must not abrade the shelf QR. Put them on opposite sides of the label.
Release
The panel must not lift the underlying print when scratched with a coin. Test with a coin, not a fingernail.

Until a per-substrate coating spec is published, write three things on the job bag and agree them with your partner before the run: the coat type, the number of coats, and the opacity test the panel must pass.

Per substrate #

The rules above hold everywhere. These do not — they are what changes with the format, and the last two columns are the ones that cost a reprint. The same table is on the partner page; it is repeated here because the reader of this page is the one who has to act on it.

What each substrate can carry. The print constraints are what we have observed on these formats — confirm them with your own process.

  • Pressure-sensitive label

    paper or filmic

    Which codes it can carry
    Both: shelf QR on the face, hidden code under a scratch panel.
    Tamper-evidence available
    Destructible or brittle face stock, VOID-release adhesive, or a tamper-evident die cut. A plain paper label on permanent adhesive gives none.
    Print constraints
    A matte, light window; no gloss varnish or lamination over the code. Below about 25 mm container diameter the curve starts costing reads.
  • Hologram / OVD foil

    optically variable device

    Which codes it can carry
    Both.
    Tamper-evidence available
    The strongest generally available. Hard to source, expensive to originate, and a registered design is traceable.
    Print constraints
    A matte, non-metallised window for the QR is mandatory — on metallised foil the code has poor contrast and mirrors shop lighting into the camera.
  • Shrink sleeve

    PVC / PETG / OPS

    Which codes it can carry
    Shelf code, reliably. A hidden code needs a cap seal, a perforated tear-off, or a second label under the sleeve.
    Tamper-evidence available
    Only from a perforated tamper band. A plain full-body sleeve can be slit, removed and replaced.
    Print constraints
    Distortion mapping. Put the code in the lowest-shrink band, pre-distort it with the artwork, and proof it on a shrunk bottle, never flat.
  • Folding carton / mono-carton

    board

    Which codes it can carry
    Both: shelf QR outside, hidden code on the inside face or under a glued flap.
    Tamper-evidence available
    None from the board. It must come from a seal across the flap, a tearing glue closure, or a shrink band.
    Print constraints
    Dot gain on uncoated board — allow for it at plate stage rather than shrinking the code. Off the crease, off the glue flap, out of any spot-UV.
  • Flexible pouch / laminate

    film

    Which codes it can carry
    Shelf code outside; hidden code on the inside web or under a zipper flap — genuinely unreachable until opened.
    Tamper-evidence available
    Only from the seal, and a carefully re-sealed pouch is hard to detect. None from the film.
    Print constraints
    On rotogravure the cylinder is fixed: variable data comes from a separate inkjet or laser station. Metallised film needs a white base under the code.
  • Corrugated shipper

    outer

    Which codes it can carry
    Shelf code only.
    Tamper-evidence available
    None. A logistics outer carries no evidence; treat any claim otherwise as false.
    Print constraints
    Low contrast and heavy dot gain on kraft: 18–20 mm, not 15, on white-lined board or a preprinted liner — or apply a pressure-sensitive label to the corrugate.
  • Direct mark on the product

    laser, thermal inkjet

    Which codes it can carry
    Shelf code only, unless a second surface exists.
    Tamper-evidence available
    None from the mark.
    Print constraints
    Contrast is everything; a laser mark on a dark or shiny surface usually fails. Proof on the real material at real line speed.

A code is not tamper-evidence. It proves this label was issued for this unit and has not been claimed. Proving the pack was not opened is a physical job. AVRA says tamper-evident and claims nothing stronger: a pack that shows it was opened is achievable; one that cannot be opened is not.

And the format decides the mode. Dual Code needs somewhere to hide the second code. Where the format has nowhere — a bare sleeve, a corrugated outer, a direct mark — the batch runs single mode: the first N verifications answer GENUINE and the N+1th answers SCANNED BEFORE. Tell the brand that before the run, not after.

Still yours to specify, whatever the format: the overall pack size and shape, the substrate and the adhesive or seal, the tamper-evident construction you are supplying, and the application temperature and curing.

Proofing and QC #

Before the run:

  1. Verify the file. Take the QR ZIP or the Excel export, which carry the manifest and SHA256SUMS.txt, and check the checksums against the files you received.
  2. Check the manifest. The batch id, product, lot number and label range in manifest.csv must match the job bag. A batch printed against the wrong job is unrecoverable once it is on a pallet.
  3. Proof on the real substrate, finished. A QR proofed on paper and printed on holographic film, kraft board or a shrunk sleeve is a different scan. If the pack shrinks, proof it shrunk; if it is laminated, proof it laminated.

After the run, before activation:

  1. Pull labels from the start, the middle and the end of the run. Presses drift; a QR that reads at the start can stop reading by the end.
  2. Scan each one on five different phones. At minimum: two budget Android handsets of different makes, one mid-range Android, one iPhone, and one phone with a scratched camera lens. Use the default camera app, not a scanner app — your buyer will use the default camera app.
  3. Scan in shop lighting, not office lighting. Under a tube light, at an angle, held by one hand.
  4. Scratch a panel and check the code underneath is fully legible and the shelf QR beside it is undamaged.

Then activate the batch in the console, and re-scan two labels that you will destroy: a single-code label now says GENUINE; a Dual Code shelf QR says VALID, and GENUINE once you scratch and enter its hidden code. Every scan after activation is real — it spends the label's verifications — so never test on labels that will ship.

What fails QC #

Any one of these stops the run:

  • A QR under 15 mm, or one that has been scaled non-uniformly.
  • Anything inside the quiet zone — artwork, a rule, a die line, foil.
  • Gloss varnish, lamination gloss, metallised or holographic film over the QR area.
  • On a sleeve: a code outside the mapped low-shrink band, or one proofed flat.
  • On corrugated: a code under 18 mm, or printed straight onto unlined kraft.
  • A label that fails to read on any of the five test phones.
  • A scratch panel that can be read through under a torch.
  • A scratch panel whose removal damages the shelf QR.
  • Row order that cannot be proven to match the file.

After activation #

Once the batch is activated, the print file becomes platform-admin-only inside AVRA, every download is recorded, and the file is purged 30 days later.

Last reviewed 19 Oct 2026 · Something wrong? connect@avrascan.com