# How to engrave a QR code

> Engraving carries no ink, so contrast must come from the process: laser annealing makes dark oxide on stainless, engraving anodised aluminium exposes bright metal (so invert the artwork on dark anodise), and deep engraving needs an oxidiser or paint fill. Test one piece at several angles before the batch.

Source: https://useqr.app/docs/how-to/how-to-engrave-a-qr-code · Last reviewed 2026-08-21 · UseQR is free forever, no signup.

---

## Engraving's core problem: contrast without ink

A printed code gets its contrast from pigment. An engraved code gets it from **what the
process does to the surface**: an oxide layer, exposed base material, a shadow-catching
recess. That contrast varies with lighting and viewing angle in a way ink never does:
a shallow mark on bright steel can be perfectly visible at one angle and invisible at
another, because polished metal reflects specularly. The general physics is covered in
[etched vs printed codes](/docs/print/qr-codes-etched-vs-printed).

So the question is never "can the machine engrave this fine?", most lasers resolve far
below a sensible module size. It is "**where does the darkness come from?**"

## Process by material

| Material | Best process | Where the contrast comes from |
|---|---|---|
| Stainless steel | **Fibre laser annealing** | Heat grows a dark oxide layer on the surface: genuinely dark modules, no depth, no fill. The best all-round result |
| Anodised aluminium | Laser dye removal | The laser strips the coloured anodic dye, exposing **bright** aluminium: see the inversion warning below |
| Brass, copper, raw aluminium | Deep engrave + oxidiser or paint fill | The recess alone is low-contrast; a patina/oxidising agent or enamel paint fill in the recess supplies the darkness |
| Wood | Laser burn | Charring is dark on light timber, engrave the modules directly; details in [laser-cut wood](/qr-codes-on/laser-cut-wood) |
| Acrylic, glass | Surface frosting | Frosted-on-clear is inherently low contrast, back the piece with a dark fill or paint the recess; see [QR on glass](/docs/print/qr-codes-on-glass) |

Metal-specific durability notes live in [QR codes on metal](/docs/print/qr-codes-on-metal)
and the surface guide at [engraved metal](/qr-codes-on/engraved-metal).

## The anodised-aluminium inversion trap

On **dark anodised** stock (black, navy, deep red), lasering the modules produces
*bright* modules on a dark field, an inverted code, which many scanners refuse; the
polarity rules are in [inverted codes](/docs/design/inverted-qr-codes). The fix is to
**invert the artwork**: engrave the *background* and leave the modules as untouched dark
anodise. More laser time, correct polarity. On light anodise (silver, champagne), engrave
the modules directly only if the exposed aluminium is clearly darker than the coating,
usually it is not, so inverting is the default habit on anodise.

## Setup rules

- **Module size ≥ 1 mm.** Machines resolve finer, but oxide edges and fill bleed do
  not stay crisp below that; keep the payload short so the version stays low.
- Flat-fill the modules (hatch), don't outline them.
- Matt or brushed finishes beat polished, less specular glare.
- Preserve the [quiet zone](/glossary/quiet-zone) as untouched surface.
- Feed the machine **SVG vector artwork** from the [generator](/url), not a rasterised
  screenshot.

## Test one, at angles, before the batch

Engraving batches are expensive to scrap. Engrave one piece and scan it with
[the scanner](/scan): held square, at 30° off-axis, under office light, sunlight and a
phone torch. Specular surfaces fail at specific angle-light combinations, and you want
to find them on piece one, not piece two hundred. Verify the payload once in the
[validator](/validate), and remember an engraved code is as permanent as it gets,
encode a URL on a domain you control.

## FAQ

### Can you laser engrave a QR code on metal?
Yes: fibre laser annealing on stainless steel gives dark, durable modules with excellent contrast. On other metals, plan for an oxidiser or paint fill, because a bare recess in bright metal reads poorly.

### Why is my engraved QR code hard to scan?
Almost always contrast, not resolution. Shallow marks on reflective metal disappear at certain angles. Use annealing or a fill for real darkness, prefer matt finishes, and test under multiple lights and angles.

### How do I engrave a QR code on black anodised aluminium?
Invert the artwork. Lasering the modules would expose bright metal and create an inverted code many phones reject, instead engrave the background so the modules remain dark anodise.

### What is the minimum module size for an engraved QR code?
Keep modules at 1 mm or larger. The machine can go finer, but oxide growth, fill paint and edge effects blur below that, and short payloads make 1 mm modules easy to achieve at small physical sizes.

## Try it

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