QR Code Generator
Create QR codes instantly in your browser — URLs, Wi-Fi, vCard, email, and more. Customise colour, size, and error-correction, then download as PNG or SVG.
Options
Recommended: square PNG/SVG, covering at most 30% of the QR area
Bulk Generation (Pro)
Bulk generation is a Pro feature. Please upgrade to generate multiple QR codes at once.
Upgrade to ProWhat Is a QR Code?
A QR code (Quick Response code) is a two-dimensional matrix barcode invented in 1994 by Denso Wave in Japan for tracking automotive parts. Unlike traditional one-dimensional barcodes — which store data only horizontally — a QR code stores data both horizontally and vertically, enabling dramatically higher information density. Depending on the error-correction level and content type, a single QR code can encode up to 7,089 numeric characters, 4,296 alphanumeric characters, or approximately 2,900 bytes of binary data. The QR standard is defined in ISO/IEC 18004.
QR codes are ubiquitous today: business cards, product packaging, transit tickets, restaurant menus, museum exhibits, event badges, and digital-payment systems. A smartphone camera reads them in under a second. This speed and simplicity makes them the go-to bridge between physical and digital contexts — sharing a URL, a Wi-Fi password, a contact card (vCard), a pre-filled SMS or email, or even a plain text message. Seven payload types are supported by this generator: URL, plain text, email, phone, SMS, Wi-Fi (WIFI: format), and vCard 3.0.
Static QR codes — like those produced by this generator — embed information directly inside the image pattern. They require no server, carry no ongoing subscription cost, and continue working indefinitely as long as the encoded destination (for example, a web page) remains accessible. Because all data lives inside the code itself, no scan tracking is performed and no analytics are collected — an important distinction from dynamic QR code services, which route every scan through a redirect server to collect location, device and timestamp data.
Error correction is a defining feature of the QR standard, based on Reed-Solomon codes. There are four levels: L (7% of codewords can be restored), M (15%), Q (25%), and H (30%). This redundancy allows a scanner to fully reconstruct the content even if the code is dirty, scratched, or partially obscured by a logo. Choosing level Q or H when embedding a logo is essential: the logo physically covers modules in the centre of the code, and the error-correction data is what allows the scanner to recover the hidden bits. As a rule of thumb, the logo should cover no more than 30% of the code area even at level H.
This generator runs entirely in your browser — powered by the qrcode.react library, which generates QR patterns using the ISO/IEC 18004 specification without any network calls. Neither your URLs, Wi-Fi passwords nor any other input data leave your device at any point. This is particularly relevant for GDPR compliance: when generating QR codes containing personal contact details (vCard) or internal system URLs, you can be certain that data is not logged by a third-party service. The resulting PNG or SVG image is rendered locally and downloaded directly from your browser's memory.
How to Use the QR Code Generator
- Select a payload type — Choose the appropriate QR code type at the top: URL for websites or deep links, Text for arbitrary messages, Email for pre-filled messages with subject and body, Phone for direct dial, SMS for pre-filled text messages, Wi-Fi for automatic network connection (WIFI: format, supported natively by iOS 11+ and Android 10+), or vCard for digital business cards (vCard 3.0 format). Each type generates the correct structured payload automatically.
- Enter your content — Fill in the displayed fields. A URL only requires a single address; vCard and Email types offer multiple optional fields. The generator automatically formats all input into the correct QR payload — for example, a vCard QR code encodes a standardised BEGIN:VCARD…END:VCARD block, and a Wi-Fi code uses the WIFI:T:WPA;S:…;P:…;H:false;; format recognised by all modern smartphones.
- Customise options — Adjust the size (256–1024 px), foreground and background colours, error-correction level (L/M/Q/H), and quiet-zone width (the white border around the code). If you want to embed a logo in the centre, choose level Q (25% recovery) or H (30% recovery) so the scanner can reconstruct the modules hidden by the logo. The logo should cover no more than 30% of the total code area.
- Generate — Click "Generate QR Code". The preview appears instantly — no upload, no waiting, no account. Everything is computed locally in your browser using the ISO/IEC 18004 QR standard.
- Download and use — Download the code as PNG (universally compatible — best for web, email, and standard print sizes) or SVG (infinitely scalable without any quality loss — ideal for large-format printing, vinyl signage, or import into Illustrator, Inkscape or Figma). Pro users can bulk-generate multiple codes at once and export them as a ZIP archive.
Tip: always scan-test the QR code with at least two different devices and apps before printing or publishing. Dark modules on light background offer the best contrast; avoid very low contrast colour combinations.
How QR Codes Work
A QR code consists of black and white modules (square pixels) arranged in a square grid. Three identical finder patterns — the large squares in the top-left, top-right and bottom-left corners — allow scanners to locate and orient the code regardless of rotation angle or perspective distortion. Alignment patterns (in larger QR versions) and timing strips help the scanner map module positions precisely. Within the pattern, various fixed regions are reserved: format information strips (encoding the error-correction level and which of eight mask patterns was applied), version information strips (QR version 7 and above), and the variable-size data and error-correction codeword region in the remaining space.
Data is encoded in one of four modes — Numeric (digits 0–9 only, most compact), Alphanumeric (digits, capital letters, and a limited set of symbols), Byte (arbitrary 8-bit data, including UTF-8 text and binary), or Kanji (16-bit Shift JIS characters). The encoder automatically selects the mode that produces the smallest result for the given input. Reed-Solomon error-correction codewords are then computed and appended to the data codewords — the fraction of the total codewords reserved for error correction depends on the chosen level: 7% (L), 15% (M), 25% (Q), or 30% (H). Finally, the complete bit pattern is mapped onto the grid and one of eight mask patterns is applied, choosing the pattern that minimises difficult-to-scan features such as long runs of same-colour modules.
Maximum data capacity varies significantly by content type and error-correction level. At level L, a QR code can hold up to 7,089 numeric characters, 4,296 alphanumeric characters, 2,953 bytes of binary data, or 1,817 Kanji characters. At level H (30% error correction), usable capacity drops to about 40% of those figures. This is why URLs should be as short as possible: a URL like https://example.com/p/a fits comfortably even at level H, while a tracking URL with multiple long parameters can push the code into QR version 10+ with hundreds of modules, making it harder to scan reliably at small print sizes.
Use Cases
Marketing & Print
Print QR codes on posters, flyers, brochures, and packaging to direct customers straight to landing pages, product listings, or forms. Use SVG export for large-format materials — a vector QR code scales to any size without pixelation. Choose error-correction level M or Q for outdoor applications where weather may partially obscure the code.
Restaurants & Hospitality
Make a digital menu accessible via QR code, or connect guests to your Wi-Fi instantly using the WIFI: format — no password to read aloud or type. iOS 11+ and Android 10+ recognise Wi-Fi QR codes natively in the Camera app. Because this generator is browser-local, your Wi-Fi password is never transmitted to or logged by any external service.
Business Cards & Networking
Add a vCard 3.0 QR code to business cards, slide decks or email signatures so contacts can import your name, organisation, phone number, email, and website with a single scan — no manual typing, no transcription errors. The vCard payload is generated locally; your personal details never touch a third-party server.
Events & Exhibitions
Equip tickets, name badges, or exhibitor signs with QR codes for quick check-in, agenda links, or social-media profile pages. For batch generation of per-attendee codes — each with a unique URL or identifier — use the Pro bulk generation feature to generate all codes at once and download them as a ZIP archive.
Example: Wi-Fi QR Code
This QR code automatically connects a smartphone to a Wi-Fi network — no manual password entry required.
WIFI:T:WPA;S:MyHomeNetwork;P:secretPassword;H:false;;
The WIFI: format is supported natively by all modern Android and iOS versions. Important: the Wi-Fi QR code contains the plaintext password — protect it accordingly.
Tips & Limitations
Tips
- Use HTTPS URLs and avoid unnecessarily long parameter strings — shorter content produces simpler, more reliably readable codes.
- Never print QR codes smaller than 2 × 2 cm. For small formats, prefer error-correction level L (smaller pattern, easier to read).
- Embedding a logo? Choose level Q or H, and ensure the logo covers no more than 30% of the code area.
- Export SVG for infinitely scalable print quality in any format — perfect for large-format printing or vector design tools such as Illustrator or Inkscape.
Limitations
- Static QR codes cannot be changed after generation. Updating the content requires creating a new code.
- Very long text or complex vCards can produce dense patterns that are harder to read with budget scanners.
- Wi-Fi QR codes store the password in plaintext. Share such codes only in trusted environments.
- Bulk generation is restricted to Pro users. The free tier generates one QR code at a time.
Frequently Asked Questions
Is my data sent to a server?
No. This generator runs entirely in your browser. Neither URLs, passwords, nor contact details leave your device. No tracking is performed.
How long is a static QR code valid?
Forever — as long as the linked content (e.g. a web page) remains accessible. Static QR codes do not expire and require no server.
Which error-correction level should I choose?
For straightforward use without a logo, level M (the default) is sufficient. If you are embedding a logo or the code will be used in a dirty environment (packaging, outdoors), choose level Q or H.
Which format should I download — PNG or SVG?
PNG is universally compatible and suitable for websites, presentations, and small print formats. SVG is infinitely scalable without quality loss, making it ideal for large-format printing or vector design tools like Illustrator or Inkscape.
Can I embed a logo in the QR code?
Yes. Upload a logo in the Options section (preferably square, PNG or SVG). Set the error-correction level to Q or H so the logo area is compensated by redundancy data.
What is the maximum amount of data in a QR code?
It depends on the error-correction level and data type. At level L, the maximum is 7,089 numeric characters, 4,296 alphanumeric characters, or 2,953 bytes of binary data. For short URLs, these limits are practically never relevant.
Does a Wi-Fi QR code work on iPhone and Android?
Yes. iOS 11 and later, and Android 10 and later, support Wi-Fi QR codes natively in the Camera app. Older devices may require a separate QR scanner app.
What is the difference between static and dynamic QR codes?
Static QR codes (like those this generator creates) embed the content permanently in the image. Dynamic QR codes redirect via a short-link server, allowing the destination to be changed later — but they require a paid third-party service.
Can I generate QR codes in bulk?
Pro users can use the bulk generation feature to enter multiple values (e.g. a list of URLs) and download all QR codes as a ZIP archive. The free tier generates one code at a time.
What is the minimum print size for a QR code to be scannable?
The general rule is a minimum of 2 × 2 cm (about 0.8 × 0.8 inches) for codes scanned at arm's length (30–50 cm). For codes on large posters scanned from a distance of 1–2 metres, scale proportionally — roughly 6–10 cm. Each module (the individual black or white square) should be at least 0.3 mm in the final print. At small sizes, prefer error-correction level L or M, which produces simpler patterns with larger modules that are easier for lower-resolution cameras to read.
Why does my QR code contain so many modules — can I make it simpler?
The number of modules (the version of the QR code) is determined automatically by the amount of data and the error-correction level. The most effective ways to reduce complexity are: (1) shorten your URL using a URL shortener, (2) switch to a lower error-correction level (L or M), and (3) make sure you are using the correct payload type — for example, using the URL tab rather than the plain Text tab ensures the URL is encoded in the most compact possible form.
What is a vCard QR code and which format does it use?
A vCard QR code encodes contact information using the vCard 3.0 standard (defined in RFC 2426). The payload begins with BEGIN:VCARD and ends with END:VCARD, with fields such as FN (full name), ORG (organisation), TEL, EMAIL, and URL in between. Scanning such a code prompts the phone's contacts app to offer adding the person directly to the address book. This generator creates vCard 3.0 payloads compatible with both iOS Contacts and Android Contacts.
Does the colour of a QR code affect scannability?
Yes. QR scanners rely on luminance contrast between the dark modules (foreground) and the light modules (background). Black on white is the reference configuration. Coloured QR codes work as long as the foreground colour is significantly darker than the background when viewed in greyscale. Avoid light foreground colours (yellow, light green) on white backgrounds, and dark backgrounds with dark foregrounds. Never invert a QR code (white on black) without testing — some scanner apps do not handle inverted codes reliably.
Is there a difference between QR codes generated here and those from paid services?
For static QR codes (codes where the destination is fixed at creation time), there is no functional difference. The underlying ISO/IEC 18004 standard is the same. The key advantage of this generator is privacy: no third-party service sees or logs your data. Paid dynamic QR services add scan tracking, redirect management, and the ability to change the destination after printing — but they require routing every scan through their servers.