Barcode Tools

QR Code Generator

Generate QR codes for URLs, text, Wi-Fi, and vCards, with four error correction levels and SVG or PNG download.

Start here Type or paste the text, URL, or structured payload you want to encode.

Version
4 (33×33 modules)
Encoding mode
byte
Data used
48 of 64 codewords
Mask chosen
4 (lowest penalty of the eight)

The four-module quiet zone is part of the symbol. Cropping it is the most common reason a printed QR code will not scan.

Understand the format

How QR Code Generator works

A QR code is a matrix of modules with Reed-Solomon error correction built in, which is why one still scans when part of it is dirty, torn, or covered by a logo.

What the fixed patterns are for

The three large squares in the corners are finder patterns; a decoder locates them first to establish position and rotation, which is why a QR code scans at any angle. The dotted lines between them are timing patterns that fix the module grid, and larger versions add smaller alignment patterns so the grid can be resolved when the surface is curved or the photo is taken off-axis.

Around all of that sits a four-module quiet zone. It is part of the specification, not decoration, and cropping it is the most common reason a QR code that looked fine in artwork fails once printed.

Error correction is a real trade-off

Reed-Solomon coding over GF(256) lets a decoder rebuild missing codewords: level L recovers roughly 7% of the symbol, M about 15%, Q about 25%, and H about 30%. That redundancy is what allows a logo to sit over the middle of a code, and what keeps a scuffed label readable.

The cost is space. Raising the level for the same data means a larger version, so more modules in the same printed area, so each module is smaller and harder to resolve. M is the usual default. Reach for Q or H only when the code will be small, printed on something that gets handled, or partially covered.

Versions, modes, and capacity

A QR code has 40 versions, from 21x21 modules up to 177x177, and this page picks the smallest that fits your data at the chosen error correction level. It also picks the encoding mode: numeric packs three digits into ten bits, alphanumeric packs two characters into eleven, and byte mode encodes UTF-8 at eight bits per byte. Using only digits or only uppercase letters, digits, and a few symbols therefore yields a noticeably smaller symbol.

That is worth knowing when encoding URLs. An uppercase host in a shortened link can stay in alphanumeric mode, while mixed-case query strings force byte mode. Shorter data means a lower version, larger modules, and a more reliable scan.

Masking, and why two codes for the same text differ

After the data and error correction bits are placed, the encoder applies one of eight mask patterns, scores each result against four penalty rules from the specification, and keeps the lowest. The rules punish large blocks of one colour, long runs, and anything resembling a finder pattern, all of which confuse decoders.

The chosen mask is recorded in the format information beside the finder patterns, so a decoder can reverse it. It also explains why two generators can produce visibly different codes for the same text: both are valid, they simply scored the masks differently.

Step by step

How to use QR Code Generator

  1. Type or paste the text, URL, or structured payload you want to encode.
  2. Pick the error correction level: M for general use, Q or H if the code will be small or partly obscured.
  3. Check the reported version and mode; shortening the data lowers the version and makes each module larger.
  4. Set the module size for the output you need, then download SVG for print or PNG for screens.
  5. Scan the result with a real phone camera before publishing it.

The QR code is encoded and drawn in your browser, with no request to any service. That matters here more than for most tools: Wi-Fi passwords and internal links are common QR payloads, and they stay on your device.

Worked examples

QR Code Generator examples explained

A Wi-Fi network

Input

WIFI:T:WPA;S:Softkey Guest;P:change-this-password;;

Result

A phone offers to join the network on scan

The format is a de facto standard: T is the security type, S the network name, P the password. Note that anyone who photographs the code has the password.

The same URL in two cases

Input

HTTPS://EXAMPLE.COM/ABC versus https://example.com/abc

Result

alphanumeric mode versus byte mode

Uppercase stays in alphanumeric mode at 5.5 bits per character; lowercase forces byte mode at 8 bits, which can push the symbol to a larger version.

Reference

Error correction levels and what they cost

Error correction levels and what they cost
LevelRecovers aboutUse whenCapacity effect
L7%Screen display, clean printing, long dataSmallest symbol for the same data.
M15%General purpose defaultBalanced.
Q25%Small labels, industrial surfacesRoughly one third less data per version.
H30%Logo overlay, handled or dirty surfacesLargest symbol for the same data.

Practical Guide

How teams use QR Code Generator

Common use cases

  • Put a link to documentation, a menu, or a form on printed material.
  • Share Wi-Fi access without reading a password aloud.
  • Encode asset tags, ticket references, or serial numbers for a scanning app.
  • Generate contact details as a vCard for a business card or an email signature.

Checks before trusting the result

  • Keep the four-module quiet zone in whatever artwork the code is placed into.
  • Preserve contrast: dark modules on a light background, never the reverse without testing.
  • Test at the real printed size and distance, with more than one phone.

Troubleshooting

Common mistakes and how to fix them

A logo placed over the centre stops the code scanning.
Use level H and keep the covered area under about a quarter of the symbol. Never cover a finder pattern in a corner.
Inverting the colours so light modules sit on a dark background.
Many decoders expect dark on light. If the design demands inversion, test it on several devices before printing.
Encoding a long URL with tracking parameters.
Every character raises the version and shrinks the modules. Shorten the link, then encode it.
Trusting a QR code found in the wild.
A code is just a link. Read the decoded URL before opening it, since a sticker over a legitimate code is a common attack.

FAQ

QR Code Generator questions, answered

Do these QR codes expire or need an account?

No. The code is generated in your browser and encodes your data directly, so there is no redirect service in the middle, nothing to expire, and no scan tracking. It will keep working for as long as whatever it points at does.

Which error correction level should I choose?

M unless you have a reason. Choose Q or H when the code is small, printed on something handled, or partly covered by a logo; choose L when the data is long and the code will be shown on a clean screen.

Why did my code change shape when I edited one character?

Either the data crossed a version boundary, or a different mask now scores best. Both are normal and both scan.

Can I put my logo in the middle?

Yes, within limits. Use level H, keep the covering to roughly a quarter of the area, stay clear of the three corner patterns, and test the result.

What is the maximum amount of data?

Version 40 at level L holds up to 2,953 bytes, but a symbol that large needs excellent print quality and a steady camera. For anything printed, keep the data short.

Is a Wi-Fi QR code safe to display?

Anyone who can photograph it has your password, so it suits a guest network rather than the network your systems run on.

Is my data uploaded anywhere?

No. Encoding, masking, and rendering all happen in this page, so a code containing a password or an internal URL never leaves your machine.

Go deeper

Specifications and guides