QR Code Generator

Make a QR code for a link, Wi-Fi network, text, email, phone number, text message or contact card — free, with no sign-up, no tracking and no expiry, and everything stays on your device.

QR Code Generator

What should the code do?
Opens in the phone’s browser. Test the link before you print.
ExampleExample QR code for https://example.com/

Enter your own content to download.

Options
Colors

Contrast 21.0:1 — dark modules on a light background.

What’s in your code — the working

  1. Content (20 bytes of UTF-8) — the example link:
    https://example.com/
    Phones offer to open the link in the browser.
  2. Encoded in byte mode with error-correction level M, which can restore about 15% of the codewords if the code is damaged or dirty.
  3. Smallest size that fits: version 2, 25 × 25 modules (17 + 4 × 2). It holds up to 26 bytes at level M, and this uses 20.
  4. Quiet zone: 4 modules on each side → 33 modules across.
  5. PNG: 1,024 × 1,024 px = 31.0 px per module. Printed at 300 dpi it is 3.41 in (8.7 cm) wide, with modules 2.63 mm across. The SVG scales to any size.

How to use the QR code generator

Choose what the code should do — open a link, show text, join a Wi-Fi network, start an email, call or text a number, or save a contact — and fill in the boxes. The code redraws as you type. Under Options you can pick the error-correction level, the PNG size, the quiet zone (the blank margin) and the colors. Then press Download PNG for documents and social media, or Download SVG for print, where a vector file stays sharp at any size. The working underneath shows exactly what is stored in the code and how big it is.

Everything runs in your browser: nothing you type is uploaded. Only a link — and your option choices — is saved in the page address so you can bookmark or share it; Wi-Fi passwords, contact details and messages never are.

What is stored in each kind of QR code

A QR code only stores text. Phones recognize a few standard formats and offer the matching action. This generator writes these formats, escaping special characters so they survive the trip:

TypeWhat the code contains
Linkhttps://example.com/ — https:// is added if you leave it out
Wi-FiWIFI:T:WPA;S:name;P:password;; — \ ; , : " are escaped with a backslash; H:true; marks a hidden network
Emailmailto:name@example.com?subject=Hi%20there&body=… — subject and message are percent-encoded (RFC 6068)
Phonetel:+15550100199 — spaces, dashes and brackets removed (RFC 3966)
SMSSMSTO:+15550100199:message
ContactA vCard 3.0 (BEGIN:VCARD … END:VCARD) with commas, semicolons and backslashes escaped (RFC 2426)

The generator then picks the smallest version that holds the content. Version 1 is 21 × 21 modules, and each version adds 4 modules per side, up to version 40 at 177 × 177. The most a single code can hold in byte mode is 2,953 bytes at level L and 1,273 bytes at level H.

Worked example: a café Wi-Fi code

The network is called Maple St Café and the password is blue;moon:42. Because the semicolon and colon would otherwise end the field early, each gets a backslash, and the code stores:

WIFI:T:WPA;S:Maple St Café;P:blue\;moon\:42;;

That is 46 bytes (the é takes two bytes in UTF-8). At error-correction level M the smallest version that fits is version 4, which holds up to 62 bytes and is 33 × 33 modules. With the standard 4-module quiet zone the image is 41 modules across, so a 1,024-pixel PNG gives 25.0 pixels per module. Choose the Wi-Fi type, type the same details and the working shows these numbers.

Static vs. dynamic QR codes

Many “free” QR sites make dynamic codes: the pattern holds a short link to their server, which forwards people to your real page. That lets you change the destination and count scans, but it also means the code depends on that company. If the free trial ends, the subscription lapses or the service closes, the redirect can stop — and every printed menu, flyer and sign with that code stops working with it.

Every code made here is static: the content is written directly into the pattern, so it never expires and no one can switch it off. If you may need to change where a printed code leads, point it at a page on your own website that you control, and update that page instead.

Error correction, contrast and the quiet zone

  • Error correction adds Reed–Solomon codewords so a code still scans when part of it is dirty or damaged: level L restores about 7% of the codewords, M 15%, Q 25% and H 30%. More recovery means more modules.
  • Contrast. Scanners look for the difference between dark and light modules. Use a dark code on a light background; the tool shows the contrast ratio and warns when it is low or the colors are inverted.
  • Quiet zone. The QR standard calls for a blank margin at least 4 modules wide on every side. Keep it, even when the code sits inside a design — text or graphics touching the code are a common reason for failed scans.

Printing and scanning tips

  • Use the SVG for print. It is a vector file, so it stays crisp at any size. For a PNG, pick a size at least as large as the printed code needs: at 300 dpi, a 1,024-pixel image covers about 3.4 inches.
  • Bigger is easier to scan. A code that must be read from across a room needs to be much larger than one on a business card, and longer content makes the modules smaller at the same size. Shorten long links before you encode them.
  • Test before you print a batch. Scan the proof with both an iPhone and an Android phone, in the light where it will be used.
  • Avoid glossy surfaces and curved packaging where reflections or bending can distort the pattern.
  • Tell people what they’ll get — “Scan to join our Wi-Fi” or “Scan for the menu” — so they can trust the code.

Stay safe with QR codes

The FTC warns that scammers stick their own codes over real ones on parking meters and send codes in unexpected emails and texts. Before you open a link from a code, check the address your phone shows, and don’t scan codes from messages you weren’t expecting. If you place codes in public, check them now and then for stickers. For strong Wi-Fi and account passwords, try the password generator; to choose on-brand colors, see the HTML color codes.

Frequently asked questions

Do these QR codes expire?

No. They are static codes: your link, text or Wi-Fi details are written directly into the pattern, so the code works for as long as the content is valid — there is no account, subscription or redirect server that can switch it off. The flip side is that you can’t edit a static code after printing it; make a new one instead.

What is the difference between a static and a dynamic QR code?

A static code contains your content itself. A dynamic code contains a short link to the provider’s server, which then redirects to your content. Dynamic codes can be edited and can count scans, but they stop working if the redirect service ends — for example when a free trial or subscription lapses or the company shuts down.

Is it safe to make a Wi-Fi QR code here?

Yes. The code is generated by JavaScript in your browser; the network name and password are never uploaded, stored or added to the page address. Only the link type puts its web address in the URL, so the Share button can reproduce it. Remember that anyone who scans the printed code gets your password, so a guest network is a good idea for public spaces.

Which error-correction level should I choose?

Level M (about 15% recovery) suits most uses. Choose L to keep a long code as small as possible on clean screens and paper, and Q or H (25–30%) for codes that may get scuffed or dirty, such as on packaging or outdoors. Higher levels add modules, so the code gets denser for the same content.

Can I track how many people scan my code?

Not with a static code — scans happen on people’s phones and nothing reports back. If you want numbers for a link, add campaign tags to the URL (for example ?utm_source=poster) and read the visits in your own website analytics.

Can I use these QR codes commercially?

Yes — the codes you make here are yours to use on menus, packaging, signs and business cards, with no attribution and no watermark. “QR Code” is a registered trademark of DENSO WAVE INCORPORATED.

Sources

Last reviewed · Built and checked by the Reeliy team · How we test our tools