QR code generator tool for creating custom QR codes

QR Code Generator – Free QR Codes for Links, Wi-Fi and vCard

Create a QR code for a link, a block of text, a Wi-Fi network or a contact card. Type your content, watch the preview update as you type, choose a size and colours, and download the finished code as a PNG image. Everything runs in your browser: nothing you enter is uploaded or stored, and the codes you make are static codes that never expire.




Every download includes the standard four-module quiet zone, ready to print as it is. Encoding is done by the open-source qrcode-generator library by Kazuhiko Arase (MIT License), running entirely on this page.

Illustration of a smartphone scanning a large QR code for a website link, with smaller Wi-Fi and contact card QR codes beside it, for the QR Code Generator

How to Use This QR Code Generator

  1. Choose what the code should contain. Text or URL covers links and plain messages. Wi-Fi network builds a code that joins a phone to your network when scanned. Contact card (vCard) builds a digital business card phones save as a contact.
  2. Type or paste your content. The preview redraws itself on every keystroke, always using the smallest QR version that fits, so short content gives a simple code and long content a denser one.
  3. Pick a download size and an error correction level. 512 px suits screens and documents; 1024 or 2048 px stays sharp in print. Leave error correction on M unless the code will live somewhere rough, where Q or H is worth the extra density.
  4. Set colours if you want them. Keep the modules clearly darker than the background. The tool warns you when the contrast gets too weak to scan reliably.
  5. Download the PNG and test it. Scan the downloaded image with your phone, and a second phone if you can, before printing or publishing. Check it opens exactly what you intended.

What Is a QR Code?

QR stands for Quick Response. A QR code is a two-dimensional barcode invented in 1994 by Denso Wave in Japan for tracking car parts. Where an ordinary barcode stores a little data in a row of stripes, a QR code stores data in a square grid. That is why a stamp-sized code can hold a full web address, a Wi-Fi password or an entire contact card, and why any phone camera reads it in a fraction of a second. QR codes are an open standard (ISO/IEC 18004), free for anyone to make and read, which is why they appear everywhere from menus to packaging and payment screens.

How QR Codes Work

The grid is made of square cells called modules: a dark module reads as one value, a light module as the other, and their pattern is the data. Three large squares in the corners, the finder patterns, tell the scanner where the code is and which way up it sits, so a code reads correctly upside down or at an angle. The blank margin around it, the quiet zone, is part of the design, and a code printed without it often refuses to scan. Alternating rows and columns near the edges, the timing patterns, let the scanner count the grid, and from version 2 up an alignment pattern corrects slanted photos.

Your content is first converted into bits: a marker for the type of data, a count of how much follows, then the data itself. The generator then adds Reed–Solomon error correction check data, calculated so the original content can be rebuilt even if part of the code is damaged, dirty or covered: that is the whole secret of the recovery percentages in the table below. Data and check bits are woven together and written into the grid in a zigzag that skips the function patterns. Finally a mask is applied: one of eight fixed patterns is laid over the data area and the best-scoring one kept, because masks break up large blank or solid regions that could confuse a scanner.

Codes come in 40 sizes, called versions. Version 1 is a 21 by 21 grid; each higher version adds four modules per side, up to version 40 at 177 by 177. The largest code, at the lowest error correction level, holds up to 2,953 bytes of text.

The Three Content Types, With Worked Examples

Text or URL is the everyday case. Paste a full address, including the https:// at the start, so phones treat it as a link rather than plain text. The worked example in the tool, https://example.com, fits into a compact version 2 code at error correction M. Keep printed links as short as the destination allows: every extra character adds density, and a dense code printed small is the commonest cause of a code that will not scan. Site owners choosing which pages deserve printed codes can get an up-to-date page list from our Sitemap Generator. Sharing a WhatsApp number? Build your click-to-chat link first with our WhatsApp Link Generator, then paste that link here to turn it into a printable code.

Wi-Fi network codes follow a simple text format that phones recognise on sight. For a network named CafeGuest with the password coffee2026, the tool encodes this line:

WIFI:T:WPA;S:CafeGuest;P:coffee2026;;

Scan it and the phone offers to join the network: no typing, and no misread characters between the letter O and the number 0. Choose the security type your router actually uses, and tick the hidden-network box only if your network does not broadcast its name. Anyone who can scan or photograph the code can read the password from it, so put a guest network on the wall, not your main one.

Contact card (vCard) codes carry a small structured document phones save as a contact. For the details Ayesha Khan, of Khan Design Studio, the tool builds a version 3.0 vCard like this:

BEGIN:VCARD
VERSION:3.0
FN:Ayesha Khan
ORG:Khan Design Studio
TEL;TYPE=CELL:+1 555 010 2030
EMAIL:ayesha@example.com
END:VCARD

