🎨 Customize
🖼️ Logo Overlay (Optional)
Embed a logo in the center. Requires error correction H (30%) for best scan reliability.
FAQ
QR Code Generator — Create, Customise, and Download QR Codes Instantly
QR codes (Quick Response codes) have gone from novelty to necessity. Restaurant menus, payment portals, product packaging, business cards, event tickets, Wi-Fi sharing, and app download links all rely on QR codes to bridge the physical and digital worlds. The ability to generate a QR code on demand — for a URL, a business card, a payment link, a Wi-Fi password — is a practical skill for anyone running a business, organising an event, or creating marketing materials.
This generator creates QR codes entirely in your browser using the qrcode.js library, with no server upload and no watermark. Generated codes can be downloaded as PNG (for printing and digital sharing) or SVG (for scalable, print-quality use in design files and print production).
How QR Codes Work
A QR code is a two-dimensional matrix barcode that encodes data in a grid of black and white squares. Smartphones decode QR codes by photographing them and applying a Reed-Solomon error correction algorithm that can reconstruct the data even if up to 30% of the code is damaged or obscured — which is why logos can be placed in the centre of QR codes without breaking them.
QR codes can store different types of data:
| Data Type | Format | Use Case |
|---|---|---|
| URL | https://example.com | Link to website, landing page, product page |
| Plain text | Any text string | Coupons, instructions, notices |
| mailto:name@domain.com?subject=Hello | Open pre-addressed email compose window | |
| Phone | tel:+923001234567 | Tap to call a business number |
| SMS | sms:+923001234567?body=Hello | Open pre-filled SMS draft |
| Wi-Fi | WIFI:S:NetworkName;T:WPA;P:password;; | Scan to connect to Wi-Fi without typing password |
| vCard | BEGIN:VCARD...END:VCARD | Scan to save contact card directly to phone |
Error Correction Levels
QR codes have four error correction levels that determine how much damage they can sustain while remaining scannable:
- Level L (Low) — 7% recovery — smallest code size, use for clean digital displays where no damage is expected
- Level M (Medium) — 15% recovery — good balance for most print uses
- Level Q (Quartile) — 25% recovery — recommended when printing outdoors or on textured surfaces
- Level H (High) — 30% recovery — required when embedding a logo in the code; allows up to 30% of the code to be covered
Best Practices for Print-Quality QR Codes
- Minimum size — print QR codes at a minimum of 2.5 cm × 2.5 cm (1 inch × 1 inch) for reliable scanning at arm's length
- Quiet zone — maintain a white border of at least 4 modules (cells) around all sides of the code; scanners need this quiet zone to locate the code
- Contrast — dark code on light background; avoid low-contrast colour combinations; never use a white-on-colour code
- Test before printing — always scan your generated QR code with multiple devices before printing large quantities
- Use SVG for print — download as SVG for print projects; SVG scales infinitely without pixelation, unlike PNG which blurs when enlarged
Frequently Asked Questions
Do QR codes expire?
Static QR codes (which directly encode the destination URL or data) never expire — they will work forever as long as the destination URL is still live. Dynamic QR codes (where a short URL redirects to a changeable destination) expire only if the service managing the short URL stops operating. QR codes generated by this tool are static and have no expiry.
Can I add my logo to the centre of the QR code?
Yes — the generator supports logo overlay. Set error correction to Level H (30%) before adding a logo, and ensure the logo covers no more than 25–30% of the code area. Download the code as SVG, open in a vector editor (Inkscape, Adobe Illustrator), and place your logo in the centre, or use the logo upload feature directly in the generator which handles this automatically.
What is the maximum data a QR code can store?
A QR code can store up to 4,296 alphanumeric characters or 7,089 numeric digits at the lowest error correction level. In practice, shorter data produces smaller, more easily scannable codes. URLs should ideally be under 200 characters for clean codes; for vCards, use URL shorteners to keep the encoded string compact.
How do I create a QR code for WhatsApp contact or group?
For a WhatsApp direct message link, encode: https://wa.me/923001234567 (replace with the full international number including country code, no + sign). For a WhatsApp group, use the group invite link from WhatsApp → Group Info → Invite via Link. Both encode as standard URLs.
How do I create a UPI/payment QR code for Pakistani payment systems?
For Easypaisa, JazzCash, and Raast payments, generate a QR code using the respective app's built-in QR generator (they produce payment-specific formats). A plain URL QR code won't trigger the payment app. For Raast IDs, the standard format for QR-based payments follows the ISO 20022 standard implemented by SBP — use your bank's app to generate the official payment QR.