QR Code Generator
Links, Wi-Fi networks, contact cards, email, SMS or plain text — with custom colours and a crisp PNG or scalable SVG. Static codes that never expire and don't track scans. Free and 100% private.
Scan it to test before you download.
The data lives in the code itself — less of it makes a simpler, easier-to-scan pattern.
Low contrast — many scanners will struggle with this pair.
A logo automatically raises error correction so the code still scans.
Advanced
Higher recovery survives scuffs and printing, at the cost of a denser pattern.
Free QR codes that never expire
Any URL or text — the QR code updates live as you type.
Set your colours, size and error-correction level to match your brand.
Grab a high-resolution PNG or a scalable SVG for print — free, no watermark.
These are static QR codes generated in your browser — the data lives in the code itself, so there's no redirect, no tracking and no expiry, and nothing is ever uploaded.
Designing a code that scans on the first try
The blank margin is part of the code
The specification requires a quiet zone — four modules of empty space on every side, a module being one of the small squares. Scanners use it to find where the code begins, and it is not a design suggestion.
Printing a code flush against text, a border or a coloured panel is the single most common reason a technically valid code refuses to scan. Paper also absorbs ink and slightly thickens every module, which eats into the margin further, so a proof that scans on screen can fail in print.
Error correction is what buys you a logo
Four levels of redundancy are available, recovering roughly 7%, 15%, 25% and 30% of the data. A logo dropped in the centre is simply damage, so whether the code survives is decided entirely by which level it was generated at.
At the highest level a centre logo covering up to about a quarter of the area still decodes. At the lowest, the same logo destroys the code. There is no way to place a logo 'safely' other than leaving enough redundancy to absorb it.
Colour contrast is not brightness contrast
A scanner measures luminance, not hue. Red modules on a green field look strongly contrasting to a person and can be nearly identical in brightness to a camera, which is why colourful codes fail in ways their designers find baffling.
Check any coloured design in greyscale before committing. If the modules and the background are hard to tell apart there, the code will struggle. Keep the modules darker than the background, too — inverted codes are decoded by many scanners and not all.
Size follows viewing distance
The working rule is that a code should be at least one tenth as wide as the distance it will be scanned from. A metre away wants 10 cm; across a room wants far more than most posters allocate.
- Shorter URLs produce fewer modules, so each one is physically larger and easier to read.
- Below roughly 2 cm, print becomes unreliable regardless of distance.
- Test with a default camera app, not a dedicated scanner — that is how people scan.
- Test on the actual material under the actual lighting before a print run.
Frequently asked questions
Is this QR code generator free?
Do the QR codes expire or track scans?
What can I put in a QR code?
Can I change the colours and download a vector file?
More free, private tools
Export here and keep editing there — your image carries over, with no re-upload.