Only the name is required; add as many of the other fields as you like. More fields mean a denser code, so include the phone number and email and leave decorative extras out.

Error Correction Levels Explained

Error correction is insurance: backup data that lets the message survive damage, at the price of a denser pattern. The four levels recover roughly these shares of the code area:

Level Approximate recovery Best for
L 7% Short links on clean screens, where the smallest code matters most
M 15% The everyday default for handouts, documents, menus and packaging
Q 25% Print that may be scuffed, folded, faded or read in poor light
H 30% Outdoor signs and stickers that must survive covering or weather

Higher is not automatically better: raising the level grows the code to a bigger version with more modules, and at small print sizes that density can cost more scans than the insurance saves. Match the level to the life the code will live.

Printing and Size Guidance

Most print failures come from size and surroundings, not from the code itself. Keep the quiet zone: the PNG already includes the standard four-module margin, so do not crop it away or print inside it. Print at least about 2 cm (roughly 0.8 inches) wide for a code people scan up close, and scale up with distance: a useful rule is one tenth of the scanning distance, so a poster read from two metres away wants a code around 20 cm wide. Use the 1024 or 2048 px download for print larger than a business card, use a matte surface to avoid reflections, avoid wrapping codes around bottles and poles, and always test the final piece, at final size, with more than one phone before a print run.

Choosing Colours That Still Scan

Scanners do not read colour; they read contrast between dark and light. Black on white always works, and brand colours work too, as long as the modules stay much darker than the background: navy, dark green and deep burgundy on white or cream are all safe. Two arrangements are not: light modules on a dark background, an inverted code, which many camera apps still refuse to read, and low-contrast pairs such as grey on white, nearly invisible to cameras. This tool computes the contrast of your pair and warns you in the risky zone, but treat the warning as advice, not a guarantee: the phone test is the verdict.

Stay Safe: Verify Before You Scan, Test Before You Print

A QR code is just data; a scanner cannot tell a friendly code from a hostile one, and criminals exploit that with quishing (QR phishing): a fake code pasted over a real one on a parking meter, menu or poster, leading to a lookalike payment or login page. Check the address your phone shows before opening it, and be suspicious of any code that asks for passwords or payment on an unexpected page. The same care applies when you make codes: a code faithfully encodes whatever was typed, including the typo, and one wrong character produces a beautiful, useless code. Scan your own preview and read what comes back before you download, print or share. Remember, encoding is not secrecy: anyone can read what a code holds, exactly as anyone can decode Base64 text with our Base64 Encoder and Decoder. Never encode private keys or anything you would not print in plain words.

Limitations of This Tool

This generator makes static codes only. The content lives in the pattern itself, so it cannot be edited after printing and scans cannot be tracked. Services offering editable, trackable codes route scans through their own servers, so those codes can stop working if a service or subscription ends. Downloads are PNG images; there is no SVG or PDF export, and no logo overlay. Leaving logos out is deliberate: a covered centre is the commonest reason a styled code fails in the wild, and the honest way to survive damage is error correction, not decoration. Content length is capped by the QR standard itself, so very long text will not fit at any size. Colours are applied exactly as you choose them: the tool warns about weak contrast but never overrides your design.

Frequently Asked Questions

Do QR codes made here expire?

No. These are static QR codes: your link, text, Wi-Fi details or contact card are stored in the pattern itself, not on a server, so nothing can switch them off and there is no scan limit. A link code keeps working for as long as the page it points to stays online.

Is my text or Wi-Fi password uploaded to a server?

No. The code is generated and drawn entirely in your browser, on your own device. Nothing you type is uploaded, stored or tracked, which makes it safe for internal links and network passwords.

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

A static code holds your actual content in its pattern, so it works forever but can never change. A dynamic code holds a short link to a company's server, which forwards scans to your content: that allows editing the destination and counting scans, but the code depends on that service.

Which error correction level should I choose?

Start with M, the balanced default, for codes shown on screens or printed for indoor use. Choose Q or H when the code may be scuffed, faded, partly covered or used outdoors, and remember that higher levels make the pattern denser, so give the code a little more print size.

What size should I print my QR code?

At least about 2 cm (0.8 inches) wide for scanning at arm's length, and roughly one tenth of the scanning distance beyond that: a sign read from one metre away should carry a code about 10 cm wide. Download the 1024 or 2048 px PNG for print so the edges stay sharp, and keep the white margin intact.

Can I change the link inside a QR code after printing it?

No. The content is part of the printed pattern, so a different link means making and printing a new code. If a destination is likely to move, point the code at a page you control, and change where that page leads instead of reprinting.

Scroll to Top