QR Code Generator

Create custom QR codes with colors, logos, frames, and presets. Download as PNG or SVG instantly.

Higher correction allows the QR code to be partially damaged while still readable.
Add a text label below the QR code.

QR code will appear here

What Is a QR Code?

A QR code (Quick Response code) is a two-dimensional matrix barcode that encodes data in a pattern of black and white squares. Invented in 1994 by Masahiro Hara at Denso Wave for tracking automotive parts, QR codes are now the global standard for bridging physical and digital experiences. Unlike traditional barcodes that store data in one dimension, QR codes use both horizontal and vertical axes to store up to 7,089 numeric characters or 4,296 alphanumeric characters.

QR codes include built-in error correction based on Reed-Solomon algorithms, allowing them to remain scannable even when partially damaged. Every modern smartphone with iOS 11+ or Android 9+ can scan QR codes natively through the camera app without installing additional software.

How to Generate a QR Code

Create a custom QR code in five steps using this free browser-based tool.

  1. Choose a preset or custom mode: Select URL, Email, SMS, or enter custom text. Each mode formats the data correctly for scanners.
  2. Enter your content: Fill in the required fields for your chosen format. For email, provide the address, subject, and body. For SMS, enter the phone number and message.
  3. Customize appearance: Adjust size (128px to 1024px), foreground and background colors, error correction level, and dot style (square or rounded).
  4. Generate: Click "Generate QR Code" to create your custom QR code instantly in the preview panel.
  5. Download: Save as PNG for web sharing and print, or SVG for scalable vector graphics suitable for large-format printing.

QR Code Examples by Format

Each QR code format encodes data differently. Here is what the tool generates for each mode.

  • URL mode: Entering https://example.com/landing encodes the full URL. When scanned, the phone opens the link directly in the default browser.
  • Email mode: Entering recipient [email protected], subject "Product Inquiry", and body "I'd like pricing details" generates a mailto: link. Scanning opens the user's email app with all fields pre-filled.
  • SMS mode: Entering phone +15551234567 and message "RSVP Yes" generates an sms: link. Scanning opens the messaging app with the number and message ready to send.
  • Custom text: Entering any free-form text like a serial number, coupon code, or paragraph of text encodes it as plain data. The scanner displays the text for the user to read or copy.

Error Correction Levels Explained

QR codes use Reed-Solomon error correction to remain scannable when partially obscured or damaged. Choose the right level based on where the QR code will be displayed.

  • Low (L) -- 7% recovery: Best for clean digital displays, screens, and emails where damage is unlikely. Produces the smallest, simplest QR code.
  • Medium (M) -- 15% recovery: The default. Works well for most printed materials like flyers, business cards, and product packaging.
  • Quartile (Q) -- 25% recovery: Recommended for outdoor signage, labels on products that may get scratched, and any environment with moderate wear.
  • High (H) -- 30% recovery: Required when placing a logo or image over the center of the QR code. Also best for harsh environments where significant damage is expected.

QR Code Generator Features

  • Multiple formats: URL, Email, SMS, and custom text support with proper data encoding for each type.
  • Customizable colors: Change foreground and background colors to match your brand. Maintain at least 4:1 contrast ratio for reliable scanning.
  • Adjustable size: Generate QR codes from 128px to 1024px to suit any use case from thumbnails to posters.
  • Error correction levels: Choose from Low (7%), Medium (15%), Quartile (25%), or High (30%) recovery.
  • Frame text: Add a custom call-to-action label below your QR code, such as "Scan me!" or "Visit our site".
  • Download options: Save as PNG for raster images or SVG for lossless vector graphics.
  • Client-side processing: All generation happens in your browser. No data is uploaded to any server.

QR Code Design Best Practices for Maximum Scannability

Creating a functional and aesthetically pleasing QR code requires balancing visual appeal with technical reliability. Following these evidence-based design principles ensures your QR codes work consistently across all devices and scanning conditions.

Color Contrast and Scanner Compatibility

The Web Content Accessibility Guidelines (WCAG) recommend a minimum contrast ratio of 4.5:1 for text readability. QR codes require at least 4:1 contrast between foreground (data modules) and background for reliable optical recognition. The safest approach is black foreground on white background, which provides a 21:1 contrast ratio.

