QR Code Generator

Create QR codes for URLs, text, and more.

A QR code (Quick Response code) is a two-dimensional barcode that encodes text, URLs, contact info, or Wi-Fi credentials — scannable instantly by any smartphone camera. To generate a QR code online: type or paste your content in the input above, choose a size, and the QR code renders immediately. Click Download to save as PNG. QR codes generated here are standard format and work with all QR scanner apps. All generation happens locally in your browser using a JavaScript library — no data is uploaded to servers.

About QR Codes

QR (Quick Response) Codes are two-dimensional barcodes that can store a wide variety of information, such as URLs, text, contact details, or Wi-Fi credentials. They can be scanned instantly by most smartphone cameras.

Invented in 1994 by Denso Wave for tracking automotive parts in manufacturing, QR codes have evolved into a universal standard for bridging physical and digital worlds. Unlike traditional barcodes that store data in one dimension (horizontal lines), QR codes use a 2D grid of black and white squares, allowing them to store up to 7,089 numeric characters or 4,296 alphanumeric characters.

Common Uses

  • Website Links: Direct users to your website or social media profile.
  • Wi-Fi Access: Share your Wi-Fi network without typing passwords.
  • Contact Info: Share vCards for easy contact saving.
  • Payment Systems: Mobile payment apps (Venmo, PayPal, cryptocurrency wallets) use QR codes for instant transactions.
  • Marketing Campaigns: Print ads, product packaging, billboards, and business cards linking to landing pages or promotional content.
  • Authentication: Two-factor authentication (2FA) setup for apps like Google Authenticator, Authy, or Microsoft Authenticator.
  • Event Ticketing: Concert tickets, airline boarding passes, and conference check-ins.
  • Inventory & Logistics: Product tracking, warehouse management, and supply chain verification.
  • Restaurant Menus: Contactless menu access at tables became widespread during the COVID-19 pandemic.

How QR Codes Work

QR codes consist of several key components:

  • Position Markers: The three large squares in the corners help scanners detect orientation and correct skew angles (up to 360° rotation).
  • Alignment Patterns: Smaller squares distributed throughout larger codes help correct distortion and perspective issues.
  • Timing Patterns: Alternating black and white modules between position markers define the grid structure.
  • Format Information: Metadata near position markers indicates error correction level and mask pattern used.
  • Data and Error Correction: The remaining area stores your actual data plus Reed-Solomon error correction codes.
  • Quiet Zone: The required white border around the code (equivalent to 4 modules wide) helps scanners distinguish the code from its background.

QR Code Data Types and Formats

