QR Code Generator
Make a QR code with your colors and logo, then download it for screen or print.
Fill in the form and your QR code shows up here.
Nothing you type is uploaded — the code is made in your browser. No watermark, no expiry.
What should the QR code open?
We add https:// for you if you leave it out.
Quick styles
For placing the code on your own design (PNG, SVG, PDF). Put it on a light background.
Gradient
PNG, JPG, WEBP or SVG, up to 10 MB. Blank edges are trimmed for you, and error correction switches to High.
Or pick an icon
Logo size
Background
A white shape behind the logo. Useful on a colored or transparent background, so the logo doesn’t blend in.
Space around the logo
Dots
Corner squares
Corner dots
Frame
Error correction
How much of the code can get damaged or covered and still scan: L 7%, M 15%, Q 25%, H 30%. Higher adds more squares, so the code gets denser. Auto uses M, or H when you add a logo.
White border (quiet zone)
Scanners need clear space around the code — the standard is 4 squares wide. Pick Slim or None only if you’ll put the code on a light area with space around it.
How it works
- 1
Choose a type
Link, WiFi, contact card, WhatsApp, email, SMS, phone or plain text.
- 2
Make it yours
Pick a quick style, or open Colors, Logo, Shape and Frame below the form. The preview updates live and tells you if the code still scans.
- 3
Download
PNG for screens and social posts. SVG or PDF for anything you print.
Which type should I pick?
Pick by what you want to happen when someone scans the code. Each type has its own page with tips and the exact format we use:
- Open a website, menu or form — URL QR code.
- Join your WiFi without typing the password — WiFi QR code.
- Save your contact details — vCard QR code.
- Start a chat — WhatsApp QR code, or a plain SMS QR code.
- Get an email with the subject already filled in — email QR code.
- Call you with one tap — phone QR code.
- Show a short note that works offline — text QR code.
Static vs dynamic QR codes
A static code holds the content itself — the full link, the WiFi password, the phone number. It works forever and nobody can switch it off. That's what this generator makes.
A dynamic code holds a short link to someone's server, which then redirects to your real link. You can change where it goes after printing and see scan counts. The catch: if that service shuts down or you stop paying, every printed code dies with it.
Rule of thumb: if the destination won't change, go static. If it might, point the static code at a page you own and update the page.
Shorter content = easier scanning
Every extra character adds squares to the code. More squares in the same space means each square is smaller, and small squares are harder for a camera to read — especially from far away or in bad light. Here's what we measured with our generator:
| Link length | Grid size (no logo) | Grid size (with logo) |
|---|---|---|
| 20 characters | 25 × 25 | 29 × 29 |
| 40 characters | 29 × 29 | 37 × 37 |
| 60 characters | 33 × 33 | 45 × 45 |
| 100 characters | 41 × 41 | 57 × 57 |
| 200 characters | 57 × 57 | 77 × 77 |
So trim tracking junk from links, and don't paste a whole paragraph if a link to the paragraph will do.
Colors and logos without breaking the code
QR codes have built-in error correction: part of the code can be damaged or covered and it still reads. That's what makes logos possible. When you add a logo, we switch error correction to High (the code can lose up to about 30% of its data and recover) and size the logo to stay well inside that budget.
In our tests with High error correction, a logo covering about 14% of the code still decoded, and one covering about 19% failed. Our "Large" logo setting stays under that line with room to spare. Real cameras are less forgiving than a clean digital test, so if you print big runs, test a printed copy first — with your phone camera, or by uploading a photo of it to our QR code scanner.
For colors: keep the code dark on a light background with strong contrast. Light-on-dark codes confuse many phone cameras — the tool warns you if you try it.
How big should I print it?
A common rule of thumb is a minimum of about 2 × 2 cm (0.8 in) for something scanned up close, like a business card. For distance, use roughly a 10:1 ratio: a code scanned from 1 meter away should be about 10 cm wide.
Always leave the white border (the "quiet zone") around the code. Our downloads include it. Cropping it off is the #1 reason printed codes don't scan. You can make it slimmer under Advanced — only do that if the code will sit on a light area with space around it.
Questions people ask
No limit. Make as many as you want, free.
PNG for websites, slides and social media. SVG or PDF for print — they are vector files, so they stay sharp at any size.
Extra data that lets a code still scan when part of it is dirty, damaged or covered by a logo. There are four levels: L (about 7% can be lost), M (15%), Q (25%) and H (30%). We use M by default and switch to H automatically when you add a logo. You can pick a level yourself under Advanced — higher levels add squares, so the code gets denser.
Usually one of four things: it was printed too small, the white border got cropped, the colors have too little contrast, or the content is very long so the squares are tiny. Fix those and it almost always works.
Not with a static code. A simple workaround for links: add UTM tags (like ?utm_source=flyer) and the visits show up in your website analytics.
Yes. QR is an open standard (ISO/IEC 18004). Recent iPhones and Android phones read QR codes straight from the camera app.