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.
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
QR Code Generator is part of the Developer collection. If you want a broader view of similar workflows, open the Developer category page or browse all QuickTools categories.
Common next steps after this tool include JSON Formatter, Base64 Encoder / Decoder and UUID 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).
| 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 |
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.
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:
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.
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.
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.
Generate UUID v1, v4, v5, or Nil identifiers in bulk. Validate any UUID and detect its version. Copy instantly — no signup required.
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.
Convert short MP4, WebM, MOV, AVI, MKV, and other video clips into GIFs online with trim controls, frame-rate options, and private in-browser processing.
Create animated GIFs from a sequence of images online with per-frame delay, output width, loop count, and private in-browser processing — no upload required.
Convert an animated GIF into a compact MP4 or WebM video file online with output width, duration, and FPS controls — processed entirely in your browser, no upload required.
Convert an animated GIF into a compact WebM video file online using VP9 or VP8 — output width, duration, and FPS controls with private in-browser processing, no upload required.