QR codes can encode different types of data with specific formatting conventions:

  • Plain Text: Any alphanumeric text up to 4,296 characters. Great for messages, serial numbers, or product descriptions.
  • URLs (http:// or https://): Most common use case. Simply enter the full URL including protocol. Example: https://example.com/page
  • Email (mailto:): Format: mailto:email@example.com?subject=Hello&body=Message text opens email client with pre-filled fields.
  • Phone Numbers (tel:): Format: tel:+1-555-123-4567 triggers phone dialer when scanned.
  • SMS (sms:): Format: sms:+1-555-123-4567?body=Your message here opens messaging app with pre-filled text.
  • Wi-Fi (WIFI:): Format: WIFI:T:WPA;S:NetworkName;P:Password;; (T=security type: WPA/WEP/nopass, S=SSID, P=password, H=hidden:true/false).
  • vCard (BEGIN:VCARD): Contact cards with name, phone, email, address. Example:
    BEGIN:VCARD
    VERSION:3.0
    FN:John Doe
    TEL:+1-555-123-4567
    EMAIL:john@example.com
    END:VCARD
  • Geolocation (geo:): Format: geo:37.7749,-122.4194 opens map apps at specified coordinates.
  • Calendar Events (BEGIN:VEVENT): iCalendar format for adding events directly to calendar apps.

Error Correction Levels

QR codes use Reed-Solomon error correction, allowing them to remain scannable even when partially damaged or obscured. Higher error correction creates denser codes but increases resilience:

  • Level L (Low): ~7% damage recovery. Best for digital displays or pristine printing where damage is unlikely.
  • Level M (Medium): ~15% damage recovery. Good balance for most use cases—recommended default for print materials.
  • Level Q (Quartile): ~25% damage recovery. Use for outdoor signage, labels, or surfaces prone to wear.
  • Level H (High): ~30% damage recovery. Essential for industrial applications, product tags, or when adding logos/branding to the code center.

Pro Tip: If you're placing a logo in the center of your QR code, use Level H error correction. The logo typically covers 20-30% of the code, so high error correction ensures reliable scanning.

Best Practices

  • Keep URLs short: Shorter data makes QR codes easier to scan. Use URL shorteners (bit.ly, tinyurl.com) for long links—this reduces code density and improves scan speed.
  • Test before publishing: Scan with multiple devices (iOS, Android) and apps to confirm readability. Test at the actual print size and distance users will scan from.
  • Use high contrast: Dark code on a light background scans best. Black on white is optimal—avoid low-contrast combinations like yellow on white or dark blue on black.
  • Minimum Size: For print, aim for at least 2×2 cm (0.8×0.8 inches) for close-range scanning. For billboards or posters viewed from distance, scale proportionally (rule of thumb: 10× the viewing distance).
  • File Format: Use PNG or SVG for print materials (vector formats scale perfectly). Avoid JPEG—compression artifacts can interfere with scanning.
  • Quiet Zone: Always maintain the white border (quiet zone) around your QR code. Never crop it or place it against busy backgrounds—this breaks scanner detection.
  • Placement Height: Position codes at eye level or slightly below for easiest scanning. Avoid placing them too high or low, requiring awkward angles.
  • Call to Action: Add text like "Scan for menu," "Scan to connect," or "Scan for 10% off" near the code. Users scan more when they know what to expect.
  • Lighting Conditions: Ensure codes are well-lit. Glossy or reflective surfaces can cause glare—use matte finishes for printed codes.
  • Dynamic vs Static: For marketing campaigns, consider dynamic QR codes (redirect through a URL shortener) so you can update destinations without reprinting codes.

Design Considerations

While QR codes are traditionally black and white squares, you can customize their appearance within limits:

  • Color Customization: Dark modules must have high contrast against light background. Navy on cream works; yellow on white does not. Maintain at least a 3:1 contrast ratio.
  • Adding Logos: You can place small logos in the center (covering up to 30% with Level H error correction). Keep logos simple and ensure they don't obscure critical position markers.
  • Rounded Corners: Some generators allow rounded or circular modules instead of sharp squares. Test thoroughly—excessive styling can reduce reliability.
  • Brand Colors: Match your brand palette, but avoid gradients, patterns, or transparency—solid colors only.
  • Avoid Inversion: Never use light modules on dark backgrounds for print (white on black paper). It works digitally but fails in many print scenarios due to ink bleed.

Real-World Scanning Examples

Example 1: Restaurant Menu QR Code

Scenario: A restaurant wants contactless menus on each table.

Input: https://example-restaurant.com/menu

Best Practices: Use Level M or Q error correction (tables get food spills). Print at 4×4 cm minimum on laminated cards. Add text: "Scan for menu." Test with various phone models under table lighting conditions.

Example 2: Wi-Fi Guest Network

Scenario: Office reception wants visitors to connect easily.

Input: WIFI:T:WPA;S:GuestNetwork;P:Welcome2024;;

Best Practices: Use Level H (cards may be handled frequently). Print on rigid card stock. Include instructions: "Scan to connect to guest Wi-Fi (no password entry needed)."

Example 3: Event Ticketing

Scenario: Concert venue generating e-tickets with unique IDs.

Input: https://tickets.example.com/verify?id=ABC123XYZ&event=concert2024

Best Practices: Use Level M for digital tickets (minimal damage risk). Embed ticket ID in URL for verification. Add timestamp or one-time token to prevent duplication. Ensure scanners work in low-light (concert venue) conditions.

Example 4: Product Authentication

Scenario: Luxury goods manufacturer adding authenticity verification.

Input: https://verify.brand.com/product/serial-8472649

Best Practices: Use Level H (tags may be scratched or worn). Consider tamper-evident printing. Link to SSL-secured verification page. Use unique serial per product for tracking. Small size acceptable (printed on product tags).

Common Scanning Issues and Troubleshooting

Problem: Code Won't Scan

  • Low Contrast: Ensure dark foreground and light background with 3:1+ contrast ratio. Test with grayscale conversion.
  • Size Too Small: Code must be at least 2×2 cm for close scanning. Scale up for distance viewing.
  • Missing Quiet Zone: The white border is mandatory—4 modules wide minimum. Don't crop edges or place against patterns.
  • Damaged Position Markers: The three corner squares are critical. Any damage here breaks detection—reprint if corners are obscured.
  • Lighting Issues: Too bright (glare) or too dark (underexposed). Use matte finishes and ensure even lighting.
  • Excessive Distortion: If printed on curved surfaces, codes may be unreadable. Use alignment patterns (larger codes) or flatten surface during scanning.

Problem: Code Scans to Wrong Content

  • URL Encoding: Special characters in URLs need proper encoding. Use a URL encoder tool before generating QR codes with query parameters.
  • Copy-Paste Errors: Invisible characters or line breaks can corrupt data. Validate input text before generation.
  • Protocol Missing: Always include https:// or http:// in URLs. Without protocol, scanners may treat it as plain text.

Problem: Code Works on iPhone but Not Android (or Vice Versa)

  • Data Format: Some formats (like Wi-Fi WIFI: format) have better support on Android. iOS supports most formats through Camera app, Android through Google Lens or QR readers.
  • App Differences: Native camera apps differ—test with third-party QR readers (QR Code Reader, Google Lens) if native camera fails.
  • Version Support: Older OS versions may not support certain QR data types (e.g., Wi-Fi QR codes require iOS 11+ or Android 10+).

Problem: Code with Logo Won't Scan

  • Logo Too Large: Logos should cover max 20-30% of code area. Reduce logo size or use Level H error correction.
  • Logo Placement: Center placement is safest—avoid covering position markers (corners) or alignment patterns.
  • Logo Contrast: Ensure logo doesn't blend with modules beneath it. Use solid white background behind logo.

QR Code Security and Privacy

Security Considerations

  • Malicious URLs: QR codes can hide malicious links. Users can't easily preview destination before scanning. Solution: Use QR code scanners that preview URLs before opening.
  • Phishing Attacks: Attackers can place fake QR codes over legitimate ones (parking meters, payment terminals). Always verify code source and destination URL.
  • Data Leakage: Sensitive data (passwords, tokens, private keys) in QR codes can be photographed or intercepted. Never encode secrets in publicly visible codes.
  • Tracking and Analytics: QR codes linking through URL shorteners or analytics platforms can track user behavior (location, device, scan time). Use privacy-respecting shorteners or direct links.

Best Security Practices

  • Verify Source: Only scan codes from trusted sources. Be wary of codes on public stickers or posters.
  • Preview URLs: Use QR scanner apps that show destination URLs before opening. Check for misspellings or suspicious domains.
  • HTTPS Only: Ensure QR codes link to HTTPS sites, not HTTP. Avoid entering sensitive data on sites reached via QR codes from untrusted sources.
  • Sensitive Data: For authenticator apps or cryptocurrency wallets, scan codes only on your personal device in private—never in public where cameras might capture your screen.
  • Tamper Evidence: For critical applications (payment terminals, official documents), use tamper-evident materials or holographic overlays.

Related QR Workflows

Privacy & Security

This QR Code Generator runs entirely in your browser. The data you enter is converted into a QR code image locally on your device and is never transmitted to any server. Your URLs, text, and personal information remain private. The generated QR code image is created client-side using JavaScript canvas rendering—no external API calls or tracking.

Frequently Asked Questions

Can I encode long URLs?

Yes, but very long URLs create denser codes that are harder to scan. QR codes can technically store up to 4,296 alphanumeric characters, but codes with more than 300 characters become very dense and require close-range, high-resolution scanning. Consider using a URL shortener (bit.ly, tinyurl.com) to reduce length—this creates simpler, more scannable codes.

Is my data uploaded?

No. QR codes are generated locally in your browser and are not sent to a server. All processing happens client-side using JavaScript—your data never leaves your device. This makes the tool safe for generating codes with sensitive information like Wi-Fi passwords or personal contact details.

What formats work best?

PNG is a safe default for sharing and printing. Keep the code sharp and avoid compression artifacts. For print materials, PNG at 300 DPI or higher ensures crisp module edges. For scalable applications (large banners, billboards), use SVG format which maintains quality at any size. Avoid JPEG—lossy compression creates artifacts that interfere with scanning.

Can QR codes expire or be changed after creation?

Static QR codes (directly encoded data) cannot be changed once generated—the data is permanently embedded. However, you can create "dynamic" QR codes by encoding a URL that redirects to your actual content. Update the redirect destination without reprinting codes. Services like Bitly, QR.io, or custom redirect scripts enable this. Trade-off: dynamic codes require an active redirect service and internet connection to work.

How small can I print a QR code?

Minimum practical size is 2×2 cm (0.8×0.8 inches) for close-range scanning (10-20 cm distance). Smaller codes are technically scannable but require steady hands and good lighting. For business cards, 2.5×2.5 cm works well. For posters scanned from 1 meter away, use at least 10×10 cm. Rule of thumb: code size should be at least 10% of the scanning distance.

Do QR codes work in all countries and on all phones?

Yes, QR codes are an international ISO standard (ISO/IEC 18004) and work universally. Most smartphones manufactured since 2017 have built-in QR scanning in their native camera apps (iOS 11+, Android 9+). Older devices may require dedicated QR reader apps from app stores. The codes themselves are language-agnostic—only the encoded data (URLs, text) may have language-specific content.

Can I use colors other than black and white?

Yes, but maintain high contrast. Dark modules on light backgrounds work best—navy on cream, dark green on white, etc. Ensure at least a 3:1 contrast ratio for reliable scanning. Avoid: light colors on white (yellow, light gray), dark colors on black (navy, dark purple), or gradients/patterns. Test your colored codes with multiple devices before printing in large quantities.

What's the difference between QR codes and barcodes?

Traditional barcodes (UPC, EAN) are 1-dimensional (horizontal lines) and store 8-30 characters, primarily for product identification. QR codes are 2-dimensional (grid of squares) and store up to 4,296 characters, enabling URLs, contact cards, Wi-Fi credentials, and more. QR codes also include built-in error correction (up to 30% damage recovery) while barcodes have minimal redundancy. Barcodes require dedicated scanners; QR codes work with smartphone cameras.

Can I track how many times my QR code is scanned?

Only if you use a dynamic QR code with a tracking URL. Encode a link to a redirect service (Bitly, QR.io, Google Analytics UTM parameters, or custom server) that logs scans. The redirect service captures metadata: scan count, timestamp, device type, geographic location, and referrer. Static QR codes (directly encoded data) have no tracking capability—they're just encoded data with no server interaction.

Should I use error correction if I'm adding a logo to my QR code?

Yes, absolutely use Level H (High) error correction if placing a logo in the center. Logos typically cover 20-30% of the code area, and Level H allows up to 30% damage recovery. Without high error correction, logos may obscure critical data modules, making the code unscannable. Keep logos simple, centered, and ensure they have a solid white background to maximize contrast with underlying modules.

Practical Guide

Use this checklist to get reliable results from QR Code Generator and avoid common errors.

Common Use Cases

  • Create QR codes for URLs or event check-ins.
  • Share WiFi access quickly with guests.
  • Embed QR codes on print collateral.

Input Checklist

  • Confirm the source format and delimiter or encoding.
  • Use clean headers and consistent field naming.
  • Run one sample conversion before batch processing.

How to Get Better Results

  1. Start with a representative sample in QR Code Generator and validate one test run first.
  2. Use clean source files, then verify output in the destination application or editor.
  3. Run one test sample first before batch processing larger files.
  4. Keep source and output naming conventions aligned for easier QA and rollback.

Expected Output Checklist

  • Output files aligned with common platform compatibility requirements.
  • Cleaner file organization for uploads, sharing, and archival workflows.
  • Repeatable conversion results suitable for batch tasks and handoffs.

Privacy and Data Handling

File processing happens locally in your browser, keeping files private on your device.