If you need branded colors, use a dark, saturated color for foreground modules and a light, desaturated color for the background. Navy blue (#001F3F) on pale yellow (#FFF9E6), for example, provides sufficient contrast. Avoid pastel-on-pastel or neon combinations. Test by taking a photo of your QR code in dim lighting and verifying that your phone's camera app recognizes it immediately.

Minimum Print Size and Viewing Distance

The relationship between QR code physical size, viewing distance, and module count determines scannability. The formula is: Minimum Size (cm) = Viewing Distance (cm) / 10. If users scan from 30 cm away (typical arm's length), the QR code should be at least 3 cm across.

For business cards scanned at 20 cm, use a minimum of 2 cm x 2 cm. For posters scanned from 100 cm away, use at least 10 cm x 10 cm. Always add a quiet zone of at least 4 modules (the size of 4 individual squares) of white space around the entire QR code. Without this border, edge detection algorithms may fail.

Logo Placement and Error Correction Strategy

Placing a logo in the center of a QR code is visually appealing but reduces scannability. The center typically contains critical timing and version information. If you must include a logo, keep it under 20% of the total QR code area and set error correction to High (30% recovery). Test the QR code with logos on both high-end and budget smartphones before printing.

Alternatively, place the logo adjacent to the QR code rather than overlaid on it. This preserves 100% of the error correction capacity for physical damage like scratches, folds, or fading.

Data Optimization for Faster Scans

QR code complexity scales with data length. A 10-character URL produces a Version 1 code with 21x21 modules. A 300-character URL requires Version 10 with 57x57 modules, making it harder to scan at small sizes. Use URL shorteners like Bitly or TinyURL before encoding to reduce module density.

For tracking analytics, append UTM parameters before shortening: https://example.com/product?utm_source=qr&utm_medium=print&utm_campaign=spring2026. This lets you measure scan rates and conversions in Google Analytics while keeping the QR code compact.

Real-World QR Code Applications Across Industries

QR codes have evolved from warehouse tracking tools to consumer-facing marketing assets. Understanding how different sectors deploy QR codes helps you design codes optimized for your specific use case.

Retail and E-commerce Product Packaging

Product manufacturers print QR codes on packaging to link customers to instruction manuals, warranty registration, recipe ideas, or replenishment ordering pages. A coffee roaster might print a QR code on each bag linking to brewing instructions, tasting notes, and a "reorder" button. This extends the product experience beyond the physical package and captures customer emails for retention marketing.

When designing for product packaging, use High error correction since the code may get scratched during shipping or handling. Print at minimum 2.5 cm square. Test scanning on reflective or curved surfaces, as foil-wrapped packages can cause glare.

Event Ticketing and Access Control

Concerts, conferences, and sports events use unique QR codes on each ticket for entry verification. The event organizer generates codes encoding attendee IDs or ticket serial numbers, then scans them at the entrance with a validation app. This prevents counterfeit tickets and provides real-time attendance data.

For ticketing, security is paramount. Use High error correction and test that the QR code cannot be photographed and shared. Many ticketing systems use rotating QR codes that change every 60 seconds, but static codes suffice if paired with backend validation that marks each code as "used" after first scan.

Restaurant Contactless Menus

Post-pandemic, restaurants widely adopted QR code menus to reduce physical touchpoints. Diners scan a code printed on table tents or stickers to access a mobile-friendly menu on their phone. This setup eliminates printing costs for menu updates and enables features like allergen filtering or multi-language support.

For restaurant use, size the QR code at minimum 3 cm x 3 cm since scanning occurs in variable lighting. Laminate printed codes for water and spill resistance. Link to a mobile-optimized page with large fonts (minimum 16px body text) and clear section headers. Consider appending a table number parameter to the URL (?table=5) so orders route to the correct location.

Real Estate Property Marketing

Real estate agents place QR codes on "For Sale" signs, property flyers, and listing brochures to drive potential buyers to virtual tours, photo galleries, and detailed property specifications. Each listing gets a unique QR code linking to its dedicated webpage. This bridges offline and online marketing while tracking which properties generate the most interest.

Outdoor signage requires weather-resistant materials and large print sizes (minimum 10 cm x 10 cm) for scanning from the curb. Link to mobile-optimized landing pages with fast load times since prospects scan in the field on cellular connections. Track scan rates by neighborhood to identify high-traffic locations for future signs.

Advanced QR Code Techniques for Power Users

Dynamic vs. Static QR Codes

This generator creates static QR codes where the encoded data is permanently fixed at generation time. Static codes work forever, never expire, and require no backend server. The URL is embedded directly in the modules, so anyone with a QR reader can decode it without internet access.

Dynamic QR codes, by contrast, encode a short redirect URL that points to a backend service which then forwards to the final destination. This allows you to change the destination URL after printing without regenerating the QR code. However, dynamic codes depend on the redirect service staying online and often require paid subscriptions. For most use cases, static codes are simpler and more reliable.

Tracking QR Code Performance with UTM Parameters

Google Analytics cannot differentiate between visitors who typed your URL, clicked a link, or scanned a QR code unless you tag each source. UTM parameters added to your URL before encoding let you track QR code campaigns separately.

Example: https://yoursite.com/product?utm_source=qr&utm_medium=poster&utm_campaign=store_promo_jan2026

In Google Analytics, navigate to Acquisition → All Traffic → Source/Medium to see scan volumes for each QR code campaign. Set up custom reports to measure conversion rates from QR visitors compared to other traffic sources.

Multi-Language QR Codes for International Audiences

A single QR code can detect the scanner's device language and redirect to the appropriate translation. Implement this with a server-side script that reads the Accept-Language HTTP header and serves localized content. The QR code links to yoursite.com/qr-landing, which redirects Spanish speakers to /es/landing and French speakers to /fr/landing.

Alternatively, encode a URL with a language picker page where users tap their preferred language before proceeding to the content. This works without server-side logic and gracefully handles languages you haven't translated yet.

Frequently Asked Questions

A QR code (Quick Response code) is a two-dimensional barcode that stores data in a grid of black and white squares. When scanned with a smartphone camera or QR reader app, the encoded data is instantly decoded and acted upon. QR codes can store URLs, plain text, email addresses, phone numbers, WiFi credentials, and contact cards. They were invented in 1994 by Masahiro Hara at Denso Wave for tracking automotive parts and are now used globally for marketing, payments, and information sharing.

This generator supports four content formats: Custom text or URL (any free-form text), URL (website links), Email (mailto links with optional subject and body), and SMS (text messages with optional message body). For WiFi network QR codes or vCard contact cards, use our dedicated WiFi QR Code Generator or vCard QR Code Generator tools.

PNG is a raster image format best for sharing on social media, embedding in documents, or printing at a fixed size. SVG is a vector format that scales to any size without losing quality, making it ideal for large-format printing like banners, posters, and signage. Choose PNG for quick sharing and SVG when you need the QR code at multiple sizes or very large dimensions.

Error correction allows a QR code to remain scannable even if part of it is damaged or obscured. There are four levels: Low (L) recovers 7% of data, Medium (M) recovers 15%, Quartile (Q) recovers 25%, and High (H) recovers 30%. Higher correction means more data redundancy, which increases the density of the QR code. Use High when placing logos over the code or when the code may be physically damaged. Use Low for clean digital displays where damage is unlikely.

Yes, you can customize both foreground and background colors using the color pickers. The foreground color applies to the dark data modules and the background color fills the light areas. Always maintain high contrast between the two colors for reliable scanning. Dark foreground on light background works best. Avoid using very light foreground colors or very dark background colors, as most scanners expect a dark-on-light pattern.

Yes, this QR code generator is completely free with no signup, watermarks, or usage limits. All QR code generation happens in your browser using JavaScript, so no data is sent to any server. You can generate and download as many QR codes as you need for personal or commercial use.

A QR code can store up to 7,089 numeric characters, 4,296 alphanumeric characters, or 2,953 bytes of binary data at the lowest error correction level. In practice, shorter content produces simpler QR codes that are easier to scan. For URLs, keeping the link under 100 characters is recommended. If you need to encode long URLs, consider using a URL shortener first to keep the QR code compact and scannable.

Static QR codes like those generated by this tool never expire. The data is permanently encoded in the pattern of squares and will work forever as long as the image remains intact. However, if the QR code links to a URL, that webpage must remain online for the code to be useful. Dynamic QR codes that use redirect services may expire if the service shuts down or if you stop paying for the subscription.