Typed payloads, not just text
Wi-Fi codes use the correct WIFI: syntax, contacts use vCard, and email uses mailto: — so the receiving device opens the right app instead of showing a raw string.
Create QR codes for URLs, text, Wi-Fi, contacts and more.
Loading tool…
The tool is loading its code on your device. This happens once and is cached for later visits.
Processed entirely on your device
Overview
Generate QR codes free for URLs, plain text, Wi-Fi networks, vCards, email, SMS and phone numbers. Choose size, colours and error correction, then download PNG or SVG.
A QR code is a two-dimensional barcode: a grid of black and white modules that encodes a byte string, plus a set of structural features that let a camera find it, orient it and correct errors in it. Understanding those features explains most of the practical rules.
Finder patterns are the three large squares in the corners. They let the decoder locate the symbol and determine its rotation. Damage any one and scanning fails.
Alignment patterns are the smaller squares scattered through larger versions. They correct for perspective distortion when the code is photographed at an angle.
Timing patterns are the alternating lines between the finders, used to determine the module grid spacing.
Format information stores the error-correction level and the data mask, duplicated in two places for redundancy.
Version information appears on versions 7 and above and encodes the grid size.
Data and error-correction codewords fill the remaining modules in a specific zigzag pattern that skips the structural features.
A QR code's version runs from 1 (21×21 modules) to 40 (177×177). The version is chosen automatically from the amount of data and the error-correction level. Approximate capacities at level M:
More data means a denser grid, which means a larger physical print size is needed for reliable scanning. This is the core tension in QR design: every character you add makes the code harder to read at a fixed size.
QR codes use Reed–Solomon error correction, the same mathematics that protects CDs and satellite transmissions.
The standard defines four: numeric (digits only, most efficient), alphanumeric (uppercase, digits and a few symbols), byte (arbitrary data, usually UTF-8) and kanji. A URL in lowercase must use byte mode, which costs about 40% more capacity than alphanumeric would. Uppercasing a URL can therefore produce a noticeably smaller code — worth trying if the destination is case-insensitive.
Step by step
Choose the content type — URL, text, Wi-Fi, contact, email, SMS or phone.
Fill in the fields; the QR code updates as you type.
Set the size, error-correction level, and foreground and background colours.
Scan it with your phone to confirm it decodes to what you expect.
Download as PNG for print and screen, or SVG if you need to scale it.
Why use it
What this tool is good for, and what it deliberately does not try to do.
Wi-Fi codes use the correct WIFI: syntax, contacts use vCard, and email uses mailto: — so the receiving device opens the right app instead of showing a raw string.
Four levels from L (7% recovery) to H (30%). Higher correction keeps codes scannable when damaged or printed small, at the cost of density.
PNG for anywhere a raster is expected, SVG for print and large-format use where a raster would pixelate.
Warns when foreground and background colours are too close, which is the most common reason a beautifully designed QR code will not scan.
Questions
Short, honest answers about quality, limits and privacy.