Matte or Gloss: How the Finish Decides Whether a Printed QR Code Scans
by KoloQR TeamPrint

Specify matte lamination for any QR code fixed in place under a light the reader cannot escape - wall signs, window decals, menu boards, table tents under pendant lamps. Gloss is safe wherever the reader holds the object and can tilt it, such as business cards, packaging and flyers. Gloss reflects light back into the camera as a bright patch that erases part of the symbol; matte scatters the same light in every direction.
Key points
- Choose the finish by one question: can the reader change the angle? A card, a pack or a flyer is picked up and tilted, so gloss is survivable. A code fixed to a wall, a window or a menu board under a fixed light cannot be tilted, so specify matte.
- Gloss does not lower the design contrast. It adds a bright patch over part of the symbol at one specific angle, which is why the tell is that tilting the phone fixes it instantly.
- Matte lamination lightens the dark modules slightly and costs a little edge sharpness. Both are affordable for a black code on white paper at roughly 21:1, and neither is affordable for a coloured code already near the 7:1 print floor.
- Uncoated stock spreads ink further than coated stock, which narrows the light gaps between modules. Work from a 0.5 mm module floor on uncoated and 0.4 mm on coated, and size the code from the floor rather than from the layout.
- Build the dark modules from 100% K alone, never a four-colour rich black. Typical sheetfed registration tolerance is around 0.1 mm, which on a 0.4 mm module is a quarter of its width softened on every edge at once.
- Never put spot UV, foil or any mirror-finish ink over or inside a QR code. A specular surface inside the symbol is not a finish choice, it is a missing module.
Matte or gloss: which finish should a printed QR code have?
Specify matte for any QR code the reader cannot re-angle, and gloss only where the object is held in the hand. That single test settles most jobs, because glare is an angle problem rather than a brightness problem: a gloss surface returns light at the mirror angle, and whether that angle points into a camera depends on where the light, the code and the phone are - three things that are fixed on a wall sign and free to move on a business card.
The finish is a scanning decision before it is a design decision. A QR code that measures 3 cm, holds 0.5 mm modules and prints at 21:1 contrast is a good code, and a gloss laminate under a ceiling spotlight can still make it unreadable for everyone standing in the one place people naturally stand. Nothing in the artwork file predicts that, which is why the finish belongs on the print spec rather than in the design review.
Gloss is not the wrong answer everywhere, and treating it as one leads to worse packaging. A gloss film typically deepens the dark modules by a visible step and resists scuffing better than matte, so on a carton picked up in a shop aisle - diffuse overhead light, reader free to tilt - it is both the more durable and the higher-contrast choice. See QR codes on product packaging for the rest of what a pack asks of a code.
| Situation | Can the reader change the angle? | Finish to specify |
|---|---|---|
| Business card, flyer, leaflet, ticket | Yes, it is held in the hand | Gloss or matte, both work |
| Product packaging, bottle label, box | Usually, the pack is picked up | Gloss is fine; matte on curves |
| Restaurant menu, table tent, laminated card | Partly, but the light is directly above | Matte |
| Wall sign, poster, museum label, lift lobby panel | No, it is mounted and lit from above | Matte |
| Window decal read through glass | No, and the glass reflects too | Matte film |
| Vehicle livery, exhibition graphic | No, and the reader is outdoors | Matte vinyl |
| Screen, kiosk, acrylic-faced display | No, and the face is glossy by construction | Anti-glare face, matte print |
Where the answer is genuinely ambiguous, specify matte. The cost of matte on a job that would have tolerated gloss is a slightly lighter black and a slightly softer edge, both of which a black-on-white code has enormous margin for. The cost of gloss on a job that needed matte is a code that fails for a whole class of readers in a way nobody discovers until the print run is on the wall.
Why the finish changes a scan at all
A finish changes a scan because it changes what fraction of the light arriving at the print is sent back towards the camera in one direction. Specular reflection is light bouncing off a surface at the same angle it arrived at, which is what puts a bright patch of glare over part of a printed QR code. A matte surface scatters that light across a wide cone instead, so no single viewing position collects it all.
Glare does not dim the code. It adds the same amount of white light to the dark modules and the light ones inside the patch, which raises the black level and compresses the ratio between them. The decoder measures contrast locally, in small blocks, so the modules under the bright patch lose their difference while the rest of the symbol is untouched - a partially readable code, which is a code that does not read.
That is why the diagnosis is a movement rather than a measurement. If tilting the phone 20 or 30 degrees makes the code decode instantly, the fault is specular and the fix is the finish or the mounting angle. If the code fails from every angle, the fault is size, contrast or the quiet zone, and changing the laminate will not help. The contrast scan test sets out how to separate the two on a printed sheet.
The working contrast targets are 4:1 on a screen and 7:1 in print, and a black code on white paper sits near 21:1, so it has room to lose some. A finish spends part of that room: gloss spends it only at the mirror angle, matte spends a little of it everywhere by lifting the darkest reflectance. A brand-coloured code designed at 7:1 has nothing left to spend either way, which makes finish and colour one decision rather than two.
Matte also costs a small amount of edge definition, because the scattering surface that removes the glare slightly diffuses the boundary between a dark module and a light one. On modules at or above the print floor this is invisible to a decoder. Below the floor it compounds with ink spread, which is the case where a matte laminate and a small code fail together and each looks innocent on its own.
The finishes compared, and what each one costs
Every finish trades glare against durability and black density. This table is the trade in one place, with the QR-specific verdict rather than the print-buying one.
| Finish | Glare risk | Effect on the dark modules | Use it for a QR code when |
|---|---|---|---|
| No finish, uncoated stock | Lowest | Lightest black; most ink spread | Short-lived print that is never handled or wiped |
| No finish, coated silk or satin stock | Low | Good density, controlled spread | Menus, leaflets and cards where durability is not critical |
| Matte lamination | Very low | Slightly lighter black, slightly softer edges | Anything mounted, lit from above, or read through glass |
| Soft-touch lamination | Lowest of the films | Lighter black; shows oils and scuffs | Premium packaging where the code is large and dark on white |
| Anti-scuff matte lamination | Very low | As matte, with better mark resistance | Dark packaging and folding cartons that are handled a lot |
| Gloss lamination | High at the mirror angle | Deepest black, sharpest edges | Held objects: cards, packs, flyers, tickets |
| Aqueous or machine-seal varnish | Low to moderate | Small density gain, minimal protection | Volume print where a film is not budgeted |
| UV varnish, flood | Highest of all | Very deep black, very reflective | Not over a QR code that is mounted anywhere |
| Spot UV or foil over the symbol | Total, in patches | Mirror surface inside the pattern | Never |
Soft-touch is the finish that surprises people. It is the least reflective surface on the list and therefore excellent for scanning, but it lightens the black more than a standard matte film and it holds fingerprints, so on a dark or coloured code that was already marginal it makes a small problem visible. On a black code at full size it is the safest premium finish available.
Spot UV and foil are the only entries here that are categorically wrong rather than situational. A mirror-bright patch inside a QR code does not carry a reflectance value the decoder can bin as dark or light: it carries whatever is in front of it, which is usually a ceiling light or the phone. Keep both outside the symbol and outside its quiet zone.
Coated or uncoated: the stock decides more than the finish
Uncoated stock is the bigger scanning variable, because it changes the geometry of the modules rather than the light coming off them. Dot gain is the spread of printed ink beyond the size it has in the file, which thickens a QR code's dark modules and narrows the light gaps between them. Coated stock holds the ink on the surface; uncoated stock lets it wick into the fibres, and ISO 12647-2 sets different tone value increase targets for the two for exactly that reason.
The practical consequence is a module floor, not a percentage. Keep printed modules at 0.4 mm or larger on coated stock, and 0.5 mm or larger on uncoated, kraft or recycled stock. A code sized from those floors survives the spread; a code sized from the space left in the layout finds out on press. The arithmetic that turns a floor into a width is in the guide to the minimum size for print.
Measure the spread on a real sheet rather than trusting a number. Scan the printed proof on a flatbed at 1200 dpi, measure the width of a light module against the nominal module size, and halve the difference to get the growth per edge. Anything that consumes more than about a quarter of a light module is a code that needs to be larger, not a code that needs a different finish.
| Stock | Ink behaviour | Module floor | What to change |
|---|---|---|---|
| Gloss or silk coated | Sits on the surface, minimal spread | 0.4 mm | Nothing; this is the reference case |
| Uncoated offset | Wicks into the fibres | 0.5 mm | Add roughly 25% to the code width |
| Kraft, recycled, newsprint | Heavy spread and a dark base tone | 0.5 mm and up | Add width and check contrast against the paper colour |
| Thermal receipt paper | Low contrast, fades within months | 0.5 mm | Keep the URL short and print a text fallback |
| Corrugated, direct print | Flute texture breaks module edges | 0.6 mm | Print on a label rather than on the board |
| Vinyl, film, synthetic | Very controlled | 0.4 mm | Choose matte film if the code is mounted |
| Fabric and textile | Weave dominates the module edge | 0.8 mm | Enlarge substantially and test on the real cloth |
Coated stock and a matte laminate together are the combination that scans best in the widest range of conditions: the coating keeps the modules geometrically correct, and the film keeps the light diffuse. That pairing is worth specifying by name on menus, signage and anything mounted, because a print quote that says only "matte" may still arrive on uncoated stock.
CMYK: build the dark modules from 100% K
Build a printed QR code's dark modules from black ink alone - 100% K, with cyan, magenta and yellow at zero. A four-colour rich black needs all four plates to register perfectly, and typical sheetfed registration tolerance is around 0.1 mm, which on a 0.4 mm module is a quarter of its width picking up a coloured fringe on every edge in the symbol at once.
The light modules must be paper, not a light tint. Knock the background out to 0/0/0/0 rather than screening a colour back to a pale percentage: a 5% tint is a halftone dot pattern inside every light cell, and it lowers the lightest reflectance the decoder measures at exactly the scale where it has the least room.
KoloQR, a free QR code generator with circular and custom-shaped QR codes, exports SVG, PDF, EPS and PNG in RGB, so the conversion happens in the layout rather than in the download. For a flat black code that conversion is a single step: place the vector file, select the dark artwork, and set it to 100% K before the file goes out. For a coloured code, agree the CMYK build with the printer rather than letting an automatic conversion decide - the SVG vs PNG guide covers which file to hand over.
- Dark modules: 100% K only. One spot colour is the other acceptable answer where the brand demands a colour, because it is still one plate.
- Light modules and quiet zone: paper white, no tint, no varnish pattern, no image behind them.
- Total ink limit: irrelevant for a K-only code, and the reason to keep it K-only. Printers commonly specify a limit near 300% on coated stock and lower on uncoated, which a rich black approaches.
- Overprint: switch it off for the code. A dark module set to overprint a coloured panel picks up that colour underneath and loses density.
- Colour profile: convert once, in the layout, with the printer's profile. Converting twice is how a black becomes a rich black without anyone choosing it.
- Varnish and die lines: keep both off the symbol and off the four modules of quiet zone around it.
Check the swatch after conversion rather than trusting the appearance on screen. An RGB black of #000000 converts to a four-colour build under some profiles, and it looks identical in the layout window - the difference only appears on press, as soft edges across every module in the symbol.
Glass, curves, foil: surfaces where the finish decides the outcome
Four surfaces make the finish decision more important than usual, because each of them adds a second reflective layer or removes the reader's ability to move.
Behind glass
A code behind glass has two specular surfaces in front of it, and a matte print only removes one. Position matters more than finish here: mount the code away from the wall the opposite light source sits on, and check the view from where a reader actually stands on the pavement, at their eye height, at the time of day the shop is busiest. Window and shop-front codes are also the case where size is usually wrong at the same time - see the sizes on the retail stores page.
Curved and cylindrical labels
On a cylinder, a gloss surface always produces a bright band somewhere across the curve, because every angle from grazing to head-on is present at once. That band moves as the reader turns the bottle, so it is escapable in the hand and unavoidable on a shelf. Specify matte for bottle, jar, tube and cup labels, keep the code narrower than about a quarter of the circumference, and add roughly 20% to the width.
Laminating pouches and encapsulated menus
A 125-micron gloss laminating pouch is the single most common cause of an unreadable restaurant code, because it is thick, very glossy, and sits directly under pendant lighting. Matte pouches cost the same and remove the problem. Where a venue is already committed to gloss, moving the code from the middle of the sheet towards a lower corner often takes it out of the reflection of the lamp above the table - the printing details for that case are on the restaurant menus page.
Foil, metallic ink and mirrored substrates
A metallic or foil surface has no fixed reflectance, so it cannot serve as either the dark or the light half of a QR code. Metallic dark modules read as bright at the mirror angle and as dark elsewhere; a mirrored background does the same in reverse. Print the symbol in flat ink on a flat area, and use the foil in the surrounding design, where the creative treatments belong anyway.
How to test a finish before the print run
- Ask the printer for a finished sample. Request the code printed at final size on the production stock with the actual laminate or varnish applied. An unlaminated proof tests none of what this page is about.
- Print both finishes where the choice is open. Ask for one matte and one gloss sample of the same artwork. The comparison takes two minutes and settles the argument permanently for that venue or that pack.
- Mount it where it will live. Fix the sample at the real height, on the real wall, in the real frame, or lay it on the real table. A sample held in the hand tests the one condition the finished job will not have.
- Turn on the real lights. Use the lighting the code will live under, at the hour it matters - the restaurant at dinner service, the aisle under fluorescents, the shop window at dusk with the street lights on.
- Scan from three positions, standing still. Scan straight on, from the left and from the right, without tilting the phone to help it. A mounted code has to work for someone who does not know that tilting helps.
- Find the glare angle deliberately. Move until the bright patch lands on the code, then try to scan. Note whether that position is somewhere a reader would naturally stand. If it is, the finish is wrong regardless of how well the other angles read.
- Check the modules with a loupe. Look at the light cells between the dark modules on the printed sample. If the gaps have visibly narrowed against the artwork, the stock is spreading and the code needs to be larger, not differently finished.
- Repeat on a second phone. Use one iPhone and one Android handset, at least one of them a few years old. Older sensors need more light, which means more exposure, which makes glare worse.
The glare-angle step is the one people skip and the one that catches the failure. Every code scans from somewhere; a mounted code has to scan from where people stand, and that is a fact about the room rather than about the artwork.
What to put on the print spec
A finish decision is only real if it reaches the printer in writing. These six lines cover everything on this page and fit in an email.
- Stock and coating, named: for example "300 gsm silk coated" rather than "card".
- Finish, named as film or varnish: "matte lamination, both sides", not "matte".
- The dark modules built as 100% K, overprint off, no rich black.
- The light modules and the four-module quiet zone left as bare paper - no tint, no varnish, no image.
- No spot UV, foil or embossing within the symbol or its quiet zone.
- A finished sample at final size before the run, on the production stock.
Send vector artwork alongside that spec so the code can be placed and scaled without softening, and hand over the destination URL in plain text so nobody rebuilds the code by retyping it. The generator exports SVG, PDF and EPS with no watermark, and the resolution decisions for a raster export are in the guide to QR code resolution. The finish is the eighth of nine checks a print run has to pass; the print checklist has the rest in the order they run.
Common mistakes with finish and coating
- Approving an unlaminated proof. The proof scans, the finished job does not, and the difference is the one variable the proof did not include. Ask for a finished sample or accept that the finish is untested.
- Treating glare as a size problem. Enlarging a code that fails under a spotlight produces a larger code that fails under a spotlight. Tilt the phone first: if that fixes it, no amount of extra width will.
- Specifying matte for a code that is already marginal on contrast. Matte lifts the darkest reflectance slightly. A black code has room for that; a mid-grey or brand-coloured code at 7:1 does not, and the answer there is a darker code rather than a different film.
- Letting spot UV follow the brand pattern across the symbol. A varnish plate drawn from the layout rather than by hand routinely runs a gloss stripe over part of the code, which is invisible in the PDF and fatal on the shelf.
- Using a gloss pouch because it was in the drawer. Encapsulated menus and mounted signs are the two jobs where gloss reliably fails, and both are usually laminated in-house without a spec.
- Assuming uncoated is safer because it is matte. Uncoated removes glare and adds ink spread. It is the better light behaviour and the worse module geometry, which is why the module floor rises to 0.5 mm rather than staying where coated stock leaves it.
- Converting the file to CMYK twice. One conversion with the printer's profile is controlled; a second one turns a K-only black into a four-plate build without a visible change on screen.
Finish, stock and size fail together more often than any one of them fails alone. A code that clears the module floor on coated stock, prints as flat 100% K, and carries a matte film is a code with margin in all three directions - and margin is the only thing that survives a print run nobody gets to repeat.
Make Your QR Code
Free, with no account and no watermark. Choose a shape, add a logo, check the contrast, and export SVG, PDF, EPS or PNG - a static code with no subscription behind it.
Generate QR CodeQuestions? Answered
Matte is better for any code the reader cannot re-angle: wall signs, window decals, mounted panels and laminated menus under overhead lighting. Gloss is fine for objects held in the hand, such as business cards, packaging and flyers, where tilting escapes the reflection. Gloss gives a deeper black and better scuff resistance, so it is not a worse finish, only a riskier one when mounted.
No, lamination itself is harmless - the film is transparent and the modules are unchanged underneath. What breaks a scan is a gloss film reflecting a light source back into the camera as a bright patch over part of the symbol. Matte lamination removes that failure entirely and is the safer specification wherever the code is mounted rather than handled.
Because the glare from the laminate is specular: it leaves the surface at the same angle it arrived, so one viewing position collects it and the others do not. Tilting the phone moves the camera out of that reflection. If tilting fixes the scan, the fault is the finish or the mounting position, not the size, the contrast or the artwork.
No. A mirror-bright surface inside the symbol has no fixed reflectance value - it shows whatever is in front of it, usually a ceiling light or the phone itself - so the decoder cannot sort those cells into dark and light. Keep spot UV, foil, embossing and metallic ink outside both the symbol and its four-module quiet zone.
Slightly, by lifting the darkest reflectance and softening module edges a little. A black code on white paper sits near 21:1 against a 7:1 print target, so it absorbs the loss easily. A brand-coloured code designed at or near 7:1 has nothing to spare, and the fix there is a darker code rather than a glossier finish.
Matte, in the pouch and on the print. Restaurant tables sit directly under pendant or downlight fittings, which is the exact geometry a gloss laminate turns into a bright patch. Matte pouches cost the same as gloss. If the venue is committed to gloss, move the code towards a lower corner of the sheet, away from the lamp's reflection.
Gloss or anti-scuff matte both work on a flat carton, because a pack is picked up and re-angled. Choose matte for curved surfaces such as bottles, jars and tubes, where a gloss finish always produces a bright band somewhere across the curve. Soft-touch is the least reflective option and the one that shows fingerprints most.
100% K, always. A rich black needs four plates to register perfectly, and typical sheetfed registration tolerance of around 0.1 mm is a quarter of a 0.4 mm module - enough to soften every module edge in the symbol at once and pick up coloured fringes. One spot colour is the other acceptable build, because it is still a single plate.
Yes, if the job prints in CMYK. KoloQR exports SVG, PDF, EPS and PNG in RGB, so the conversion happens in the layout: place the vector file and set the dark artwork to 100% K before sending. Convert once, with the printer's profile - a second conversion can turn a K-only black into a four-plate build with no visible change on screen.
It changes a different variable. Uncoated stock removes glare, which helps, and spreads ink into the light gaps between modules, which hurts. Work from a 0.5 mm module floor on uncoated, kraft and recycled stock rather than the 0.4 mm floor coated stock allows - in practice, roughly 25% more code width for the same payload.
Usually, but the glass adds a second reflective surface that no print finish removes. Use matte film on the decal, then check the view from where a reader actually stands outside, at their eye height, at the busiest time of day. Position matters more than finish here: mount the code away from whatever the glass reflects.
Yes, and it is the least reflective film available. Two costs come with it: it lightens the dark modules more than a standard matte film, and it holds fingerprints and scuff marks. On a black code printed at full size on white, neither matters. On a small or coloured code already close to the contrast floor, choose standard matte instead.
No, because thermal receipts carry no finish at all. The variables there are the paper and the print head: thermal stock is low in contrast, absorbent and fades within months. Keep receipt codes at 2 cm or more with a short URL, and print the address as text underneath for anyone scanning the receipt weeks later.
Keep Exploring
Pages that pick up where this one leaves off - the same setting, the same kind of code, or the next thing worth deciding.
Retail Stores
Product details, stock and review links on shelf labels, shop windows and checkout signs.
Barbershops
Window bookings, one code per chair for rebooking, reviews and Instagram - with sizes in cm and finishes that survive hairspray and station lights.
Pix QR Code
Encode the Pix Copia e Cola string your bank issued as a code you can style and print.
QR Code Print Size Calculator
Turn a scanning distance, a payload and a material into a minimum width in millimetres, with the module size and quiet zone behind it.
QR Code Minimum Size for Print: How Small a Code Can Go Before It Stops Scanning
The 2 cm floor and where it comes from, the distance rule, minimum sizes for cards, menus, packaging and posters, and how URL length pushes the minimum up.
QR Code Quiet Zone: The Empty Margin That Decides Whether a Code Is Found
Why a scanner needs empty space around a QR code, what four modules works out to in millimetres, the layout habits that quietly remove it, and how to measure what a file actually carries.
Why KoloQR?
- Create QR codes for websites, menus, Wi-Fi, PDFs, and business cards
- Customize colors, logos, and unique shapes
- Download high-quality PNG and SVG files
- Built for both print and digital

