QR Code Generator

Create QR codes for URLs, vCards, WiFi, email, and text. Customize colors and size, download as PNG or SVG. Perfect for marketing.

Advertisement

Generate a QR code that actually scans — URL, WiFi, email, SMS, phone or plain text

Pick a content type, type the payload, and the code redraws as you type. There is no "generate" button to hunt for and no account step. Everything runs in your browser using a JavaScript QR encoder, so the URL you are encoding, the WiFi password you are handing to guests and the phone number you are putting on a flyer never leave the machine you are sitting at. Nothing is uploaded, nothing is logged server-side, and the generated code is not stored anywhere for later retrieval — if you close the tab before downloading, it is gone.

When you are done, download the result as a PNG for slides and social posts, or as an SVG when the code is going to print and needs to stay crisp at any size. For URL and plain-text codes you can also copy a shareable link that reopens this page with the same payload, size and error-correction level already filled in — useful when you are handing the job to a designer.

The six content types, and what each one actually encodes

A QR code has no concept of "a WiFi code" or "an email code". It encodes a string. What makes a scan open the mail app instead of a browser is the prefix convention the string uses, which phone cameras recognise. This tool builds those strings for you:

Content typeWhat gets encodedWhat the scan does
URLThe address exactly as typed, e.g. https://example.com/spring-menuOpens the link in the phone’s browser
TextThe raw characters, no prefixDisplays the text; the camera app may offer to search or copy it
Emailmailto:you@example.com?subject=...&body=...Opens a pre-addressed draft with subject and body filled in
Phonetel:+15551234567Loads the number into the dialler (most phones ask before calling)
SMSsms:+15551234567?body=...Opens a new message to that number with your text pre-typed
WiFiWIFI:T:WPA;S:NetworkName;P:password;;Offers to join the network without typing the password

Two honest caveats. First, this tool does not build vCard or MeCard contact codes — if you need a full contact card with name, title, company and address, this is not the right generator. Use the Email or Phone type for a single point of contact instead. Second, the shareable-link feature only round-trips the URL and Text types; the structured types (email, phone, SMS, WiFi) are deliberately not written into the query string, which is exactly what you want for a WiFi password.

The WiFi code is a plaintext password on a wall

Worth being blunt about: a WiFi QR code contains the network password in readable plain text. Anyone who photographs the poster can decode it with any QR reader. That is fine for a guest or café network, and it is a genuinely good use of the format. It is not fine for the network your point-of-sale terminals and file server sit on. If you are printing a guest code, print a guest network. The encryption dropdown offers WPA/WPA2, WEP and None; pick the one the access point is actually running, because a mismatch makes the join attempt fail silently on some phones. Choose "None" only for genuinely open networks — the password field is ignored in that case.

Error correction: how much damage the code can survive

QR codes carry Reed–Solomon error correction, which means a portion of the code can be obscured, smudged or torn and a reader can still reconstruct the payload. You choose how much of that redundancy to spend. The four levels defined by the QR standard are:

LevelApproximate recoveryUse it when
L (Low)Around 7% of codewordsScreen-only codes, or a long URL you need to keep visually simple
M (Medium)Around 15%The sensible default, and what this tool starts on
Q (Quartile)Around 25%Printed material that will be handled: menus, packaging, tickets
H (High)Around 30%Harsh environments, curved surfaces, or codes with a logo pasted over the centre

The tradeoff is direct and unavoidable: redundancy costs capacity. At a fixed amount of data, raising the level from L to H forces the encoder to use a larger QR version — more modules, each one smaller on the page at the same physical dimensions. So the level that makes the code more robust in theory can make it harder to scan in practice, because you have shrunk every module. The rule of thumb that works: choose the level by how the code will be handled, then check the printed size is still generous, and raise the size rather than lowering the level.

How much data fits

The QR standard tops out at version 40, which holds up to 7,089 numeric characters, 4,296 alphanumeric characters, or 2,953 bytes — and those maxima are only available at error correction level L. Higher levels reduce them substantially. Those are ceilings, not targets. A code near the ceiling has a very fine module grid and will frustrate a mid-range phone camera in poor light. In practice, keep URL payloads short. If your link is a tracking URL with fifteen query parameters, shorten it before encoding — the difference between a 40-character URL and a 200-character one is visible to the naked eye in the density of the resulting code.

