Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
QR codes bridge the gap between the physical and digital worlds.
A quick scan with a smartphone camera opens a website, connects to a WiFi network, adds a contact, or triggers any number of actions without typing a single character. This QR code generator creates QR codes for any content directly in your browser, with full control over size, error correction, and visual style.
Enter a URL, plain text, WiFi credentials, email address, phone number, or any other data, and the tool generates a scannable QR code instantly. Adjust the error correction level to balance data density against resilience to damage or partial obscuring. Download the result as a PNG for digital use or SVG for print materials that need to scale to any size without losing quality.
Whether you are adding QR codes to marketing materials, creating WiFi access cards for your office, generating codes for product packaging, or building a contactless menu for a restaurant, this tool produces production-ready QR codes without requiring a design tool or paid subscription.
QR (Quick Response) codes are two-dimensional barcodes that encode data in a grid of black and white modules (squares). Invented in 1994 by Denso Wave for tracking automotive parts, QR codes became a consumer technology when smartphone cameras gained the ability to read them natively, eliminating the need for dedicated scanner apps.
A QR code encodes data using a specific structure. The three large squares in the corners (called finder patterns) allow a scanner to detect the code and determine its orientation regardless of angle. Smaller alignment patterns help correct for distortion when the code is scanned at an angle or printed on a curved surface. Timing patterns (alternating black and white modules between finder patterns) help the decoder determine the grid dimensions.
The remaining modules contain the actual encoded data, format information (error correction level and mask pattern), and version information (for larger codes). The data is encoded using one of four modes depending on the content type: numeric mode (most efficient for digits), alphanumeric mode (digits plus uppercase letters and a few symbols), byte mode (any 8-bit data including UTF-8 text), and kanji mode (Japanese characters).
The choice of mode affects how much data can fit in a given code size. Numeric mode is the most compact, fitting up to 7,089 digits in the largest QR code version. Byte mode, which is used for URLs and general text, fits up to 2,953 bytes. In practice, most QR codes encode short URLs (under 100 characters), which results in small, easy-to-scan codes.
One of the most important features of QR codes is built-in error correction using Reed-Solomon codes. This allows a QR code to be scanned successfully even when part of it is damaged, dirty, or obscured.
There are four error correction levels:
Higher error correction levels increase the physical size of the code because additional redundant data modules are needed. For a given data payload, a Level H code will have more modules (and therefore need to be printed larger) than a Level L code. Choose the lowest level that meets your reliability needs to keep the code as compact and scannable as possible.
QR codes can encode any text data, but certain standardized formats trigger specific actions when scanned by smartphones.
URLs are the most common QR code content. Encoding https://example.com creates a code that, when scanned, opens the URL in the phone’s browser. Always include the full URL with the protocol (https://) for maximum compatibility across scanner apps.
WiFi Network Credentials follow the format WIFI:T:WPA;S:NetworkName;P:Password;; where T is the security type (WPA, WEP, or nopass), S is the SSID, and P is the password. Scanning this code on Android or iOS automatically prompts the user to join the network without manually typing the password. This is extremely useful for guest networks in offices, hotels, and restaurants.
Email Addresses use the mailto: URI scheme: mailto:[email protected]?subject=Hello&body=Message. Scanning opens the email composer with pre-filled fields.
Phone Numbers use the tel: URI scheme: tel:+15551234567. Scanning initiates a phone call or opens the dialer with the number pre-filled.
SMS Messages use the smsto: scheme: smsto:+15551234567:Message text. Scanning opens the messaging app with the recipient and message pre-filled.
Calendar Events use the vCalendar or iCalendar format to encode event details including title, date, time, location, and description. Scanning prompts the user to add the event to their calendar.
Contact Information (vCard) encodes a full contact card including name, phone, email, address, and organization. Scanning prompts the user to save the contact to their address book.
Plain Text for any content that does not match a recognized format, the scanner simply displays the text. This is useful for serial numbers, reference codes, or any short-form information.
The physical size of a QR code determines whether it can be scanned reliably. Too small and scanners cannot resolve individual modules. Too large and the scanner may not be able to capture the entire code in a single frame.
Minimum module size. Each module (individual square) in the QR code should be at least 0.33mm (1/76 inch) in print to be reliably scanned by modern smartphone cameras. For outdoor signage scanned from a distance, modules need to be larger.
Scanning distance rule of thumb. The QR code should be at least 1/10th the scanning distance. If the code will be scanned from 30 cm (12 inches) away, it should be at least 3 cm (1.2 inches) on each side. For a billboard scanned from 10 meters away, the code needs to be at least 1 meter across.
Quiet zone. Every QR code needs a margin of white space (the quiet zone) around it, typically 4 modules wide. Without this margin, the scanner may not correctly detect the code boundaries. This generator includes the quiet zone automatically.
Resolution for digital use. When displaying QR codes on screens, ensure the code is rendered at integer multiples of the module size to avoid anti-aliasing artifacts that blur module edges. A QR code with 29 modules per side should be rendered at 29px, 58px, 87px, 116px, 145px, 232px, or other integer multiples. This generator produces clean, pixel-aligned output.
SVG for print. For any printed material (business cards, posters, packaging, brochures), download the SVG version. SVG is a vector format that scales to any size without quality loss, ensuring clean, crisp edges at any print resolution. PNG is better for digital use where you need a specific pixel dimension.
Keep the data short. Shorter data produces smaller codes with fewer modules, which are easier to scan. If you need to encode a long URL, use a URL shortener first. The code for https://example.com/p/1 is significantly smaller and more scannable than the code for a URL with tracking parameters and query strings.
Maintain sufficient contrast. QR codes require high contrast between the dark and light modules. Black on white provides the best results. Dark colors on light backgrounds work well. Avoid low-contrast combinations like gray on white, dark blue on black, or any combination where the modules blend into the background. Some scanners struggle with inverted codes (white on dark), so the standard dark-on-light orientation is safest.
Test before deploying. Always scan the generated code with multiple devices before committing it to print or public distribution. Test with both the native camera app and at least one dedicated QR scanner app. Scan at the expected distance and angle. If the code is going on a curved surface, test on that surface.
Do not resize raster QR codes in design software. If you resize a PNG QR code in an image editor, the resampling algorithm may blur module edges, making the code harder or impossible to scan. Either generate the code at the exact size you need or use the SVG version and scale it in your layout application.
Use dynamic QR codes for content that may change. A dynamic QR code encodes a short redirect URL rather than the final destination. You can change where the redirect points without reprinting the code. This is essential for printed materials where the destination URL might change after printing. Dynamic QR codes require a redirect service but save the cost of reprinting.
QR codes have become standard infrastructure across many industries.
Payments. QR-based payment systems are dominant in many markets. Services like UPI in India, WeChat Pay and Alipay in China, and various local systems use QR codes for peer-to-peer and merchant payments. The customer scans the merchant’s code or the merchant scans the customer’s code to initiate a transaction.
Authentication. Many two-factor authentication systems use QR codes during setup. The code encodes a shared secret (in the otpauth:// URI format) that the authenticator app reads to generate time-based one-time passwords (TOTP). Services like Google Authenticator and Authy use this standard.
Inventory and logistics. QR codes on products and packages link to detailed information, tracking data, warranty registration, and support resources. They hold more data than traditional barcodes and can be scanned with phones, eliminating the need for dedicated barcode scanners.
Menus and information. Restaurants, museums, real estate listings, and events use QR codes to provide information without physical materials. The code links to a web page with current content that can be updated without reprinting.
For related tools, use our Password Generator for creating secure WiFi passwords to embed in QR codes, and our Base64 Encoder/Decoder for encoding binary data.
The largest QR code (version 40, 177×177 modules) can hold up to 7,089 numeric characters, 4,296 alphanumeric characters, or 2,953 bytes of binary data. In practice, encoding more than a few hundred characters produces very dense codes that are harder to scan. Keep data as short as possible for best results.
Yes, but you must use a high error correction level (Level H, which recovers up to 30% of data) because the logo obscures the modules it covers. The logo should cover no more than about 20-25% of the code area to ensure reliable scanning. Always test the final code thoroughly after adding a logo.
A static QR code encodes the final destination data directly. Once printed, it cannot be changed. A dynamic QR code encodes a short redirect URL that points to the final destination. You can change the redirect target without reprinting the code. Dynamic codes require a redirect service to manage the URLs.
Each module should be at least 0.33mm (1/76 inch) for reliable scanning. For a version 2 QR code (25×25 modules), the minimum print size is about 10mm (0.4 inches) per side including the quiet zone. Larger codes with more modules need to be printed proportionally larger.
Static QR codes never expire. They are simply a visual encoding of data with no expiration mechanism. Dynamic QR codes can expire if the redirect service deactivates the URL. A QR code linking to a URL will stop working only if the destination URL becomes inactive.
Use SVG for print materials. SVG is a vector format that scales to any size without quality loss, ensuring crisp edges at any print resolution. Use PNG for digital screens where you need a specific pixel dimension. Never scale a PNG QR code up or down in a design tool as it may blur the modules.
Yes. QR codes displayed on computer monitors, phone screens, tablets, and TVs can be scanned with a phone camera. Ensure sufficient screen brightness and avoid reflections. The code should be displayed at a size where individual modules are clearly distinguishable, typically at least 2-3 cm on screen.
Data accurate as of: March 2026