Generate a QR code for text, a URL, Wi-Fi, a contact, email, or phone
Builds a QR code from the content type you choose — text, URL, Wi-Fi, contact, email, or phone — with adjustable size, margin, error-correction level, and colors, ready to export as PNG, JPG, or SVG.
Fill in the fields to generate the QR code.
Local processing: your file never leaves your computer.
- Does:Builds a QR code from the content type you choose — text, URL, Wi-Fi, contact, email, or phone — with adjustable size, margin, error-correction level, and colors, ready to export as PNG, JPG, or SVG.
- Processes:The code is generated or read entirely in your browser — nothing is uploaded to a server.
What a QR code actually stores
A QR code doesn't "know" whether it's a link, a contact, or a Wi-Fi
network — it just stores a piece of text, encoded as a pattern of black
and white squares. What separates one content type from another is the
formatting convention used for that text: a Wi-Fi QR code starts with
WIFI:, a contact one follows the vCard format, an email one uses the
mailto: scheme. This tool assembles the right text for whichever content
type you pick, from the fields you fill in, without requiring you to know
any of those formats by heart.
Why error-correction levels exist
A QR code carries more information than seems necessary for the content it represents — part of that extra data is there for error recovery, letting the code stay readable even when part of the image is dirty, scratched, creased, or partly covered by a logo. Four standardized levels define how much of that safety margin exists: from level L (recovery of about 7% of the area) to level H (about 30%). A higher level tolerates more physical damage to the printed image, but in exchange makes the code's pattern denser.
Wi-Fi, contact, email, and phone: standardized formats
Wi-Fi, contact, and email/phone all use simpler conventions that are
widely supported by QR readers in general. Wi-Fi uses the WIFI: prefix
followed by the network name, password, and security type. Contact uses
the vCard format, the same standard phone address books use to import
contacts. Email and phone use the mailto: and tel: URI schemes, the
same ones a clickable link of either kind would use on a web page — which
is why scanning them with a phone's native camera usually opens the email
app or the dialer directly.
What a vCard (contact) QR code is good for
Scanning a contact QR code offers to save a full contact card straight to the phone's address book — name, phone, email, company, and job title all at once — instead of showing plain text someone would have to retype by hand. It's a common fixture on printed business cards, conference badges, and event signage, precisely because it turns "type this information in later" into a single tap. The same vCard format is supported by the default contacts app on both iOS and Android, so there's no special reader app required.
Size, margin, and color: what actually affects readability
Size sets the resolution of the generated image — a larger size helps keep the code legible when it'll be printed large or photographed from farther away. Margin is the band of blank space around the pattern, needed for a QR reader to locate where the pattern starts and ends — shrinking the margin too much can hurt readability even when the pattern itself is intact. Color needs real contrast between the pattern and the background: colors too close in brightness to each other undermine camera readability, even if they look visually distinct on a screen.
Choosing between PNG, JPG, and SVG
PNG is the safest choice for most uses — it keeps crisp edges on the code's squares, with none of the quality loss that lossy compression can introduce. JPG works just as well for the code to be read, but being a lossy format, it can slightly soften the edges of small modules — usually with no real impact on readability, but PNG remains the more predictable option. SVG is a vector format: it doesn't lose sharpness no matter how large it's scaled, which makes it the best choice when the QR code is headed for large-format printing, like a poster or banner, where a small PNG file would look blurry once enlarged.
What this tool doesn't do
It doesn't open or automatically test the generated content — it doesn't check that a URL exists, doesn't confirm a Wi-Fi password is correct. It doesn't guarantee that every QR reader on the market will interpret every content type the same way (Wi-Fi in particular depends on the scanning app recognizing that specific format). This tool's job is to assemble the code correctly from the data you provide — testing the result before relying on it stays the responsibility of whoever generates the QR code.
Frequently asked questions
What is the error-correction level, and which one should I pick?
It's how much of the QR code can be dirty, scratched, or covered and still be read correctly — from roughly 7% (level L) to 30% (level H) of the code's area. A higher level tolerates more damage but makes the code's pattern denser and visually more complex. For printing in controlled conditions, L or M is usually enough; for use in the field, where dirt or wear is a risk, H is safer.
Why doesn't the Wi-Fi QR code always connect automatically when scanned?
Because the format used (`WIFI:...`) is recognized by most modern QR readers built into a phone's camera, but not every QR-scanning app treats that format as a connect action — some just show the raw text. It works best when the QR code is scanned by the phone's own native camera, without opening a separate generic scanning app.
Can I use any color for the QR code?
Technically yes, but low contrast between the code's color and the background color hurts how reliably a camera can read it — a light gray QR code on a white background, for example, can fail to scan even though it looks visually correct to the eye. Dark colors on a light background, with good contrast between the two, is the most reliable combination.
Is the data I type sent to any server?
No. The entire QR code is built and drawn in your browser — none of what you type (including a Wi-Fi password or contact details) is sent to any server run by this site.
What's the vCard (contact) option actually good for?
It generates a QR code that, when scanned, offers to save a contact card directly to the phone's address book — name, phone, email, company, and job title, all at once — instead of just showing plain text someone would have to type in by hand. It's the same vCard format supported by contact apps on iOS and Android.