# QR codes on engraved and etched metal

> Metal marking is the hardest QR surface because contrast comes from surface texture rather than colour, and the finish reflects. Use error correction H, keep modules at 0.5 mm or larger, and specify a matt or annealed mark rather than a polished cut.

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

---

| Typical scan distance | **15–40 cm** |
|---|---|
| Minimum code width | **1.5–4 cm** |
| Error correction | **H** |

## Contrast comes from texture, not colour

There is no ink. The decoder sees a difference between a diffuse marked area and a specular
unmarked one — and that difference depends entirely on the angle of the light and the
camera. This is why a metal code that reads perfectly on the bench fails in the workshop.

**Laser annealing** on stainless steel produces a dark oxide with genuinely different
luminance and is the most reliable method. **Deep engraving** relies on shadow and is the
least reliable. **Chemical etching** and **electrolytic marking** sit in between.

## Specification

- Modules at **0.5 mm or larger**; below that the mark edges dominate.
- Error correction **H** — 30% damage tolerance covers scratches, oil and partial glare.
- **Mark the code dark on a light substrate**, not the reverse. Inverted metal codes fail
  more often.
- Bead-blast or brush the surrounding area so the unmarked modules are diffuse rather than
  mirror-finish.

## Reading it

Phone cameras struggle. Direct Part Marking is normally read with a dedicated imager
providing diffuse dome illumination. If a phone must read it, test with the actual finish
under the actual lighting before committing to a production run.

## Standards

For industrial traceability, the relevant grading standard is ISO/IEC 29158 (AIM DPM), which
scores marks on cell contrast, modulation and reflectance uniformity — worth requesting from
your marking supplier.

## Try it

- https://useqr.app/url
- https://useqr.app/size-calculator
- https://useqr.app/validate
