Work · 18+

QR Code Generator

Free codes for URLs, WiFi, email, and text

Enter a URL, WiFi network, email address, phone number, or plain text and get a scannable QR code instantly. Choose a dot style and color preset, optionally add a logo, then download as PNG or SVG.

Back to timeline
300 × 250
Advertisement
Use tool</> EmbedPress ⌘D / Ctrl+D to bookmark

Content

What should the QR code contain?

Style

#000000
#ffffff

Shape

1.30×
0
60%
42

How to Use the QR Code Generator

  1. Select a content type — URL, Text, Email, Phone, or WiFi.
  2. Fill in the content field. The QR code updates in real time.
  3. Choose a style preset or customise dot shape, error correction, and colors manually.
  4. Optionally upload a center logo (use H error correction for best results).
  5. Select an output size and download as PNG or SVG.

How QR Codes Work

A QR code (Quick Response) is a two-dimensional matrix barcode standardised under ISO 18004, developed by Denso Wave in 1994. Unlike a 1D barcode, a QR code encodes data in a square grid of dark and light modules. The three large squares in the corners — finder patterns — let scanners locate and orient the code regardless of angle or rotation. Timing patterns and format information allow decoding even when the code is partially obscured.

Data is stored in one of four encoding modes depending on the character set: numeric (0–9), alphanumeric (0–9, A–Z, and a few symbols), byte (any UTF-8 data), or kanji. URLs, WiFi credentials, and most modern payloads use byte mode.

The Four Most Common Content Types

URL — The most common payload. Encode any web address starting with https://. Most scanning apps open it directly in a browser. Shorter URLs produce smaller, less dense codes that scan more reliably.

WiFi — Encodes credentials as WIFI:T:WPA;S:NetworkName;P:password;; so phones can join without typing. Requires iOS 11+ or Android 10+ for native camera scanning.

Email — Uses a mailto: URI to pre-fill the compose window with recipient, subject, and body. Special characters are URL-encoded automatically.

Phone — A tel: URI opens the native dialer with the number pre-filled. Include the full international prefix (e.g. +1 for US/Canada) for reliable parsing across all devices.

Error Correction Levels Explained

Every QR code contains Reed–Solomon redundancy that lets scanners recover data even when part of the code is damaged, dirty, or covered by a logo. There are four error correction levels:

LevelRecoveryBest for
L — Low7%Clean digital displays, minimal risk of damage
M — Medium15%General purpose — good balance for most uses
Q — Quartile25%Printed materials that may get scuffs or folds
H — High30%Codes with embedded logos, physically harsh environments

Higher error correction = more redundancy modules = denser code = slightly harder to scan at small sizes. Use L or M for on-screen codes; use Q or H for print or when adding a logo.

Dot Style and Color Rules

Rounded and dot styles reduce the geometric regularity of the module grid, which slightly lowers scannability. Compensate by choosing Q or H error correction when using these styles. Square modules are the most reliable for small sizes and difficult scanning conditions.

For colors, maintain at least a 40% lightness difference between foreground and background. Dark modules on white or near-white are the safest combination. Inverted codes (light on dark) work with modern apps but fail on some older scanners. Avoid red/green combinations which can confuse some scanner algorithms.

QR Code Size and Quiet Zone

The minimum recommended print size for reliable scanning is 2×2 cm (about 0.8 inches). For materials scanned from a distance — posters, packaging, window decals — apply the 10:1 rule: add 1 cm of code size for every 10 cm of intended scan distance. A poster meant to be scanned from 1 metre should be at least 10×10 cm.

Every QR code requires a quiet zone: a border of blank space equal to four module widths on all sides. This generator includes the quiet zone in the exported SVG and PNG. If you embed the code in a design, ensure nothing encroaches on this border — even a subtle background texture can cause scanning failures.

Static vs. Dynamic QR Codes

The codes generated here are static: the destination is encoded directly into the QR modules. Static codes are permanent — they work forever with no server or subscription required — but cannot be edited once printed. If the URL changes after the code is distributed, you need to reprint.

Dynamic codes redirect through a third-party service and can be edited after printing, but stop working if the subscription lapses or the service shuts down. For permanent, reliable, account-free use, static codes are almost always the right choice. Reserve dynamic codes for campaigns where the destination is genuinely uncertain at print time.

FAQ

QR Code Questions

Short answers for readers and answer engines.

Can QR codes expire?

Static QR codes never expire — the destination is encoded directly in the pattern and requires no server or subscription. Dynamic QR codes stop working if the redirect service is cancelled or shut down.

What size should a QR code be for print?

Minimum 2×2 cm for close-range scanning. Apply the 10:1 rule for distance: add 1 cm per 10 cm of intended scan distance. A poster meant to be scanned from 1 metre should be at least 10×10 cm. Always include the four-module quiet zone in your layout.

Can you put a logo in a QR code?

Yes. Set error correction to H (30% recovery) and keep the logo under 30% of the total code area. The redundant modules allow scanners to reconstruct the obscured data. Use the logo upload in this generator — it will centre the image and add a background clearance area automatically.

What is error correction in a QR code?

Error correction uses Reed–Solomon coding to add redundant data to the QR matrix. This lets scanners reconstruct the original data even when part of the code is physically missing, dirty, or covered. The four levels (L, M, Q, H) offer 7%, 15%, 25%, and 30% recovery capacity respectively.

Why is my QR code not scanning?

The most common causes: insufficient contrast between modules and background; code too small for the scan distance; quiet zone violated by surrounding design elements; inverted colors (light on dark) unsupported by the scanner app; or content too long, producing a very dense code that fails at small print sizes.

Browse

Explore All Tools