QR Code Generator

Type a link, take a PNG or SVG. No account, no expiry, no tracking.

At a glance

InputA link, text, phone number or email address
OutputPNG
SizesS, M, L, XL
Error correctionL 7%, M 15%, Q 25%, H 30% — higher survives more damage
Where it runsEntirely in your browser — no file is uploaded to a server
PriceFree, with no account and no sign-up
OfflineWorks with no connection after the first visit

The codes that stop working

Many free generators give you a short link that points at their server, which then redirects to yours. It lets them count the scans — and it means the code dies the day they stop paying for that domain, or start charging you. Printed on a menu or a business card, that is a real problem.

The code here contains your URL and nothing else. There is no redirect, no account and nothing to expire. It will scan in ten years, and it works with no internet between the phone and the code.

Print it as SVG, not PNG

A QR code is pure geometry, so an SVG scales to any size with perfectly sharp edges — the right choice for anything going to a printer. PNG is fine on screen and for a fixed size, but blown up on a poster it goes soft, and soft edges are exactly what makes a code fail to read.

Whatever the size, leave the pale border alone. That empty margin, the "quiet zone", is part of the specification; scanners use it to find where the code starts. Cropping it off is the most common reason a printed code will not scan.

Size, contrast and error correction

Around 2–3 cm across works at arm’s length. A code on a wall to be scanned from across the room needs roughly a tenth of the reading distance in width.

Dark on light, always. Inverting it — light code on a dark background — defeats a good many scanners. Keep real contrast: a mid-grey code on a photograph may look elegant and read badly.

Higher error correction lets a code survive being scratched, folded or partly covered by a logo, at the cost of a denser pattern. Longer URLs also make it denser, so a shorter address prints smaller and scans more reliably.

Frequently asked questions

Will this code expire?

No. Your URL is encoded directly into the pattern, so there is no redirect service that could go away and nothing to renew. Codes from services that shorten your link first stop working if that service does.

Can I edit where it points later?

Not without generating a new code — the destination is inside the pattern. If you need to redirect it later, point the code at a URL you control and change the redirect at your end.

Why does my printed code not scan?

Usually the quiet zone was cropped off, the code was printed too small, or contrast is too low. Print from SVG rather than a scaled-up PNG, and keep the pale margin.

Can I put a logo in the middle?

Not here. It works because of the error correction, but it eats the redundancy that protects against print damage, and it is easy to overdo. Adding one afterwards in an image editor — small, centred, and tested on several phones — is safer.

Is my link sent anywhere?

No. The pattern is computed in your browser, so a code for an internal or unlisted address is not logged by anyone.

Something wrong with this tool, or an idea for it? Tell us