# QR codes for manufacturing

> Manufacturing QR codes are usually direct part marks on metal or plastic, where contrast comes from surface texture rather than ink. Use error correction H, modules of 0.5 mm or more, and grade marks against ISO/IEC 29158 rather than eyeballing them.

Source: https://useqr.app/qr-codes-for/manufacturing · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

## Direct part marking is a different discipline

There is no ink. A laser, dot peen or chemical etch changes the surface, and the decoder sees
the difference between a diffuse marked area and a specular unmarked one. That difference
depends on the lighting angle, which is why a mark that reads on the bench fails on the line.

| Method | Contrast quality | Notes |
|---|---|---|
| Laser annealing (steel) | Best | Dark oxide, genuine luminance difference |
| Chemical etch | Good | Consistent, needs masking |
| Dot peen | Fair | Relies on shadow; needs dome lighting |
| Deep engraving | Poor | Shadow only, highly angle-dependent |

## Specification

- Modules **0.5 mm or larger**.
- Error correction **H** — oil, swarf and handling damage are routine.
- **Dark mark on a light substrate**, not inverted.
- Bead-blast or brush the surrounding area so unmarked modules are diffuse, not mirror.

## Grade the mark, do not eyeball it

**ISO/IEC 29158** (AIM DPM) grades marks on cell contrast, modulation, axial non-uniformity
and reflectance margin. Ask your marking supplier for a graded sample under the illumination
your line actually uses. A mark that passes on their bench under dome lighting may fail under
your bar lights.

## Payload

A serial number, not a URL. Short, offline-readable, and resolved by your MES. Uppercase
alphanumeric keeps the encoder in the cheaper mode.

## Micro QR and rMQR

For small components, [Micro QR](/glossary/micro-qr) fits in 11–17 modules. For long thin
surfaces — cables, pipes, vials — [rMQR](/glossary/rmqr) is rectangular. Both are read by
industrial imagers and largely not by phones, so confirm your reading hardware first.

## Try it

- https://useqr.app/text
- https://useqr.app/json
- https://useqr.app/ssh
- https://useqr.app/bulk
