QR Code Generator
Generate QR codes for URLs, WiFi, vCards, and more. Custom colours and logo. No account required, no watermarks, no data sent to any server. Download as PNG or true vector SVG.
Enter a URL, text, Wi-Fi password, or contact card to generate a QR code. Download as PNG or as a true vector SVG that scales to any size without quality loss. Use Batch mode to generate up to 50 QR codes at once and download them all in a single ZIP file. Customise colour, size, and error correction level (L / M / Q / H). Frames export as PNG only.
Keep the QR pattern dark on a light background for reliable scanning, and add a logo to lock error correction to Level H so the code still scans with the centre covered.
QR Code Type
Content
Customise
Preview
Enter content above to generate QR code
QR codes are generated locally in your browser. No data is sent to any server.
Create a QR Code for Your Website in Seconds
Paste your website URL into the URL field, choose your colours if you want a branded code, and click Download PNG or SVG. The whole process takes under a minute and the code is free to use forever with no watermark and no account required. Every QR code is generated in your browser: your URL, WiFi password, or contact details are never sent to any server.
For posters and large-format print, download as SVG: it is a true vector file that scales to any size without pixelation. For websites, emails, and social media, PNG is the right choice. Need more than one code? Switch to Batch mode, paste up to 50 URLs one per line, and download them all in a single ZIP file.
How QR Codes Work
QR (Quick Response) codes store data in a two-dimensional grid of black and white modules. When your phone camera scans the pattern, it decodes the data, usually a URL, but it can be text, WiFi credentials, contact details, or any string of characters.
Think of a QR code like a very efficient barcode that works in two dimensions instead of one. A traditional barcode reads left-to-right and holds maybe 20 characters. A QR code reads both horizontally and vertically, packing thousands of characters into a small square. The three large squares in the corners are finder patterns, they tell the scanner which way the code is oriented, so it works even if you scan it upside down or at an angle.
QR codes use Reed-Solomon error correction, which means they still work even if part of the code is damaged or obscured. At the highest level (Level H), up to 30% of the code can be covered, which is why you can put a logo in the centre and it still scans. This is the same error correction technology used in satellite communications and Blu-ray discs.
Everything runs in your browser. The QR code is generated client-side using the qrcode.react library. Your data is never sent to any server, which matters when you're generating codes with WiFi passwords, contact details, or private URLs.
Static vs Dynamic QR Codes
This is the single most important decision you'll make when creating a QR code, and most people get it wrong.
Static QR Codes
The data is baked directly into the code pattern. What you encode is what gets decoded, forever. No internet connection needed to read the data (for non-URL types like WiFi or vCard).
Best for: WiFi passwords, vCards, text that won't change, one-time-use codes.
This tool generates static codes, free, no tracking, no expiry.
Dynamic QR Codes
The code contains a short redirect URL. The destination can be changed after printing without reprinting the code. Usually includes scan analytics (how many, when, where).
Best for: Marketing campaigns, menus you update often, anything where you want scan tracking.
Requires a paid service (Bitly, QR Code Generator Pro, etc.)
The workaround: You can get most benefits of dynamic codes for free. Generate a static QR code pointing to a URL you control (your own website or a link shortener). When you need to change the destination, update the redirect on your server, the QR code stays the same. You won't get scan analytics, but you won't pay a monthly fee either.
Error Correction Levels
| Level | Recovery | Best For | Trade-off |
|---|---|---|---|
| L (Low) | ~7% damage | Digital-only use, clean display | Smallest code |
| M (Medium) | ~15% damage | General purpose, good default | Balanced |
| Q (Quartile) | ~25% damage | Printed materials that may get worn | Larger code |
| H (High) | ~30% damage | Logo overlay, outdoor signage | Largest code |
Higher error correction means a denser (larger) QR code because extra data modules are added for redundancy. If you're embedding a logo in the centre, use Level H, you're deliberately covering part of the code, so you need maximum recovery. For a clean digital code on a screen, Level L keeps things small and simple.
Data Capacity
A standard QR code can hold a surprising amount of data, but size matters, more data means a denser, harder-to-scan code:
| Data Type | Max Characters | Real-World Example |
|---|---|---|
| Numeric only | 7,089 digits | Phone numbers, product codes, tracking IDs |
| Alphanumeric | 4,296 characters | URLs, short messages, serial numbers |
| Binary (UTF-8) | 2,953 bytes | vCards, WiFi config, calendar events, JSON |
Practical limit: Keep your data under 200-300 characters for codes that scan reliably at normal print sizes. A typical URL (50-80 characters) is well within range. Long data produces codes with tiny modules that need a high-res print to scan. If your content is longer than 300 characters, consider hosting it on a webpage and encoding the URL instead.
QR Code Data Formats
QR codes aren't just for URLs. Your phone recognises specific data formats and takes action automatically, connecting to WiFi, saving a contact, or opening your email app. Here's every format you can use:
| Format | Syntax | Max Length |
|---|---|---|
| URL | https://example.com/page | ~2,000 chars |
| WiFi | WIFI:T:WPA;S:NetworkName;P:Password;; | ~200 chars |
| vCard | BEGIN:VCARD\nVERSION:3.0\nN:Last;First\n... | ~300 chars |
| mailto:user%40example.com?subject=Hi | ~200 chars | |
| SMS | smsto:+447700900000:Your message here | ~160 chars |
| Phone call | tel:+447700900000 | ~30 chars |
| Geo location | geo:latitude,longitude | ~50 chars |
| Calendar event | BEGIN:VEVENT\nSUMMARY:Event\n... | ~500 chars |
| Plain text | Any text string | ~2,953 bytes |
Pro tip: WiFi and vCard formats are the most underused. A WiFi QR code eliminates the "what's the password?" conversation entirely, and a vCard code means your contact details are saved correctly every time, no typos, no missing digits.
Print Size & Scanning Distance Guide
The number one reason QR codes fail in the real world isn't the code itself, it's the print size. A code that scans perfectly on your laptop screen might be useless on a poster across the room. Use this guide to pick the right size for your use case.
For an A4 poster, print the code at least 40mm x 40mm. For an A3 poster, use at least 60mm x 60mm. Download as SVG from this tool for crisp edges at any print size without pixelation.
| Scenario | Min Size | Scan Distance | DPI |
|---|---|---|---|
| Business card | 15×15 mm | 10-15 cm | 300+ |
| Table tent / counter card | 25×25 mm | 15-30 cm | 300 |
| A5 flyer / leaflet | 30×30 mm | 20-40 cm | 300 |
| A4 poster / document | 40×40 mm | 30-60 cm | 300 |
| A3 poster | 60×60 mm | 0.5-1 m | 300 |
| A2 poster / banner | 100×100 mm | 1-2 m | 150+ |
| A1 poster | 150×150 mm | 1.5-3 m | 150 |
| Billboard / hoarding | 500×500 mm | 3-10 m | 72+ |
| Product label (small) | 10×10 mm | 5-10 cm | 600+ |
| Product label (medium) | 20×20 mm | 10-20 cm | 300+ |
| Retail shelf tag | 15×15 mm | 10-15 cm | 300+ |
| Sticker / label roll | 20×20 mm | 10-20 cm | 300 |
| Window display | 100×100 mm | 0.5-1.5 m | 150+ |
| Exhibition stand | 200×200 mm | 2-4 m | 150 |
| Vehicle wrap / van livery | 200×200 mm | 2-5 m | 150 |
| Wristband / lanyard | 12×12 mm | 5-10 cm | 600+ |
| Badge / name tag | 15×15 mm | 10-15 cm | 300+ |
| Ticket (printed) | 20×20 mm | 10-15 cm | 300 |
| Email / digital screen | 150×150 px | 15-30 cm | Screen (72-96) |
| TV / presentation slide | 200×200 px | 1-3 m | Screen |
Rule of thumb: The minimum QR code size should be 1/10th of the expected scanning distance. If people will scan from 1 metre away, make the code at least 10 cm wide. If they're scanning from 15 cm (phone held over a business card), 15 mm is enough.
Industry Use Cases & Tips
Every industry uses QR codes differently. Search for your industry to find specific use cases, recommended settings, and tips from people who've done it before.
| Industry | Use Case | Data Type | Error Level |
|---|---|---|---|
| Restaurants & Cafés | Digital menu | URL | M |
| Restaurants & Cafés | WiFi access | WiFi | H |
| Restaurants & Cafés | Google Reviews link | URL | M |
| Retail | Product details / reviews | URL | M |
| Retail | Loyalty programme signup | URL | M |
| Retail | Click-and-collect pickup | URL/ID | L |
| Real Estate | Property listing / virtual tour | URL | H |
| Healthcare | Patient check-in form | URL | M |
| Healthcare | Medication information | URL | M |
| Education | Classroom materials / handouts | URL | M |
| Education | Library book check-out | Alphanumeric | L |
| Events & Conferences | Ticket / check-in | Alphanumeric | M |
| Events & Conferences | Session schedule | URL | M |
| Events & Conferences | Networking / vCard exchange | vCard | M |
| Marketing & Advertising | Campaign landing page | URL | M |
| Marketing & Advertising | App download link | URL | M |
| Manufacturing | Inventory / asset tracking | Alphanumeric | Q |
| Construction | Safety data sheets | URL | H |
| Tourism | Audio guide / info point | URL | H |
| Fitness & Gyms | Class timetable / booking | URL | M |
| Non-profit | Donation page | URL | M |
| Government | Public forms / services | URL | M |
| Transport | Boarding pass / ticket | Alphanumeric | M |
| Automotive | Vehicle service history | URL | Q |
Showing 24 of 24 use cases.
Worked Example: Coffee Shop WiFi & Review Cards
The situation: Maya runs a small coffee shop in Manchester. She's tired of writing the WiFi password on the chalkboard (customers keep misreading it), and she wants more Google Reviews to boost her local SEO.
Step 1: WiFi QR Code
Maya types her network name "BeanScene_5G" and password "FlatWhite2024!" into the WiFi tab. She selects Level H error correction (the code will be on a table card that gets coffee spilled on it). She downloads it as PNG at 1024px.
Step 2: Google Reviews QR Code
She grabs her Google Business review link (search your business on Google → "Ask for reviews" → copy link). She pastes the URL and generates a second code at Level M, these cards stay behind the counter, so they won't get damaged.
Step 3: Print & Place
She prints the WiFi code at 40mm × 40mm on table tent cards (scanned from 30-40 cm). The review code goes on the receipt holder at 25mm × 25mm (scanned from 15-20 cm). Both include a short text label, "Scan for WiFi" and "Enjoyed your visit? Leave a review."
Result
WiFi complaints dropped to zero. Google Reviews went from 2-3 per month to 15-20 per month. The WiFi code paid for itself the first day, no more staff time spent spelling passwords. Total cost: printer ink and card stock.
Worked Example: vCard QR Code for a Business Card
The situation: Tariq is a freelance architect in Birmingham. He hands out printed business cards at networking events and wants people to save his contact details without typos.
Step 1: Fill in the vCard fields
Tariq selects the vCard tab. He fills in: Full Name "Tariq Hussain", Phone "+44 7911 123456", Email "[email protected]", Company "TH Architects Ltd", and Job Title "Director". He leaves the photo field empty: photos make vCard data longer and can cause scanning failures at small print sizes.
Step 2: Choose error correction and colours
His business cards are printed on uncoated stock so he chooses Level M. If the cards were going to be laminated or handled frequently, Level H would be safer. He enters his brand hex (#1a3a5c, a dark navy) as the foreground colour and leaves the background white for maximum contrast.
Step 3: Download and print size
He downloads as SVG and places it in his InDesign business card template at 25mm × 25mm. That is large enough to scan from 15 to 20 cm, the natural distance when someone holds a business card. He scans the proof on both an iPhone and a Samsung before sending to print.
Result
Contacts are saved instantly and accurately. No one asks him to spell his email address. The QR code also doubles as proof of digital fluency at architecture and construction networking events.
Colour & Design Best Practices
You can customise QR code colours, but there are real technical constraints. Get these wrong and your beautifully branded code won't scan.
Do
- • Dark foreground on light background
- • Minimum 40% contrast ratio between colours
- • Black on white for maximum reliability
- • Dark blue, dark green, or dark red on white
- • Test with 3+ different phones before printing
Don't
- • Light foreground on dark background (inverted)
- • Yellow or light colours as foreground
- • Gradient colours across the code
- • Red foreground on green background (colour blindness)
- • Transparent background without testing
Logo placement: If you're adding a logo to the centre, keep it within 20% of the total code area and use Level H error correction. The logo covers data modules, error correction recreates them, but only up to a point. A logo that's too large will break the code silently (it generates fine but won't scan).
Printing Tips
- Minimum print size: 2 cm × 2 cm for close-range scanning (menus, cards). 10 cm × 10 cm for posters scanned from 1-2 metres away. See the size guide above for specific scenarios.
- Quiet zone: Leave white space around the code equal to at least 4 modules wide. Crowding the code against other design elements makes scanning unreliable. This white border is part of the QR code specification, not optional decoration.
- Contrast: Dark modules on a light background. The scanner needs clear contrast. Avoid pastel-on-pastel colour schemes. When in doubt, stick with black on white.
- Surface matters: Glossy surfaces create glare under certain lighting. Matt or satin finishes scan more reliably, especially under fluorescent lights. If you must use gloss, test under the lighting conditions where it'll be displayed.
- Test before printing. Always scan the code with at least two different phones (one iOS, one Android) before sending it to print. What looks fine on screen can fail when printed at a different size or on a textured material.
- Download as SVG for print. SVG is vector-based and scales to any size without pixelation. PNG works for digital use, but if you're printing larger than 5 cm, SVG gives you crisp edges at any size.
When to choose SVG over PNG
SVG is a true vector file: the QR modules are mathematical paths, not pixels. Use SVG when:
- • Printing at A4 size or larger (poster, banner, signage, vehicle livery)
- • Placing the code into a professional design tool such as Illustrator, InDesign, or Affinity Publisher
- • Embedding a scalable code on a website where it must stay sharp at any screen size
Use PNG for emails, social media posts, PowerPoint slides, and anywhere a raster file is required. Note: if a frame is selected, only PNG export is available.
Common Mistakes
Encoding a dead URL
The QR code works perfectly, but the link is broken. Always test the destination URL before generating the code. Better yet, use a URL you control so you can fix it later without reprinting.
Printing too small
A code that scans on your screen might not scan when printed at 10mm on a business card. More data = more modules = larger minimum print size. Keep data short or print bigger.
No quiet zone
Butting the QR code right against text, images, or the edge of the paper. The white border around the code is required, scanners use it to find the edges of the code.
Low contrast colours
Light grey on white, or branded colours that look nice but don't have enough contrast. Phone cameras in auto mode struggle with low contrast, especially in dim lighting.
Oversized logo overlay
A logo covering more than 20-25% of the code area, even with Level H. The code generates and looks fine, but older phones and scanners can't read it. Test on budget phones, not just the latest iPhone.
HTTP instead of HTTPS
Some phones show a security warning for HTTP links, which scares users. Some browsers block HTTP entirely. Always use HTTPS URLs. It's 2026, there's no reason not to.
QR Code vs Barcode, When to Use Which
| Feature | QR Code | Barcode (1D) |
|---|---|---|
| Data capacity | Up to 7,089 characters | ~20-25 characters |
| Data types | URLs, text, WiFi, vCard, binary | Numbers, limited alphanumeric |
| Scan angle | Any angle (360°) | Must be roughly horizontal |
| Error correction | 7-30% damage recovery | None or very limited |
| Size (same data) | Compact square | Wider rectangle |
| Phone scannable | Built into every camera app | Needs a barcode scanner app |
| Best for | Consumer-facing, marketing, digital | Retail POS, inventory, logistics |
Bottom line: If a person will scan it with their phone, use a QR code. If a machine will scan it at a checkout or warehouse, a barcode is usually the standard. Many products now include both.
Testing & Troubleshooting
Code won't scan at all
Check contrast first, is the foreground significantly darker than the background? Then check the quiet zone. Then try reducing the data length. More data = more modules = harder to scan at small sizes.
Scans on iPhone but not Android (or vice versa)
Usually a contrast issue. iPhones tend to have better camera processing for low-contrast codes. Increase contrast or bump up the error correction level. Always test on both platforms.
WiFi code doesn't connect
Check the security type matches your router (WPA2 is most common). Check for typos in the password, the QR code encodes exactly what you type. Special characters like semicolons in passwords need escaping.
vCard doesn't save all fields
Some phones ignore vCard fields they don't recognise. Stick to the basics: name (FN), phone (TEL), email (EMAIL), and organisation (ORG). Extended fields like social media profiles are unreliable.
Code scans but shows garbled text
Character encoding issue. Make sure your text uses UTF-8. Non-Latin characters (Arabic, Chinese, Japanese) work but produce denser codes. Keep non-ASCII text short.
Printed code is blurry
You downloaded a PNG at too low a resolution and scaled it up. Either download at a higher pixel size (1024px or 2048px) or use SVG, it scales to any size without quality loss.
Related Tools
Image to Text (OCR)
Extract text from images and documents
Invoice Generator
Create professional invoices with QR payment codes
Image Compressor
Compress QR code images for web and email
Colour Converter
Convert custom colours for branded QR codes
Image to PNG
Convert QR code downloads to PNG format
JPG to PDF
Combine QR codes into print-ready PDF sheets
How to use this tool
Enter a URL, text, email, phone number, or WiFi credentials
Customise colours, error correction level (L / M / Q / H), and optionally add a logo
Download as PNG or as a true vector SVG for print or digital use
Common uses
- Linking to a website or landing page from printed materials
- Sharing WiFi credentials with guests instantly
- Adding contact details to business cards
- Creating scannable event tickets or menus
Share this tool
Frequently Asked Questions
Are the QR codes free to use commercially?
Is there a watermark on generated QR codes?
Do I need to create an account to use this tool?
How do I make a QR code for my website?
Can I use my brand colours in the QR code?
How do I generate multiple QR codes at once?
Do QR codes expire?
Can I add my logo to the QR code?
What size should I use for printing?
PNG or SVG, which should I download?
How do I create a WiFi QR code (WPA2, WEP, or open network)?
What is a vCard QR code?
How do I create a vCard QR code for a business card?
Is my data stored anywhere?
How many characters can a QR code hold?
What colours work best for QR codes?
What is a QR code frame?
Results are for general informational purposes only and should be checked before use. They are not professional advice. See our Disclaimer and Terms of Service.