Put your logo in the center of a QR code and match your brand colors. The code switches to the highest error correction level, so it still scans with the middle covered. Download a PNG for screens or an SVG for print. Free, static (it never expires), and your logo is never uploaded.
Pick a PNG, SVG or JPG logo. A square logo with a transparent background looks best.
QR codes carry Reed–Solomon error correction: level H stores enough redundancy to rebuild about 30% of the data. A logo that covers the center hides far less than that, so the scanner fills in the gap. This page forces level H when you add a logo and keeps it to at most 25% of the code's width (about 6% of its area). Three things still break codes, so avoid them: covering the three big corner squares, low contrast (light code on a light background), and colors swapped to a light code on a dark background, which many older scanners can't read. Always test the final file with a phone before printing.
Size: printed codes should be at least 2 × 2 cm (0.8 in); as a rule of thumb, make the code a tenth of the scanning distance (a poster read from 3 m needs a 30 cm code). Quiet zone: keep the white border (4 modules is the standard); cropping it is the most common print mistake. Contrast: dark code on a light background. Less data, bigger squares: a short link makes a simpler code that scans from further away than a long one. Print: use the SVG, which stays sharp at any size; the PNG is fine for screens, slides and documents.
The code is generated in your browser with the open-source qrcode-generator library (MIT), using UTF-8 so accents, emoji and non-Latin scripts work. Nothing you type, and no logo you pick, is sent to a server, so it works offline once the page has loaded. The version (size of the grid) grows automatically with the amount of data. Where your browser supports it, the page also scans its own output with the built-in barcode reader to confirm it decodes to exactly what you typed.
See also: free qr code generator, wi-fi qr code generator, barcode generator (EAN, UPC, Code 128).
Need a QR code on every invoice, ticket or label your app produces? Put the code in your HTML (as an inline SVG or an <img>) and render the page with the Shotmint API, which prints it in real Chromium so the code comes out exactly as in the browser:
curl -X POST https://shotmint.creasework.com/v1/pdf -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"html":"<h1>Ticket #42</h1><img src=\"https://your-site.com/qr/42.svg\" width=\"160\">","format":"A4"}' -o ticket.pdf
Each PDF or screenshot is 1 credit. €5 buys 2,000 with no subscription, and credits never expire. Related free tools: invoice generator, HTML to PDF, HTML to image.
Get 25 free renders a month API docs
Do these QR codes expire? No. They are static: the data is in the pattern, not on a server, so they work as long as the destination does.
Can I change the link after printing? Not with a static code. If you need that, point the code at a page on your own site that you control and redirect from there.
Is there a scan limit or tracking? No limits and no tracking. Nobody sees when or where your code is scanned.
Can I use them commercially? Yes, on packaging, menus, business cards, flyers or anywhere else. No attribution needed. "QR Code" is a registered trademark of DENSO WAVE.
How much can one code hold? Up to about 2,900 bytes at Low error correction (fewer with accents or emoji, which take 2-4 bytes each). Long text makes a dense code that needs a good camera, so keep it short where you can.
Related: favicon generator, image to Base64, add logo to image, meta tag generator, OG image generator.
Wi-Fi QR code generator · QR code generator · Add Logo to Image · Code 128 barcode generator · Code to image · all free tools