A QR code that does not scan is worse than no code at all: it sits on a poster or a menu looking like it works while quietly failing. Almost every failure comes from the same few causes, such as a logo that is too big, colors with too little contrast, a printed size that is too small, or a missing margin. This guide explains how a QR code survives damage, how to put a logo in one safely, and how to check a code before you print thousands of them.
A QR code is a square grid of dark and light cells called modules. Three parts of it matter when you design one:
The size of the grid matters in print. For the same printed width, a code with more modules has smaller modules, and smaller modules are harder for a camera to resolve. This is why a short web address makes a more robust code than a long one.
When a QR code is made, extra recovery data is stored alongside your content. If part of the pattern is dirty, scratched, folded or covered, the scanner uses that extra data to rebuild what is missing. There are four levels, and a higher level can rebuild more:
| Level | Can rebuild up to about | Typical use |
|---|---|---|
| L (Low) | 7% | Clean screens and tidy print where you want the smallest code |
| M (Medium) | 15% | General use, the common default |
| Q (Quartile) | 25% | Print that may get scuffed, small logos |
| H (High) | 30% | Logos, outdoor signs, packaging and stickers |
Higher correction is not free. The recovery data takes up room, so the same text needs a denser code at level H than at level L. At a fixed printed size, the denser code has smaller modules. A sensible default is M for plain codes and Q or H as soon as you add a logo or expect wear.
A logo covers real modules. The code keeps working only because the error-correction data can rebuild what the logo hides. That sets a hard limit on the logo's size, and the limit depends on the level you chose:
Cover more than that and the scanner has too little left to work with. The QR Code with Logo tool ties the two together: its Auto setting raises the correction to Q or H when a logo is present, and the logo size slider stops at the largest logo the chosen level can rebuild. A few more habits help:
Scanners look for dark modules on a light background with strong contrast. Aim for a contrast ratio of at least 4 to 1. Dark navy on white is safe, yellow on white is not.
Three numbers cover most print jobs:
If the code is for a screen, a PNG at 1024 pixels or more is plenty. If it will be printed or enlarged, export an SVG, which is a vector format and stays sharp at any size. A small PNG scaled up for print goes soft at the edges, which is a common reason for a code that scans on screen but not on paper.
A code made in your browser is static: your text or web address is stored in the pattern itself. It works for as long as the destination works, and it does not depend on any service, account or subscription. The trade-off is that you cannot change where it points afterwards, so check the address carefully before you print.
Use the shortest real address you control. Avoid third-party link shorteners you do not control, because the code stops working if the shortener does. Remove tracking parameters you do not need, because every extra character makes the code denser.
The QR Code with Logo tool puts your logo in the middle of a code and restyles the colors, module shapes, eyes and an optional frame such as "SCAN ME". It accepts PNG, JPEG, SVG or WebP logos up to 1 MB, downloads PNG from 256 to 2048 pixels or SVG for print, and decodes the result before you download it. Everything runs in your browser: neither the logo nor the text you encode is uploaded, and only the design settings are remembered on your device.
What does error correction mean in a QR code? The code stores extra recovery data alongside your content, so a scanner can rebuild the parts that are damaged, dirty or covered by a logo. Levels L, M, Q and H can rebuild about 7%, 15%, 25% and 30% of the code.
Which QR error correction level should I use? Level M suits most plain codes. Choose Q or H when you add a logo or expect the print to wear, such as on packaging, stickers and outdoor signs. Higher levels make the code denser, so the printed modules get smaller.
How big can a logo be in a QR code? It depends on the level. At level L it can cover only about a tenth of the code's width, and at level H roughly a quarter. A bigger logo hides more than the recovery data can rebuild.
What size should a printed QR code be? At least 2 cm wide for close scanning, with a margin of at least four modules. For distance, allow roughly ten times the code's width as the scanning distance.
Do QR codes expire? A static code, with the address stored in the pattern, never expires. It stops working only if the page it points to disappears. Codes that route through a third-party service can stop working when that service does.
Do colored QR codes scan? Yes, if there is strong contrast, with dark modules on a light background. Avoid inverted (light on dark) codes and low-contrast pairs.
Should I save a QR code as PNG or SVG? SVG for anything printed or enlarged, because it stays sharp at any size. PNG at 1024 pixels or more for web pages, slides and documents.