Size, margin and the quiet zone

The size slider runs from 256 to 1024 pixels in 128-pixel steps and controls the exported raster dimensions, not the number of modules. The module count is decided by your payload length and error correction level; the size setting just decides how many pixels each module gets. Bigger export means more pixels per module, which means more tolerance for camera blur, cheap optics and awkward angles.

The generator renders a two-module margin around the code. That margin is the quiet zone — blank space a reader needs in order to find the code’s boundary at all. The QR specification calls for a quiet zone of four modules, so if your code is going somewhere crowded, place it on additional white space rather than butting it up against artwork, a table border or the edge of the page. This is one of the most common reasons a technically perfect code fails to scan on a busy layout.

Print size in the physical world

Pixels stop being meaningful once the code is on paper; what matters is millimetres per module and reading distance. Download the SVG for anything going to print — it scales without the soft, fuzzy module edges that a scaled-up PNG produces, and fuzzy edges are exactly what defeats a scanner. A widely used starting point for handheld distances is a code no smaller than about 2 cm square, scaled up for longer reading distances: a code on a window intended to be scanned from the pavement needs to be dramatically larger than one on a business card.

Contrast and colour

The foreground and background colour pickers let you match a brand palette, and this is where most homemade QR codes go wrong. A scanner thresholds the image into dark and light modules. It needs the "dark" modules to be genuinely darker than the "light" ones under real lighting, through a phone camera that is auto-exposing for the whole scene.

  • Keep the dark modules dark. A pastel or mid-tone foreground on white is the single most common failure. Black on white is not a lack of imagination; it is the highest-contrast option available.
  • Do not invert. Light modules on a dark background — white on navy, for example — is rejected outright by some readers, which assume dark-on-light. If you must, test on several phones, not just yours.
  • Avoid low-contrast pairs such as dark blue on black or yellow on white. If a colour pair would fail a WCAG contrast check for text, treat it as unusable for a QR code too.
  • Watch the print stock. Colours that separate cleanly on a backlit monitor can converge on uncoated matte paper, and a glossy stock adds specular glare that washes out the difference further.
  • The background must be opaque. Exports here use a solid background colour, not transparency, which is what you want — a transparent PNG dropped onto a photograph produces an unreadable code.

Failure modes worth knowing before you print 5,000 of them

  • Too much data in too small a code. The most frequent real-world failure. A long URL at high error correction printed at 1.5 cm is a wall of near-invisible speckle. Shorten the payload, or enlarge the print.
  • No quiet zone. The code is fine; the reader cannot find its edges. Give it surrounding white space.
  • Scaling a PNG up in a layout tool. Interpolation blurs module boundaries. Export the SVG and scale that instead.
  • A logo dropped in the middle. This works only because error correction covers for the destroyed modules. If you are going to do it, use level H, keep the overlay small, and test the printed proof — not the on-screen mockup.
  • An untested URL. Scan the code before it goes anywhere. A typo in the domain, a missing https://, or a staging URL that will 404 in production are all invisible in the black-and-white pattern.
  • Printing over a fold or a seam. A code that straddles the fold of a leaflet or wraps a curved bottle will not lie flat under a camera.

A QR code cannot be edited once it is printed

This is the point most people learn the expensive way. The URL is baked into the pattern of black and white modules. There is no server in the middle, no lookup, no dashboard. Reprinting the banner is the only way to change where a printed code goes.

The standard defence is one layer of indirection: encode a URL you control and can redirect later — something like https://yourdomain.com/go/spring on your own domain, configured to redirect to wherever the campaign currently lives. Then the printed code stays valid forever and the destination is a configuration change. The tradeoff is that a redirect URL is slightly longer than a bare landing-page path, and that you must keep that redirect alive for as long as the printed material exists. Third-party "dynamic QR" services do exactly this, with the significant catch that the code dies if the service does or if you stop paying. Codes generated here are static by design: they point wherever you told them to, they depend on no service of ours, and they will keep working long after this page does.

