⚡ QuickTools
📱

QR Code Generator

Generate QR codes for URLs, text, Wi-Fi credentials, vCards, and more. Customise foreground and background colour, error correction level, margin, and download as SVG or PNG — free and instant.

Content Type

Choose what to encode — the generator produces the correct QR data format automatically.

🔗 URL / Link Details

Error Correction Level

Higher error correction = more damage resistant but larger QR code. M is the standard. Use H if you plan to add a logo overlay.

Colours

Quick presets

Output Settings

1001000
4 cells
010

Vector — scales to any size

Preview

📱

Fill in the details and click
Generate QR Code

What Is a QR Code Generator?

A QR code generator converts any text, URL, or structured data into a machine-readable 2D barcode that any smartphone camera can scan instantly. QR codes (Quick Response codes) were invented by Denso Wave in 1994 and have since become the universal standard for bridging physical media with digital destinations — from restaurant menus and product packaging to event tickets and business cards.

This tool generates QR codes for 7 content types: URL/Link, Plain Text, Email Address, Phone Number, SMS (with optional message body), Wi-Fi credentials (auto-connects devices on scan), and vCard contacts (saves directly to the phone’s address book). Every QR code is generated server-side and returned as a scalable SVG (vector, infinitely sharp) or PNG (raster, fixed resolution).

You have full colour control — choose any foreground and background colour via hex code or colour picker, pick from 7 quick-apply presets, adjust the quiet-zone margin (recommended minimum: 4 cells), and set the error correction level from Low (7% data recovery) up to High (30% recovery, ideal if you plan to add a logo overlay).

How to Use the QR Code Generator

  1. Choose content type — Select URL for website links, Wi-Fi for network credentials, vCard for contact details, or one of the other types. The correct QR data format (tel:, mailto:, WIFI:T:WPA;S:..., BEGIN:VCARD) is generated automatically.
  2. Fill in the details — Enter the URL, text, phone number, or fill in the structured fields for Wi-Fi / vCard. The byte counter shows remaining capacity (max 2,953 bytes).
  3. Choose error correction — M (Medium, 15%) is the standard for most uses. Select H (High, 30%) if you plan to print the QR code with a logo overlaid on the centre.
  4. Set colours — Use a quick preset or enter custom hex codes. Ensure sufficient contrast between foreground and background — scanners need at least a 2:1 contrast ratio. Dark foreground on light background is the safest choice.
  5. Adjust size and margin — For print use, set size to 500–1000px. The margin (quiet zone) should be at least 4 cells by ISO 18004 standard.
  6. Choose format — SVG for web, print, or logo use (infinitely scalable, small file size); PNG for documents, presentations, or platforms that don’t support SVG.
  7. Generate & download — Click Generate QR Code, preview the result, then click Download SVG / Download PNG. The download is immediate and requires no account.
  8. Test before printing — Always scan your QR code with at least two different devices/apps before printing. Test at the smallest print size you plan to use.

QR Code Use Cases & Examples

Use CaseContent TypeEncodesBest EC Level
Restaurant menuURLhttps://restaurant.com/menuM
Conference badgevCardBEGIN:VCARD FN:Jane Smith…H
Wi-Fi guest networkWi-FiWIFI:T:WPA;S:GuestNet;P:pass;;M
Product packaging URLURLhttps://brand.com/product/123Q
Business card contactvCardBEGIN:VCARD FN:John Doe…H
SMS shortcode promoSMSsms:+15550001234?body=PROMOM
Portfolio / CV linkURLhttps://myportfolio.coM
Event ticket check-inTextORDER-2026-ABC123H

Error Correction Levels Explained

L

Low

7% recovery

Clean digital use only. Smallest QR size for a given content length. Ideal for screen display where the QR won‘t be damaged.

M

Medium

15% recovery

The default for most applications. Works well for print on packaging, posters, and business cards that aren’t subject to abrasion.

Q

High

25% recovery

Good for print materials that may get scratches, folds, or partial dirt coverage. Website and brand QR codes often use Q.

H

Maximum

30% recovery

Required if you are overlaying a logo in the centre of the QR code. Also best for wristbands, clothing tags, and outdoor signage.

How QR Code Generation Works

This tool uses the qrcode library (ISO 18004 compliant) running server-side to generate QR codes from raw input data through a five-stage process:

  1. Data encoding — the content string is analysed and encoded using the most efficient mode: Numeric (digits only, most compact), Alphanumeric, Byte (full ASCII/UTF-8), or Kanji.
  2. Error correction — Reed-Solomon error correction codewords are generated based on the chosen level (L/M/Q/H), allowing partial damage recovery.
  3. Module placement — data and error correction bits are placed in the QR matrix grid; finder patterns (the three corner squares), alignment patterns, and timing patterns are added.
  4. Masking — one of 8 mask patterns is applied to the data area to minimise long runs of the same colour, which could confuse scanners.
  5. Output — the final matrix is rendered as an inline SVG (vector, any size, transparent background option) or a PNG data URL at the requested pixel size.

Frequently Asked Questions

Can I use the generated QR codes commercially?

Yes. QR codes are an open standard (ISO/IEC 18004) with no licensing fees. The QR code format itself and any code generated by this tool are free for personal and commercial use without restriction.

Do the QR codes expire?

No. A QR code is simply a visual encoding of its content — it has no built-in expiry mechanism. A URL QR code remains valid for as long as the URL it encodes remains active. If the URL changes or goes offline, the QR code will scan but fail to load the destination. Always use stable, redirectable URLs (a link shortener with redirect capability, or a permanent page URL) for long-lived print materials.

What is the maximum amount of data I can encode?

The theoretical maximum is 2,953 bytes (2,953 ASCII characters) for byte-mode at Error Correction Level L. In practice, URLs are typically 20–80 characters, and vCards are 100–300 bytes, well within the limit. The tool shows a live byte counter so you can see remaining capacity. For large amounts of data (e.g. long JSON payloads), use a shorter URL that loads the data instead.

What is the minimum print size for a QR code?

The ISO 18004 standard recommends a minimum print size of 2 cm × 2 cm (approximately 0.8 inch × 0.8 inch) for QR codes scanned by standard smartphone cameras at typical distances (20–30 cm). For outdoor signage scanned from 1–2 metres, scale up proportionally. Always test at the intended print size before going to press.

Can I add a logo to my QR code?

Yes — but only if you use Error Correction Level H (30% recovery). A logo covering approximately 15–20% of the QR code area can still be read reliably at H level. Download the SVG, open it in a vector editor (Figma, Adobe Illustrator, Affinity Designer, or Inkscape), and place your logo centred over the QR. Never cover the three corner finder patterns.

Why does my coloured QR code fail to scan?

The most common cause is insufficient contrast. Scanners rely on the brightness difference between foreground and background modules. Dark foreground on light background is most reliable. Avoid red foreground on dark background (both are dark to cameras), and avoid light foreground on light background. As a rule: WCAG contrast ratio ≥ 4.5:1 is a good target. The preset colours in this tool are all scanner-tested.

SVG vs PNG — which should I use?

Use SVG for: web pages, print-ready artwork, business cards, and any context where the QR code needs to scale cleanly. SVG files are tiny (typically 5–20 KB) and infinitely sharp. Use PNG for: email campaigns, presentations (PowerPoint/Google Slides), social media graphics, or platforms that don’t render SVG. For PNG at print scale, set ‘Size’ to at least 600px before generating.

Is the data I enter stored or tracked?

No. Content is sent to the server only to generate the QR code and is never stored, logged, or associated with your session. QR code generation is stateless — each request is independent and discarded after the response is sent.

Related Tools

Related Tools