Making QR codes that scan every time
A QR code stores text in a square grid of black and white modules that a phone camera can read in a fraction of a second. Most QR codes hold a web address, but they can carry any text: a Wi-Fi login, a phone number, a contact card or a short message. The phone decides what to do with the text; a URL opens in the browser.
The codes made here are static: the text is inside the image itself. There is no redirect service in between, so the code never expires, nobody can count your scans, and it keeps working even if this site disappears.
How to use it
- Type or paste the text or URL, up to 2,000 characters. The preview updates as you type.
- Pick a size: Small (192 px), Medium (320 px) or Large (512 px).
- Choose an error-correction level. Medium suits screens and clean prints; pick Quartile or High for stickers, outdoor signs or anything that may get scratched.
- Set the dark and light colours if you want brand colours, then download the code as SVG for print or PNG for the web and messaging apps.
Example: how error correction changes the code
https://minitaska.com/
L: version 2, 25 × 25 modules M: version 2, 25 × 25 modules Q: version 3, 29 × 29 modules H: version 3, 29 × 29 modules
The same 22-character URL needs a bigger grid at Quartile and High, because those levels spend more modules on recovery data. A bigger grid means smaller modules at the same print size.
What the error-correction levels mean
QR codes use Reed–Solomon error correction, the same family of codes that lets a scratched CD play. At Low, about 7% of the code can be damaged or covered and it still reads; Medium survives about 15%, Quartile about 25% and High about 30%. Higher levels cost space, so the code gets denser for the same text.
If you plan to put a logo in the middle of the code, use High and keep the logo well under a quarter of the area. Then test the result with more than one phone.
Rules for printing
Contrast matters more than colour: scanners need a dark code on a light background. Light-on-dark or low-contrast pairs such as yellow on white fail on many phones. Keep the quiet zone, the empty border around the code; this tool adds a two-module margin, so do not crop it away.
Size the print for the scanning distance. A common rule of thumb is a code width of at least one tenth of the distance: about 2 cm for a business card held in the hand, 30 cm for a poster read from three metres. SVG scales to any size without blurring, so use it for print.
Shorter text gives a simpler code. If a long URL produces a dense grid that scans slowly, shorten the URL before encoding it.
Questions
Do these QR codes expire?
No. The text is stored in the code itself, with no redirect service in between, so it works for as long as the destination exists.
Can I track how many people scan it?
Not with a static code. Add UTM parameters to the URL before encoding it, and your web analytics will count the visits that come from the code.
SVG or PNG?
SVG for print and design tools, because it is vector and stays sharp at any size. PNG for websites, documents and chat apps that do not accept SVG.
Is it safe to put private data in a QR code?
Anyone who can see the code can read it. Do not encode passwords or personal data you would not print in plain text.