QR code generator with logo
No expiry, no sign-up, codes never tracked or redirected.
Type a link or text (or Wi-Fi, email or phone details), choose colours and an optional logo, then download a PNG or SVG. The code is made on your device. The code is static: it never expires, and it is never redirected or scan-tracked.
Static codes: they never expire
This tool writes your link or text straight into the pattern of squares. There is no short link in between, no account and no server, so nothing can be switched off later and scans cannot be counted. The code works for as long as the link inside it works. Some "free" generators instead encode a link to their own redirect service, which can stop working or ask for payment later. To change where a static code points, make a new code.
How it works
- Content. Links and text are encoded as they are. Wi-Fi uses the common format
WIFI:T:WPA;S:name;P:password;;(with\before any; , " :or\in the name or password). Email becomes amailto:link and phone becomes atel:link. - Size (version). A QR code has a version from 1 (21 × 21 squares, called modules) to 40 (177 × 177). Each version adds 4 modules per side: modules per side = 4 × version + 17. The tool picks the smallest version that fits your data.
- Error correction. Extra Reed–Solomon data lets a scanner rebuild damaged parts: about 7% (L), 15% (M), 25% (Q) or 30% (H) of the code. If your data fits at a higher level with no change in size, the tool raises it for free.
- Logo. A logo hides part of the code, so the tool switches to level H and leaves the centre clear for your image. The logo is capped at 10% of the code's area. In our decoding tests (every version from 5 to 40), a 10% centre logo always scanned, but 12% to 20% failed for some sizes, so the tool does not go higher.
- Quiet zone. A border of 4 light modules is added on every side, as the standard requires. Keep it when you print.
- Image. Each module is drawn as a whole number of pixels so edges stay sharp. That means a "512 px" image may come out slightly smaller.
Worked example
The link https://tools.plainwrenstudio.com/ is 34 characters. With level M chosen, it fits in version 3: 4 × 3 + 17 = 29 modules per side. It does not fit at level Q in the same size, so the tool keeps M. With the 4-module quiet zone the image is 37 modules wide. For a 512 px image, 512 ÷ 37 rounds down to 13 px per module, giving 481 × 481 px.
Add a logo and the tool switches to level H and at least version 5 (37 × 37 modules), so the logo stays clear of the three corner squares. The 10% logo box is then 11 × 11 modules in the centre.
Tips for a code that scans
- Use a dark code on a light background. Many phone cameras cannot read light-on-dark codes. The tool warns you if contrast is below 4:1; aim for 7:1 or more.
- Print it at least about 2 cm (0.8 in) wide, and bigger for long links or when people scan from far away.
- Shorter content gives a smaller, simpler code that is easier to scan.
- Always test the printed code with two different phones before printing many copies.
- For print, the SVG file scales to any size without blurring.
FAQ
Do these QR codes expire?
No. They are static: the content is in the code itself, so there is nothing that can expire. Only the website or details inside it can change.
Do I need to sign up, and are scans tracked?
No sign-up or account is needed: the code is made in your browser. The codes are static, with your link or text stored in the code itself and no redirect through this site or anyone else's, so scans of your code cannot be tracked or counted.
Can I see how many people scanned it?
No. Counting scans needs a redirect link, and these codes deliberately do not use one. Scanning goes straight to your content.
Is my logo or Wi-Fi password uploaded?
No. Everything is made in your browser. Nothing you type or upload leaves your device.
Can I use the codes commercially?
Yes. The codes you make are yours to use for anything, with no attribution needed.
Why is my logo small?
Every bit of the code the logo covers has to be rebuilt by error correction. 10% of the area leaves a safety margin for print smudges and poor light. A logo with a light background or a simple mark works best.
Credits
Codes are encoded with the QR Code generator library by Project Nayuki (MIT licence), bundled with this site. "QR Code" is used here only to describe the type of barcode.