QR code generator

Make a QR code for a website, some text, your Wi-Fi, an email, a phone number, a text message or a contact card. Download it as PNG or SVG, free, with no sign-up.

Static codes that never expire. Your details go straight into the code, not through a tracking or redirect link, so it keeps working for ever and nobody counts who scans it. Everything is made in your browser. Nothing is stored or sent anywhere.

What should the code contain?

Paste the full link. Shorter links make simpler codes that are easier to scan.

Your QR code

Style and size

Higher error correction still scans when part of the code is dirty or damaged, but makes it denser. Medium suits most uses.

How this tool works

As you type, your browser turns what you've entered into the standard text format phones understand, for example WIFI:T:WPA;S:HomeWiFi;P:secret;; for a Wi-Fi network, a mailto: link for email or a vCard for a contact. It then encodes that text as a QR code following the ISO/IEC 18004 standard, using the open-source QR Code Generator library by Kazuhiko Arase, which is built into this page. The smallest code size (version) that fits is picked automatically, and you can open "Show exactly what's in the code" to see the text inside.

These are static QR codes: the link, text or details are stored in the black and white squares themselves. Many "free" QR sites make dynamic codes instead, which point to a short link on their own server and redirect from there. That lets them count scans, and also lets them switch the code off or show adverts when a free trial ends, after you've printed it. A static code has nothing to switch off, so it works for as long as the link or details inside it do.

Nothing you type is stored or sent anywhere. The page doesn't call any server to make the code, so it even works offline once loaded. PNG files are drawn on a hidden canvas at the size you pick, and SVG files are vector graphics that stay sharp at any size, which suits printers and designers.

Tips for codes that scan first time

Frequently asked questions

Do these QR codes expire?

No. They are static codes with your link or details stored directly in the pattern, so there's no account, subscription or redirect service behind them that could stop. A code only stops working if the thing inside it changes, such as a web page being taken down or a Wi-Fi password being changed.

Are scans tracked?

No. Scanning a static code takes people straight to your link or shows your details, without going through our server or anyone else's. That also means we can't tell you how many people scanned it. If you need scan counts, add a tracking tag (such as a UTM tag for Google Analytics) to your own link before making the code.

Is what I type stored or sent anywhere?

No. The code is made inside your browser on your own device. Your links, Wi-Fi passwords and contact details are never sent to us or anyone else, and nothing is kept once you close the page.

Can I use the codes commercially?

Yes. The codes are yours to use on menus, flyers, packaging, business cards or anything else, with no attribution needed. "QR Code" is a registered trademark of DENSO WAVE INCORPORATED.

Can I edit a code after printing it?

No, a static code can't be changed once made. Make a new one with the new details. If you think the destination might change, point the code at a page on your own website that you can update or redirect yourself.

Should I download PNG or SVG?

PNG is an image that works everywhere, including Word, email and social media. SVG is a vector file that stays sharp at any size, so it's the better choice for printers, signs and design apps such as Canva, Illustrator or Inkscape.

How do people scan a Wi-Fi code?

On most iPhones and Android phones, open the camera, point it at the code and tap the Wi-Fi notice that appears. The phone joins the network without anyone typing the password. Some older Android phones need the scanner in Google Lens or the Wi-Fi settings screen instead.

Which error correction level should I choose?

Medium suits most uses. Choose High if the code might get scuffed, wet or partly covered, for example on outdoor signs or packaging. Low makes the simplest pattern, which helps when the code has to be printed very small and will stay clean.

Why won't my code scan?

The usual causes are low contrast, a light code on a dark background, no white margin around it, printing it too small for the amount of content, or a blurry print. Try black on white with the default settings, make it larger, and shorten the content if you can.