Testing before you commit

Scan the actual output, at the actual size, on the actual medium, with more than one phone. A code that scans instantly from a laptop screen at 800 pixels can fail at 18 mm on matte card in a dim restaurant. Test at an angle, test in low light, and test with an older handset if your audience is likely to have one. Note that this generator creates codes; it does not read or decode them, so use a phone camera or a dedicated reader for verification.

What Is a QR Code Generator

A QR (Quick Response) code generator converts text, URLs, contact information, Wi-Fi credentials, or other data into a two-dimensional barcode that can be scanned by smartphone cameras and dedicated readers. Invented by Denso Wave in 1994 for tracking automotive parts, QR codes have become ubiquitous in contactless payments, event ticketing, restaurant menus, product packaging, and digital marketing.

QR codes encode data as a matrix of black and white modules (squares) arranged in a grid pattern. They include built-in error correction, meaning they can still be read even when partially damaged or obscured. This robustness, combined with the universal availability of smartphone cameras, makes QR codes the most practical bridge between physical and digital content.

How QR Codes Work

A QR code consists of several functional areas:

Finder patterns: Three large squares in three corners that help scanners locate and orient the code.

Alignment patterns: Smaller squares that help correct for distortion when the code is photographed at an angle.

Timing patterns: Alternating black-white rows/columns that define the grid spacing.

Data and error correction: The actual encoded information plus Reed-Solomon error correction codes.

Error Correction LevelRecovery CapacityBest For
L (Low)~7% damageClean environments, maximum data
M (Medium)~15% damageGeneral purpose (default)
Q (Quartile)~25% damageIndustrial environments
H (High)~30% damageLogos embedded in QR code

QR code data types:

TypeFormatExample
URLPlain text URLhttps://example.com
Wi-FiWIFI:T:WPA;S:NetworkName;P:Password;;Auto-connect to network
vCardBEGIN:VCARD...Contact card
Emailmailto:user@example.comCompose email
SMSsmsto:+1234567890:MessageSend text message
Phonetel:+1234567890Dial number

Common Use Cases

  • Marketing and advertising: Link print materials to digital content, landing pages, and promotions
  • Contactless menus: Restaurants display QR codes linking to digital menus
  • Event management: Encode ticket information for fast scanning at event entry points
  • Wi-Fi sharing: Generate QR codes that automatically connect devices to Wi-Fi networks
  • Asset tracking: Label equipment and inventory with QR codes linking to management systems

Best Practices

  1. Use the lowest error correction level that fits your use case — Lower correction allows more data or smaller codes; higher correction handles damage better
  2. Test QR codes before printing — Scan with multiple devices and apps to ensure reliable reading
  3. Maintain adequate quiet zone — Leave a margin of at least 4 modules (white space) around the QR code for reliable scanning
  4. Use URL shorteners for long URLs — Shorter data produces simpler, more scannable QR codes
  5. Consider accessibility — QR codes are not accessible to all users; always provide an alternative text link or URL alongside the code

Frequently Asked Questions

What is a QR code and how does it work?+

QR (Quick Response) code is a 2D barcode that stores data as black squares on white background. Invented by Denso Wave (Toyota subsidiary) in 1994 for tracking automotive parts. Uses Reed-Solomon error correction - works even if 30% damaged. Scanning with smartphone camera decodes the pattern into text, URL, or other data. Can store up to 4,296 alphanumeric characters or 7,089 numeric digits. Widely used for: contactless payments, marketing campaigns, product tracking, authentication, WiFi sharing, digital menus. This tool generates standards-compliant QR codes in multiple formats (PNG, SVG).

What types of data can I encode in a QR code?+

QR codes support multiple data types: URL/website link (most common), plain text (up to 4,296 characters), contact information (vCard format - name, phone, email, address), WiFi credentials (SSID, password, encryption type - auto-connect on scan), email address with subject/body, phone number (click to call), SMS message (recipient + pre-filled text), geo-location (GPS coordinates), calendar events (iCal format), crypto wallet addresses. Best practice: URLs should be short (long URLs create dense, harder-to-scan codes). Use URL shorteners if needed. This tool supports all major QR code data types with format validation.

