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
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
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
- Generate & download — Click Generate QR Code, preview the result, then click Download SVG / Download PNG. The download is immediate and requires no account.
- 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 Case | Content Type | Encodes | Best EC Level |
|---|---|---|---|
| Restaurant menu | URL | https://restaurant.com/menu | M |
| Conference badge | vCard | BEGIN:VCARD FN:Jane Smith… | H |
| Wi-Fi guest network | Wi-Fi | WIFI:T:WPA;S:GuestNet;P:pass;; | M |
| Product packaging URL | URL | https://brand.com/product/123 | Q |
| Business card contact | vCard | BEGIN:VCARD FN:John Doe… | H |
| SMS shortcode promo | SMS | sms:+15550001234?body=PROMO | M |
| Portfolio / CV link | URL | https://myportfolio.co | M |
| Event ticket check-in | Text | ORDER-2026-ABC123 | H |
Error Correction Levels Explained
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.
Medium
15% recovery
The default for most applications. Works well for print on packaging, posters, and business cards that aren’t subject to abrasion.
High
25% recovery
Good for print materials that may get scratches, folds, or partial dirt coverage. Website and brand QR codes often use Q.
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:
- 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.
- Error correction — Reed-Solomon error correction codewords are generated based on the chosen level (L/M/Q/H), allowing partial damage recovery.
- 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.
- Masking — one of 8 mask patterns is applied to the data area to minimise long runs of the same colour, which could confuse scanners.
- 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
JSON Formatter
Format, validate, minify, or sort JSON data with configurable indentation. Instantly check for syntax errors, view node count and nesting depth — free, no sign-up required.
Base64 Encoder / Decoder
Encode any text to Base64 (standard, URL-safe, or MIME) or decode any Base64 string back to plain text. Instant, free, no sign-up required.
UUID Generator
Generate UUID v1, v4, v5, or Nil identifiers in bulk. Validate any UUID and detect its version. Copy instantly — no signup required.
Hash Generator
Generate MD5, SHA-1, SHA-224, SHA-256, SHA-384 & SHA-512 hashes from any text. Supports hex, Base64, and Base64URL output, plus HMAC signing. Free and instant.