QR Code Generator
Generate customisable QR codes for URLs, text, WiFi, email, phone, and SMS with instant PNG export.
100% Secure & Private
All QR codes are generated locally in your browser. No data is sent to any server.
Quick Presets
Enter Content
Customization
QR Code Preview
Enter text above to generate QR code
Recent QR Codes
What Is a QR Code Generator?
A QR code generator is a free online tool that converts a URL, text message, phone number, email address, or WiFi credentials into a scannable two-dimensional barcode. Any modern smartphone camera can read a QR code without a separate app — point, scan, and the phone opens a URL, dials a number, connects to a network, or launches an email compose window automatically.
QR codes encode data in a matrix of black and white squares arranged according to the ISO 18004 standard. The density of that matrix — and therefore how reliably it scans — depends on three things: the length of the content, the error correction level selected, and the physical or pixel size at which the code is rendered. Getting these three right is the difference between a code that scans instantly and one that frustrates users at the moment it matters most.
This free QR code generator is built for businesses, marketers, designers, developers, event organisers, and restaurant owners who need reliable, print-ready QR output fast. It supports six content types — URL, text, email, phone, SMS, and WiFi — with customisable size up to 1024px, four error correction levels, custom foreground and background colours, real-time preview, one-click PNG download, clipboard copy, and a local generation history. Everything runs in your browser — no data is sent to any server.
How QR Code Generation Works
A QR code encodes data by converting your content into a binary bit stream, then mapping that stream onto a grid of dark and light modules according to the QR specification. The grid includes finder patterns (the three corner squares), timing patterns, alignment patterns for larger codes, and format information — all of which help scanners orient and decode the code reliably under varying conditions.
Key Parameters
Version = 1–40 (determines grid size, auto-selected by data length)
Error correction = L / M / Q / H (7% / 15% / 25% / 30% recovery)
Data capacity = decreases as error correction increases
Module size = output px divided by (version x 4 + 17 + quiet zone)
This generator uses the Canvas API to render the matrix directly in your browser at the selected pixel dimensions. Content type detection automatically formats your input — a phone number gets the tel: prefix, WiFi credentials are formatted as WIFI:T:WPA;S:...;P:...;H:false; — so phone cameras trigger the correct action on scan without manual formatting.
How to Use the QR Code Generator
Step-by-Step Guide
- 1Select the content type: Choose from URL, Text, Email, Phone, SMS, or WiFi. Selecting the right type ensures the content is encoded in the format that phone cameras recognise — a WiFi code formatted correctly lets devices connect automatically on scan.
- 2Enter your content: Type or paste your URL, message, phone number, or WiFi credentials into the input field. The QR code preview updates in real time as you type. For WiFi codes, fill in the network name, password, and security type in the dedicated fields.
- 3Set the size: Use the size selector to choose between 128px and 1024px. For digital use 256px is sufficient. For print materials generate at 512px or 1024px to ensure enough resolution at the intended print dimensions.
- 4Choose error correction: Select Low (L) for maximum data capacity on clean surfaces, Medium (M) for general use, Quartile (Q) for printed materials with potential wear, or High (H) for harsh environments or codes that will have a logo overlaid.
- 5Customise colours if needed: Change the foreground and background colours using the colour pickers. Keep strong contrast between the two — dark foreground on a light background. Avoid low-contrast combinations and scan-test before printing.
- 6Download or copy: Click Download PNG to save the QR code as a high-quality image file. Click Copy to Clipboard to paste it directly into a design tool, email, or document without saving a file first.
- 7Test before distributing: Scan the code with at least two different devices — one iOS and one Android — before printing or publishing. Verify the destination loads correctly and the content type behaves as expected.
What This Generator Provides
- ✓Six content types: URL, Text, Email, Phone, SMS, WiFi
- ✓Automatic content-type formatting (tel:, mailto:, WIFI:)
- ✓Real-time preview — updates as you type
- ✓Size options from 128px to 1024px
- ✓Four error correction levels: L, M, Q, H
- ✓Custom foreground and background colour pickers
- ✓One-click PNG download
- ✓Copy to clipboard without saving a file
- ✓Generation history — last 10 codes stored locally
- ✓Keyboard shortcut: Ctrl+Enter to regenerate
- ✓Mobile-optimised interface
- ✓100% browser-based — no uploads, no server
Real-World Use Cases
Restaurant — Contactless Digital Menu
A café owner wants to replace printed menus with a digital version. They enter the menu URL, set size to 512px, error correction to Q (for laminated table cards that may get scratched), and download the PNG. The code is placed on a 6cm sticker on each table. Customers scan and the menu opens instantly — no app required. When the menu URL changes seasonally, a new code is generated in under 30 seconds.
Event Organiser — Badge Check-In Links
A conference organiser generates QR codes for key speaker badges using the URL type at 256px. Each code links to a personalised confirmation page. The PNG is exported directly into the badge design template in Figma. For the general attendee batch, the clipboard copy function moves each code into the layout tool without managing individual files.
Office IT — WiFi Guest Network
An IT administrator sets up a guest WiFi network and wants visitors to connect without reading out a complex password. They select the WiFi content type, enter the SSID, password, and WPA2 security type, generate a 400px code, and print it on an A5 card at reception. Guests scan and connect automatically on both iOS and Android — no password typing needed.
Marketer — Offline-to-Online Campaign
A marketing team prints 10,000 direct mail flyers pointing to a campaign landing page. They generate the URL QR code at 1024px with High (H) error correction — because the flyer will be physically handled and may arrive crumpled. The team scans the printed proof with three different phones before approving the print run.
Designer — Business Card QR Code
A freelance designer wants a QR code on their business card linking to their portfolio. They enter the URL, set a dark navy foreground (#1a2e4a) on white, size 256px, Medium correction, and download the PNG. They test the coloured code on iOS native camera and Google Lens to confirm the contrast is sufficient before importing it into the card template.
Developer — App Deep-Link Testing
A mobile developer needs to test a deep link (myapp://product/12345) on a physical device without typing the URL manually. They encode the custom URI scheme as plain text in the generator, display the code on their laptop at 400px, and scan it with the test device. The history panel lets them quickly switch between several test URLs without re-entering them.
Tips & Best Practices
Pro Tips
- 💡Shorten long URLs before encoding them. Every additional character increases QR complexity. A short branded link encodes as a sparse, easy-to-scan code compared to a full UTM-tagged URL. Shorter = fewer modules = more reliable scanning at smaller print sizes.
- 💡Generate at 1024px even if your final use is smaller. Downscaling a large PNG always produces a sharper result than upscaling a small one. Generate at maximum resolution and let your design tool resize — especially important for print.
- 💡Always test with both iOS and Android before printing. iOS native camera, Android native camera, and Google Lens all have slightly different scan algorithms. A code that works on one may fail on another — test all three before committing to print.
- 💡For WiFi QR codes, use WPA2 security type unless you specifically need WEP for an older router. WPA2 is universally supported by modern phones. WEP is deprecated and some devices may not offer to connect automatically even when they can read the code.
- 💡Do not crop the quiet zone. The white border around the code is part of the QR standard — scanners use it to detect the code boundary. Ensure at least 4 modules of clear space on all sides when placing the code over any background.
Common Mistakes to Avoid
- ✕Don't use low-contrast colour combinations. Light grey on white, yellow on white, or any combination where foreground and background are close in lightness will cause scan failures on older cameras. Stick to black on white if in doubt.
- ✕Don't print QR codes too small. A code scanned from 30cm needs to be at least 2.5cm x 2.5cm in print. For posters scanned from over a metre away, the code needs to be 5cm or larger. Too small = scan failures = frustrated users.
- ✕Don't skip testing on the actual printed output. Colours on screen look different when printed — a blue that appears dark on screen may print lighter, reducing contrast. Print a proof and scan it before approving a full print run.
- ✕Don't encode a URL directly in a static code if the destination may change. If the URL changes, the printed code is permanently broken. Use a URL shortener as an intermediary so you can update the destination without reprinting.
- ✕Don't place QR codes over busy photographic backgrounds. Even with High error correction, a code sitting over a detailed image frequently confuses scanners. Always use a solid-colour (preferably white) background behind the code.
QR Code Reference: Error Correction, Size & Content Types
Error Correction Level Guide
| Level | Recovery | Best for | Trade-off |
|---|---|---|---|
| L — Low | ~7% | Digital screens, email, short URLs | Densest — hardest to scan if damaged |
| M — Medium | ~15% | General use, websites, social media | Good balance — recommended default |
| Q — Quartile | ~25% | Printed cards, menus, product labels | More modules — increase size for long URLs |
| H — High | ~30% | Outdoor signage, logo overlay, harsh use | Largest code — generate at 512px+ for long content |
Minimum Print Size by Scanning Distance
| Scanning distance | Min. print size | Recommended export size | Typical use |
|---|---|---|---|
| Screen / 15-20 cm | Digital only | 256px | Social, email, website |
| Hand-held / 20-30 cm | 2.5 cm x 2.5 cm | 256-512px | Business cards, stickers |
| Table-top / 30-60 cm | 3.5 cm x 3.5 cm | 512px | Menus, product packaging |
| Standing / 60-100 cm | 5 cm x 5 cm | 512-1024px | Posters, event stands |
| Outdoor / 1-3 m | 10 cm x 10 cm | 1024px | Signage, billboards |
Supported Content Types & Format Reference
| Content type | Encoded format | On scan |
|---|---|---|
| URL | https://example.com | Opens in browser |
| Text | Hello, world! | Displays text |
| mailto:user@example.com | Opens email compose | |
| Phone | tel:+12025551234 | Opens phone dialler |
| SMS | sms:+12025551234?body=Hello | Opens SMS compose |
| WiFi | WIFI:T:WPA;S:MyNetwork;P:Pass;H:false; | Prompts to join network |
Frequently Asked Questions
What is a QR code generator and what can I encode?
A QR code generator converts text, URLs, and structured data into a scannable two-dimensional barcode that any smartphone camera can read. This generator supports six content types: website URLs, plain text, email addresses, phone numbers, SMS messages, and WiFi credentials. Each type is automatically formatted to the correct QR standard — a WiFi entry is encoded as a WIFI: string that Android and iOS can parse and connect to automatically, while a phone number is encoded as tel: so it opens the dialler on scan.
What is error correction and which level should I use?
Error correction allows a QR code to be read even when part of it is damaged, obscured, or dirty. The four levels are L (7% recovery), M (15%), Q (25%), and H (30%). For most digital uses — website links on a screen, email signatures — Medium (M) is the right default. For printed materials that may get worn, scratched, or wet, use Quartile (Q) or High (H). Higher correction adds more modules to the code, making it denser — for long URLs with High correction, increase the size to at least 512px.
What size should I use for print vs digital?
For digital use — social media, email, websites — 256px to 512px is sufficient. For print, the QR code should be at least 2cm x 2cm at its final printed size when scanned at 30cm. For posters or signage scanned from more than a metre away, generate at 512px or 1024px and print at a minimum 5cm x 5cm. Generate at maximum resolution and let your design tool resize down.
How do I create a WiFi QR code?
Select WiFi as the content type, enter the network name (SSID), the password, and the security type (WPA, WPA2, or WEP for older networks). The generator formats these into the WIFI standard that Android and iOS recognise — when scanned, the phone prompts the user to join the network automatically without typing the password. This is ideal for offices, cafes, events, and guest networks.
How do I use custom colors without breaking scannability?
The most important rule is contrast: the foreground (modules) must be significantly darker than the background. Black on white is the gold standard. You can use dark blues, greens, or reds on a white or light-coloured background and maintain good scan rates. Avoid low-contrast combinations like yellow on white, light grey on white, or inverted light-on-dark codes. Always scan-test a customised code with at least two different devices before distribution.
Do QR codes expire?
Static QR codes — which is what this generator creates — never expire. The code itself is permanent. However, if the content encoded becomes unavailable (a URL that returns a 404, a WiFi network that is renamed), the code will still scan but the destination will be broken. For link-based codes, use a reliable URL and periodically verify it resolves. For the ability to change the destination without reprinting, encode a URL shortener link instead.
What is the maximum amount of data a QR code can hold?
At Low correction, a QR code can hold up to 4,296 alphanumeric characters. In practice, for reliable scanning across devices, keep URL content under 300 characters. Very long URLs create extremely dense codes that require ideal lighting and a high-resolution scanner. For long content, shorten the URL first using a URL shortener service.
Can I add a logo to the centre of the QR code?
This generator does not currently support embedded logos, but it does support High (H) error correction — which is intentionally designed to allow up to 30% of the code to be obscured and still scan successfully. Export the PNG and overlay a logo in a design tool, use High correction, and keep the logo to under 25% of the code's total area.
What is the quiet zone and why does it matter?
The quiet zone is the blank white margin surrounding a QR code. Scanner algorithms use it to detect where the code begins and ends. Placing a QR code directly against a busy background without a clear margin frequently causes scan failures. This generator includes the standard quiet zone in its output. When placing the code in a design, maintain at least 4 modules of white space on all four sides.
Is my data private when using this QR code generator?
Yes. All QR code generation runs entirely in your browser using JavaScript. The content you enter — whether a URL, WiFi password, or phone number — is never transmitted to any server, stored in any database, or accessible to anyone other than you. The PNG is generated locally using the HTML Canvas API and downloaded directly to your device.
Who Uses This QR Code Generator?
Restaurants & Cafes
Replace printed menus with digital ones. Generate a new code in seconds when the menu URL changes — no reprinting the entire code sheet, just update the short link destination.
Marketers & Advertisers
Bridge offline campaigns to online destinations. Print QR codes on flyers, packaging, and out-of-home ads that route to landing pages, product pages, or tracking URLs.
Event Organisers
Generate check-in links, schedule pages, and sponsor pages as QR codes for badges, signage, and programmes. WiFi codes let attendees connect to the event network instantly.
Business Professionals
Add QR codes to business cards linking to portfolios, LinkedIn profiles, or contact pages. Encode phone numbers and email addresses directly for one-tap communication.
Developers & IT Teams
Test deep links and custom URI schemes on physical devices without typing URLs. Generate WiFi QR codes for office guest networks, lab environments, and conference rooms.
Designers & Creators
Generate print-ready 1024px PNG codes for packaging, posters, and product labels. Customise colours to match brand guidelines and verify contrast before handing off to print.
Related Tools
Base64 Image Encoder
Convert images to Base64 strings instantly in your browser. Supports PNG, JPG, GIF, WebP with resizing, quality control, and preview.
URL Encoder / Decoder
Encode and decode URLs with special characters. Convert to percent-encoded format instantly.
Hash Generator
Generate MD5, SHA-1, and SHA-256 hashes instantly in your browser