Online QR Code Generator: Create Custom QR Codes Quickly
What Is a QR Code
A QR Code (Quick Response Code) is a 2D barcode invented by Denso Wave in 1994. It stores information in both horizontal and vertical dimensions, offering far greater capacity than traditional barcodes. This site's QR code generator turns any URL or text into a scannable code in the browser.
A QR code stores one string. URLs, plain text, phone numbers, SMS, Wi‑Fi configs, and vCards are conventional text formats—not separate generator “modes.”
Why You Need a QR Code Generator
- Marketing: Products, posters, and cards that jump to a site
- Mobile payments: Platform payment codes (often dynamic)
- Wi‑Fi sharing: Encode a
WIFI:…string for one-tap join - App distribution: Download-link codes
- Developer debugging: Open preview URLs on a phone quickly
- Ticketing: Credential payloads in electronic tickets
Implementation notes
The QR code generator uses npm qrcode (^1.5.4) via QRCode.toCanvas:
| Item | Behavior on this site |
|---|---|
| Error correction | L / M / Q / H, default M |
| Canvas size | 128–512 px, step 32, default 256 |
| Quiet zone (margin) | Fixed 2 modules (not adjustable) |
| Colors | Fixed #000000 on #ffffff |
| Export | PNG only (canvas.toDataURL('image/png')) |
| UX | Live redraw on input—no separate Generate button |
| Payload | Free text; Wi‑Fi / vCard must be typed in the standard string form |
This generator supports foreground/background colors and PNG / SVG download. For eye/dot styles or a logo, use the QR code designer. Verify with the QR code decoder. Clean long URLs with the URL encoder / URL params parser; Base64 fragments → Base64 encoding guide.
Error correction and version capacity
Error correction (Reed–Solomon)
| Level | Approx. recoverable area | Capacity | Typical use |
|---|---|---|---|
| L | ~7% | Largest | Clean screens |
| M | ~15% | Large | General (site default) |
| Q | ~25% | Medium | Print, light wear |
| H | ~30% | Smallest | Outdoor, dirt, planned center cover |
Higher correction → more modules for the same content → denser pattern. On small print, H can scan worse than M.
Version ladder
Versions 1–40 span roughly 21×21 to 177×177 modules. Spec maxima (version 40, level L):
| Data type | Max (L) |
|---|---|
| Numeric | 7,089 characters |
| Alphanumeric | 4,296 characters |
| Binary/byte | 2,953 bytes |
| Kanji mode | ~1,817 characters |
Short links (~20–40 chars) stay on low versions; long utm_* URLs push version up and get “too dense” on small cards. “~40 characters for URLs” is a print-friendly heuristic, not a hard limit.
URL payload vs plain text
- URL: Phones usually open a browser. Use a full form (include
https://). CJK paths and query reserved characters expand via percent-encoding—see URL encoding: spaces and special chars and Chinese percent-encoding. - Plain text: Display only—no automatic navigation.
- Structured strings:
WIFI:T:WPA;S:name;P:password;;(trailing double semicolon),BEGIN:VCARD…END:VCARD. Malformed strings show as plain text instead of joining Wi‑Fi or saving a contact.
Dense: https://example.com/products/2026/summer/collection?ref=qr&utm_source=poster&utm_medium=print
Safer: https://ex.co/abc123
Longer content → denser modules → smaller physical module size → harder print and camera work.
How to use this site's generator
- Open the QR code generator
- Enter URL, text, or a Wi‑Fi / vCard string
- Adjust size and error-correction level
- Download the PNG when the preview looks right
Rounded eyes, module shapes, or logos → QR code designer. Simple two-color and SVG export work in this generator.
Checklist before shipping
- Shorten payloads; keep tracking on the landing page, not in the modules.
- Contrast: you can pick foreground/background colors; keep dark-on-light and check with the contrast checker.
- Quiet zone: margin is 2 here—do not crop the white border in the poster.
- Three scanners: iPhone camera, Android camera, and (for CN materials) WeChat scan.
- Round-trip: decode with the QR decoder so the string matches byte-for-byte.
Dense modules, logos, and pitfalls
- Density: High ECC + long URL + tiny print → modules under ~0.4–0.8 mm fail on phones. Shorten or enlarge first.
- Logo occlusion: Budget is area, not “any cover.” Blocking a finder corner fails most decoders. This generator has no logo upload—composite externally, prefer Q/H, keep cover roughly 15–20%, and real-scan.
- Bottom-right weakness: No finder there; avoid heavy decoration.
- Static vs dynamic: Direct payload = static (this tool). Redirect short link = dynamic (editable, countable, service-dependent). High-volume print often encodes a domain you control, then changes the redirect target.
Print and screen size rules of thumb
- Phone scan distance ≈ 10× module size — if modules are 0.5 mm, expect reliable scans from about 5 cm; posters need larger modules
- Quiet zone — keep a clear margin (about four modules) around the code; bordered marketing layouts often crop it by accident
- Contrast — dark modules on light ground; light-on-dark needs invert-aware scanners (many phone cameras still struggle)
- Verify — generate with the QR generator, print a proof, then decode with the QR decoder or a phone before ordering 10,000 stickers
FAQ
What's the Difference Between QR Codes and Barcodes?
Barcodes are 1D with limited capacity. QR codes are 2D with far more capacity and error correction.
Are QR Codes a Security Risk?
Yes—phishing and malware links. Decode/preview URLs before opening; do not blind-scan unknown print. Publishers: third-party shorteners can brick entire print runs if they shut down—prefer a domain you control.
Do QR Codes Expire?
The pattern does not. URLs, pages, and Wi‑Fi passwords do. Regenerate or keep a mutable redirect layer.
Dynamic vs static?
Need to change the target after print → dynamic. Otherwise static is simpler. This site emits static patterns.
From the ToolVault developer notebook. More developer tools at the homepage.
Related Tools
Related Articles
Markdown to Word: Native Style Mapping and the Inline-Format Downgrade List
Turning a Markdown draft into a deliverable .docx: pandoc CLI vs in-browser local conversion, how headings/tables/code blocks map to native Word styles, which inline formats degrade to plain text, and why 'editable' beats 'looks right'.
Word to Markdown: Two Clean Paths and What Survives the Conversion
How to convert .docx to Markdown cleanly: pandoc CLI vs in-browser local conversion, a format fidelity table for headings/tables/images/auto-numbering, and fixes for the .doc legacy format, image bloat, and merged-cell tables.
China License Plate Rules and Validation: Standard, New Energy, and Special Formats Explained
Mainland China plate encoding rules in full: the standard blue plate, the GA36D-2018 new-energy format, armed police and embassy plates, province abbreviations and issuing-authority letters — with an online validator.