QR Code preview

QR Code

Generate QR codes for URLs, text, email addresses, and other data types. Download as PNG or SVG. The codes are static, never expire, and work without an internet connection.

Key features

  • QR support for URL, Text, Email, and more
  • High resolution, print-ready PNG/SVG output
  • Permanent codes that work even without an internet connection
  • Optimized design for fast scanning

Guide

QR codes are two-dimensional barcodes that store data in a grid of black and white squares. They can encode URLs, plain text, WiFi credentials, email addresses, phone numbers, vCard contacts, calendar events, and more. Any smartphone camera can read them instantly, making them the standard bridge between physical and digital content. Over 10 billion QR codes were scanned worldwide in 2025, and adoption continues to grow. This tool generates QR codes in your browser from any input you provide. You can customize size, error correction level, and download the result as an image file. No data is sent to a server. ## How QR Codes Work A QR code (Quick Response code) stores data as a pattern of dark and light modules (squares) in a 2D grid. The code includes several fixed patterns that enable scanners to read the data reliably: Finder patterns: the three large squares in the corners (top-left, top-right, bottom-left) help scanners detect the presence and orientation of the code. No matter how the code is rotated, these patterns let the scanner determine the correct reading direction. Alignment patterns: smaller square patterns distributed across the code that help scanners correct for perspective distortion. When you scan a QR code at an angle, these patterns maintain accuracy. Larger QR codes have more alignment patterns. Timing patterns: alternating dark and light modules in a line between the finder patterns that establish the grid coordinate system. They tell the scanner exactly where each row and column is. Format information: encoded near the finder patterns, this tells the scanner which error correction level and mask pattern the code uses. The data area encodes your content using one of four modes: numeric (digits only, most efficient at 3.3 bits per character), alphanumeric (digits, uppercase letters, and symbols $ % * + - . / :, at 5.5 bits per character), byte (any 8-bit data including UTF-8 text, at 8 bits per character), and kanji (Japanese characters, at 13 bits per character). The encoder automatically selects the most efficient mode, and can switch between modes within a single QR code. QR codes have 40 versions ranging from 21x21 modules (version 1) to 177x177 modules (version 40). Higher versions store more data. A version 1 code holds about 17 numeric digits, while version 40 holds up to 7,089 digits. For typical URLs (50-100 characters), versions 3-6 are common. The tool automatically selects the smallest version that fits your data. Error correction is built in using Reed-Solomon codes. There are four levels: L (7% recovery), M (15%), Q (25%), and H (30%). Higher error correction means more redundancy, which makes the code physically larger but allows it to remain scannable even when partially damaged, dirty, or obscured. If you plan to print QR codes on materials that might get scratched, folded, or stained, use Q or H level. ## Generating QR Codes for Different Data Types URL: The most common use case. Enter any URL and the tool generates a QR code that opens that URL when scanned. Include the full URL with https:// prefix. Shorter URLs produce smaller, cleaner QR codes that are easier to scan from a distance. If your URL is long (100+ characters), consider using a URL shortener or redirect service. Plain text: Enter any text string. When scanned, the phone displays the text. Useful for sharing short messages, reference numbers, serial numbers, or identifiers. The maximum text length depends on the character set, but practical QR codes work best with under 300 characters of text. WiFi credentials: The encoded format is WIFI:T:WPA;S:NetworkName;P:Password;;. This tool has a WiFi input mode where you fill in the network name, password, and security type (WPA, WPA2, WEP, or open). When someone scans the code, their phone offers to connect to the network automatically. No typing required. This is valuable for offices, cafes, Airbnb rentals, hotels, and conference venues. Print the QR code near the router or at the entrance. Email: The mailto: format triggers an email compose screen. mailto:user@example.com?subject=Hello&body=Message creates a QR code that opens the email client with pre-filled recipient, subject, and body. Useful for feedback forms, support requests, and business cards. Phone number: The tel: format initiates a phone call. tel:+15551234567 opens the dialer with the number filled in. Always use international format with country code for reliability. vCard: For sharing contact information. The vCard format includes name, phone, email, address, organization, title, and other contact fields in a structured text format. Scanning the QR code adds the contact to the phone's address book. A typical vCard generates a larger QR code due to the amount of data. SMS: The sms: format opens the messaging app. sms:+15551234567?body=Message pre-fills the recipient and message text. Useful for customer feedback, opt-in confirmations, and event RSVPs. Calendar event: The VEVENT format adds an event to the phone's calendar with title, date/time, location, and description. Useful on event posters, conference schedules, and invitations. Geolocation: The geo: format opens a map at specific coordinates. geo:40.7128,-74.0060 opens a map centered on those coordinates. Useful for event locations, store finders, and meeting points. ## Practical Use Cases Business cards: Add a QR code to your card that contains your vCard. Instead of manually typing your contact details, the recipient scans the code and your full contact is saved with name, phone, email, company, title, and website. This eliminates data entry errors and makes your contact information more likely to be saved. Product packaging: Link to user manuals, warranty registration, ingredient lists, nutritional information, authenticity verification pages, or instructional videos. QR codes on packaging give you unlimited space for information that does not fit on the physical label. Pharmaceutical companies use QR codes for drug information, dosage instructions, and batch tracking. Restaurant menus: QR codes on tables linking to digital menus became standard after 2020. Generate a code for your menu URL and print it on table tents, stickers, or placemats. Digital menus can be updated instantly without reprinting. Some restaurants link to ordering systems where customers can order and pay from their phone. Event tickets: Encode a unique ticket ID or URL. The entry scanner reads the code and validates the ticket against a database. This prevents ticket forgery and speeds up entry. Concert venues, sports stadiums, airlines, and transit systems all use QR code tickets. Payment: Many payment systems use QR codes. PayPal, Venmo, Cash App, and numerous international payment systems (WeChat Pay, Alipay, Pix in Brazil, UPI in India) use QR codes for merchant payments. While this tool generates standard QR codes (not payment-system-specific ones), you can encode payment links. Asset tracking: Generate QR codes with unique identifiers for equipment, inventory, documents, or IT assets. Scanning the code pulls up the asset's record in your management system. Libraries use QR codes on books, hospitals use them on equipment, and warehouses use them on storage locations. WiFi sharing: Print a QR code near your router or at the entrance to your office. Visitors scan it and connect without asking for the password. This is especially useful for guest networks where you do not want to share the actual password string. Marketing and print media: Add QR codes to posters, flyers, magazine ads, direct mail, and billboards. Link to landing pages, promotional videos, discount codes, or app downloads. Track scans using UTM parameters in the URL. ## Size and Scanning Distance The physical size of a printed QR code determines the maximum scanning distance. A general rule: the scanning distance is roughly 10 times the module size (the smallest square in the code). If each module is 1mm, the code can be scanned from about 10mm (1cm) away. For a code scannable from 1 meter, each module needs to be about 10mm, making the total code roughly 25-35cm depending on version. Minimum recommended sizes for printing: - Business card: 2cm x 2cm (0.8 inches) - Table tent or flyer: 3-4cm x 3-4cm - Poster (arm's length): 5-10cm x 5-10cm - Banner or sign (1-2 meters): 15-20cm x 15-20cm - Billboard (5+ meters): calculate based on expected scanning distance Always include a quiet zone (white border) around the QR code of at least 4 modules wide. Without the quiet zone, scanners may fail to detect the code boundaries because they cannot distinguish where the code ends and the surrounding content begins. Most QR code generators add this automatically, but verify it when placing the code in a design layout. ## Error Correction Level Selection Level L (Low, 7%): Use when the code will be displayed on screens or printed on clean, flat materials with no risk of damage. Produces the smallest, cleanest codes. Best for digital-only use (websites, apps, presentations). Level M (Medium, 15%): Default for most use cases. Good balance between size and resilience. Use for standard printed materials like business cards, flyers, and documents. Level Q (Quartile, 25%): Use when the code will be printed on materials that might get scratched, folded, or partially covered. Good for product packaging, outdoor signage, and materials handled frequently. Level H (High, 30%): Use when you want to place a logo in the center of the QR code or when the code will be exposed to harsh conditions (weather, industrial environments). The 30% redundancy means up to 30% of the code area can be obscured while still scanning successfully. ## Adding Logos to QR Codes You have likely seen QR codes with a company logo in the center. This works because of error correction. With level H (30% recovery), you can obscure up to 30% of the modules with a logo and the code remains scannable. The logo should be centered, cover no more than 20-25% of the code area (leaving a safety margin), and have a white border around it to maintain contrast. When placing a logo, always test the resulting QR code on multiple devices and in different lighting conditions. Some scanners handle partially obscured codes better than others. Test with at least an iPhone, a recent Android phone, and an older device. Test in both bright and dim lighting. ## Common Mistakes Mistake 1: Encoding unnecessarily long URLs. A URL like https://www.example.com/products/item-detail?utm_source=qrcode&utm_medium=print&utm_campaign=summer2026&ref=card-back creates a dense, hard-to-scan QR code. Use a URL shortener or set up a redirect to keep the encoded URL short. https://example.com/go/summer is much better. Shorter URLs produce less dense QR codes that scan faster and from greater distances. Mistake 2: Not testing the QR code after generating it. Always scan your QR code with at least two different phones before printing. Verify the URL is correct, the page loads properly on mobile, and there are no typos in the encoded data. Print costs money, and a broken QR code on 10,000 flyers is an expensive mistake. Mistake 3: Low contrast or colored QR codes. QR codes rely on contrast between dark and light modules. Dark blue on light blue is harder to scan than black on white. If you customize colors, ensure a minimum contrast ratio of 4:1 between the dark and light modules. Never invert colors (light modules on dark background) as many scanners expect dark-on-light. Red dark modules on white work well. Yellow on white does not. Mistake 4: Linking to non-mobile-friendly pages. The person scanning a QR code is using a phone. If your linked page is not responsive, loads slowly on mobile networks, or requires Flash, you are creating a frustrating experience. Test the linked page on a phone before encoding the URL. Mistake 5: Printing at insufficient resolution. QR codes should be printed at a minimum of 300 DPI. Export the image at a large pixel size (at least 1000x1000 pixels) and let the printer downscale, rather than upscaling a small 200x200 pixel image. Vector formats (SVG) are ideal for print because they scale without pixelation. Mistake 6: Not using a dynamic redirect. If you print 50,000 brochures with a direct link and the URL changes, all those brochures become useless. Use a redirect URL you control. ## Advanced Tips For dynamic QR codes (where you can change the destination URL after printing), use a redirect URL that you control. Create a short URL like https://yourdomain.com/qr/menu that redirects to the actual menu page. When the menu moves to a new URL, update the redirect without reprinting the QR code. This is essential for any printed material. For analytics, append UTM parameters to your URLs before encoding them. utm_source=qrcode, utm_medium=print, utm_campaign=specific-campaign tells you exactly where the traffic came from in Google Analytics. You can create different QR codes with different utm_campaign values for different print materials and compare their scan rates. When generating QR codes for production materials, always create the code as an SVG or high-resolution PNG (at least 2000x2000 pixels). SVGs scale to any size without pixelation and produce the sharpest print results. For batch generation (hundreds of codes with unique data), use a library like qrcode in Node.js, python-qrcode in Python, or the ZXing library in Java. For accessibility, always include a text alternative near the QR code. Not everyone can scan QR codes (they may not have a camera, may have a visual impairment, or may be using a desktop computer). Include the short URL as text below the code: scan this code or visit example.com/go/menu. For security-sensitive applications, consider the risk that someone could replace your QR code with a malicious one (QR phishing or quishing). In physical locations, use tamper-evident stickers and inspect QR codes periodically. Educate users to check the URL before taking action. ## QR Code Standards and Specifications The QR code format is specified in ISO/IEC 18004:2015. This international standard defines the symbol structure, data encoding, error correction, and reference decoding algorithm. Compliance with this standard ensures that QR codes generated by any tool can be read by any compliant scanner. Micro QR codes are a smaller variant defined in the same standard. They use only one finder pattern (instead of three) and range from 11x11 to 17x17 modules. Micro QR codes store less data but take up less space, making them useful for very small labels or components where space is extremely limited. iQR codes are a rectangular variant that can be printed in non-square shapes. They are less common than standard QR codes and not all scanners support them. For maximum compatibility, always use standard QR codes (not Micro QR or iQR). Standard QR codes are supported by every smartphone camera app, every barcode scanner, and every QR code reader application. ## QR Code Colors and Design The default black-on-white QR code offers maximum contrast and scan reliability. However, you can customize colors within certain constraints. Dark modules must be darker than light modules. The scanner relies on contrast to distinguish between the two states. Maintain a minimum contrast ratio of 4:1. You can test contrast using any accessibility contrast checker. Good color combinations: dark blue on white, dark green on white, dark red on white, black on light yellow, dark purple on white. These all provide strong contrast. Bad color combinations: yellow on white (insufficient contrast), light blue on white (insufficient contrast), red on green (colorblindness issue), any two colors with similar lightness values. Never invert colors (light modules on dark background) unless you test extensively. While the QR specification does not require a specific orientation of light vs. dark, many smartphone camera apps and older scanners assume dark-on-light and may fail with inverted codes. Gradients across QR code modules can reduce scan reliability because they change the contrast locally. If you apply a gradient, ensure that every module maintains sufficient contrast with its neighbors. ## Testing QR Codes Always test generated QR codes before using them in production. A systematic testing approach includes: Device testing: scan with at least three different devices (iPhone, recent Android, older Android). Different camera apps use different scanning libraries with varying tolerance for density, contrast, and partial damage. Distance testing: scan from the intended reading distance. A QR code on a poster should be scannable from 1-2 meters. A code on a business card should work at arm's length (30-50cm). Lighting testing: scan in bright light, dim light, and under fluorescent lighting. Screen glare and shadows can reduce scan reliability for printed codes. Angle testing: scan from different angles (straight on, 30 degrees, 45 degrees). The finder patterns enable angle correction, but extreme angles can still cause failures. Print testing: if the code will be printed, test the actual printed version, not just the screen version. Printing can reduce contrast, blur edges, and change colors depending on the printer and paper stock.

Frequently asked questions

When will my QR code be deleted?

Never. The codes you create are static and data is embedded inside.

How should I test the QR code?

Just open your phone's camera and hold it; it will redirect you instantly.

Related guides

Related WebRecast sections