How-To
How to Make a QR Code That Scans Every Time
A QR code that will not scan is worse than none at all. Follow these simple rules for size, colour and error correction.
OEWER Team1 min read
A QR code stores text, usually a web address, as a pattern of squares. Phone cameras read it in a fraction of a second, as long as the pattern is clear. Most scanning problems come from a few avoidable mistakes.
Keep the text short
The more you put in a code, the denser and harder to read it becomes. A short link makes a simpler code than a long one. If your address is long, use a shorter page address.
Use strong contrast
- Dark squares on a light background scan best. Black on white is the safest.
- Do not invert the colours (light on dark). Many scanners fail on that.
- A very dark green, like our brand colour, is fine. Pale colours are not.
Leave a quiet zone
Keep an empty margin of at least four squares around the code. Our generator adds it for you. Do not crop it off, and do not print the code right against other graphics.
Pick the error correction level
Error correction lets a code still scan when part of it is dirty or damaged. Higher levels survive more damage but make the code denser. Medium suits most uses. Choose High for codes on stickers or outdoor signs that may get scratched.
Size and format
- For print, download the SVG, which stays sharp at any size, or a large PNG.
- For screens, a 512 pixel PNG is plenty.
- As a rule of thumb, a printed code should be at least 2 cm wide, and bigger if people will scan from a distance.
Try it yourself
Keep reading
How-To28 October 2026
Why Browser-Based Tools Keep Your Files Private
Some online tools upload your files to a server to process them. Others do the work on your own device. Here is how to tell the difference and why it matters.
1 min readRead
How-To12 October 2026
How to Compress Images Without Losing Quality
Big photos slow down websites and fill up inboxes. Learn which format and quality setting to choose so images get smaller without looking worse.
1 min readRead