QR Code Generator
Pick a payload type, preview live, one-click PNG / SVG download.
How to use this QR code generator
- Choose a content type on the left (URL, Wi-Fi, vCard, …);
- Fill in the fields — the preview renders instantly on the right;
- Adjust error correction, colors and quiet zone as needed;
- Download a PNG at 512/1024/2048 px, or an SVG vector file.
The 10 supported payload types
- Text — anything, including Chinese (UTF-8).
- URL — opens a web page on scan; https:// is added automatically when missing.
- Phone — a tel: link that dials on scan.
- SMS — pre-fills number and message body.
- Email — pre-fills recipient, subject and body.
- Wi-Fi — encodes SSID, password and security type.
- vCard — standard vCard 3.0; saves the contact on scan.
- Calendar event — standard iCal VEVENT; one tap adds it to the phone calendar.
- Geo location — geo: coordinates that open maps navigation.
- SEPA payment — BCDC format for bank apps.
Wi-Fi QR format
Wi-Fi codes use the standard WIFI:T:WPA;S:ssid;P:password;; format and work on both iOS and Android. Hidden networks get H:true automatically, and special characters (\ " : ; ,) in the password are escaped for you.
vCard QR codes
Card codes follow vCard 3.0 with name, organization, title, phone, email and website. Most phone contact apps offer “save contact” when they scan one.
Calendar event QR codes
Event codes carry title, location, start/end times and description (iCal VEVENT). Calendar apps pop up an “add to calendar” prompt on scan.
Choosing an error correction level
QR codes use Reed-Solomon error correction, so they stay readable even when partially covered or poorly printed:
| Level | Recoverable damage | Best for |
|---|---|---|
| L | 7% | on-screen display, protected environments |
| M (default) | 15% | most everyday use |
| Q | 25% | possible partial covering |
| H | 30% | low-quality print, outdoors, center logo |
Higher correction means more modules for the same payload. Use L/M for screens and Q/H for print.
PNG or SVG?
PNG is a raster image — best for printing, messaging and embedding, offered at 512/1024/2048 px. SVG is a vector — scale it losslessly to any size, recolor it later, or embed it in a page. With “transparent background” checked, both formats keep the alpha channel.
Lifespan and printing notes
A QR code never expires — it is a fixed pattern encoding fixed data. It stays valid as long as the encoded URL or content does. Don’t print codes smaller than about 20×20mm, and keep contrast high (black on white is the safest combination).
FAQ
Is this QR generator free?
Yes, completely free, unlimited, no account needed.
Can I use the QR codes commercially?
Yes. The files you generate are yours to use however you like.
Does it support Chinese / Unicode?
Yes. Content is encoded as UTF-8, so Chinese, Japanese and emoji all work.
What is the maximum payload size?
About 2,953 bytes in byte mode (version 40). Larger payloads show a clear error instead of a broken code.
Why won’t my QR code scan?
Most common causes: printed too small (use ≥20mm), low contrast, missing quiet zone, or too-low error correction. Black on white with a 4-module quiet zone is the safe default.
Can I put a logo in the center?
Yes — set error correction to H and overlay a logo covering no more than ~20% of the code. This tool doesn’t overlay logos for you; compose it in any image editor.
What is the difference between a static QR code and a dynamic QR code?
A static QR code encodes the content (URL, Wi-Fi data, contact details, …) directly into the pattern, so it works forever and depends on no server. A dynamic QR code points to a short link managed by a service — the destination can change after printing, but it usually needs an account, and the code breaks if the subscription ends. CodeBox generates static codes: nothing is sent to any server, and the codes never expire.
Does this tool send my data to a server?
No. All QR generation happens inside your browser with JavaScript. The URLs, Wi-Fi passwords and contact details you enter are never sent to, stored on or logged by any server. Closing the tab is enough — nothing is left behind.