What are QR code error correction levels and which should I use?+

QR codes have 4 error correction levels that determine damage tolerance: L (Low) - 7% recovery, fastest scanning, smallest size. M (Medium) - 15% recovery, default for most uses. Q (Quartile) - 25% recovery, good for printed materials. H (High) - 30% recovery, best for damaged/dirty environments. Higher correction = larger QR code (more data cells). Use L for digital displays (screens, perfect quality). M for business cards, flyers. Q/H for outdoor use, stickers, products (wear and tear). This tool defaults to M (balanced), allows selection of other levels for specific use cases.

How do I customize QR code appearance and colors?+

QR codes can be customized while maintaining scannability: Colors - foreground (data modules) must be dark, background must be light. Ensure high contrast ratio (3:1 minimum). Avoid: light colors on dark background (scanners expect opposite). Size - minimum 2x2cm (0.8") for reliable scanning. Larger is better for distance scanning. Logo/image - can embed in center (up to 30% area with H error correction). Must not obstruct positioning squares (3 corners). Quiet zone - white border required (4 modules minimum) for scanner detection. This tool generates customizable QR codes with color picker and size options.

What is the best size and format for QR codes in different use cases?+

Physical print: 2x2cm minimum, 3x3cm recommended for business cards, 5x5cm+ for posters/signage. Use 300+ DPI PNG or vector SVG. Digital screens: 200x200px minimum on mobile, 400x400px for desktop. SVG recommended for responsive scaling. Packaging: 1.5x1.5cm minimum (depends on scan distance), high error correction (Q/H). T-shirts/fabric: 10x10cm minimum (curved surface + movement), H error correction. Billboards: scale to viewing distance (1cm per meter of distance). Vector formats (SVG, EPS) scale infinitely without quality loss. This tool exports optimized formats for each use case.

How do I create a WiFi QR code for easy network sharing?+

WiFi QR codes allow instant network connection without typing passwords. Format: WIFI:T:WPA;S:NetworkName;P:Password;H:false;; where T = security type (WPA, WPA2, WEP, or nopass), S = SSID (network name), P = password, H = hidden network (true/false). Example: WIFI:T:WPA2;S:MyNetwork;P:SecurePass123;; Scanning auto-fills WiFi settings - user taps Connect. Best practices: use WPA2/WPA3 encryption, avoid special characters in SSID/password (causes encoding issues), test before deploying, print multiple copies for guests. This tool generates WiFi QR codes with automatic format validation and preview.

Are QR codes secure and what are the privacy risks?+

QR codes themselves are not encrypted - anyone can scan and read the data. Security risks: malicious URLs (phishing sites, malware downloads), QR code replacement (stickers over legitimate codes), data leakage (sensitive info visible when scanned), tracking (shortened URLs with analytics). Mitigation: preview URL before visiting, use QR scanner app with URL preview, don't encode sensitive data (passwords, credit cards), use HTTPS URLs only, implement link expiration for temporary access, monitor QR code analytics for abuse. For sensitive use cases, combine with authentication (password, 2FA). This tool highlights security best practices during QR generation.

How do I track QR code scans and measure campaign effectiveness?+

Direct QR codes (static data) cannot track scans. For analytics, use dynamic QR codes pointing to redirect URLs: create unique tracking URL (bit.ly, goo.gl, custom domain), generate QR pointing to tracking URL, redirect to actual destination, analytics platform logs: scan count, timestamp, location (IP geolocation), device type, referrer. Track with UTM parameters: ?utm_source=qr&utm_medium=print&utm_campaign=fall2025. Services: Google Analytics, Bitly, QR code platforms with built-in analytics. A/B test different QR placements, compare scan rates across locations/materials. This tool generates QR codes compatible with any URL shortener or tracking platform.

This tool is provided for informational and educational purposes only. All processing happens in your browser — no data is sent to or stored on our servers. While we strive for accuracy, we make no warranties about the completeness or reliability of results.