Quick Response (QR) Code Generator
Create QR codes for URLs, Wi-Fi, contacts, messages, calls, email, or events with readiness scoring, logo checks, and image downloads.Scan Readiness Index
Generated result
{{ logoDataUrl ? 'Logo attached' : 'Drop logo image' }}
{{ logoDataUrl ? 'Drop another image to replace it.' : 'PNG, JPEG, or SVG only.' }}
| Field | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| Check | Status | Current value | Action | Copy |
|---|---|---|---|---|
| {{ row.check }} | {{ row.status }} | {{ row.value }} | {{ row.action }} |
The hard part of QR work is not making a square pattern appear. The hard part is making sure that the pattern carries the right text, survives its final size and surface, and sends the person scanning it to the intended action. A code that scans from a bright monitor can fail after it is printed small, placed on glossy stock, covered by a badge sleeve, or surrounded by artwork that eats into the blank border.
A QR symbol is a carrier for a payload. That payload may be a web address, Wi-Fi login string, contact card, phone action, SMS draft, email draft, calendar event, or plain note. The camera only reconstructs the encoded text; the phone or scanner app decides what to do next. That handoff is why a short typo in a URL, a stale Wi-Fi password, or an incorrect event time can matter as much as the scan quality of the symbol itself.
- Payload length decides how dense the matrix becomes. Longer text usually raises the QR version and creates more modules to read.
- Error correction adds recovery codewords. Higher levels help with dirt, scratches, and center logos, but they reduce payload room.
- Quiet zone gives the scanner a blank margin for finding the outer edge of the symbol.
- Contrast matters more than brand color matching. Cameras need strong light-dark separation, especially on paper or signage.
- Obstruction from logos, frames, glare, or nearby graphics reduces scan margin even when the preview still looks crisp.
Structured payloads reduce typing, but they also rely on other apps interpreting the text correctly. A Wi-Fi code needs the network name, password, security mode, and hidden-network flag to match the router. A contact card depends on address book support for vCard fields. A calendar event depends on the receiving app reading the iCalendar text and time values as intended.
A clean scan is not a trust signal. A QR code can point to an unsafe page, reveal a Wi-Fi password to anyone with camera access, or encode a phone number that no longer belongs to the right team. Treat the finished symbol as a public handoff to real content, then test that handoff at the same size, surface, lighting, and distance people will use.
How to Use This Tool:
Work in three passes: content first, reliability second, styling last.
- Choose a Payload template. For Website URL, use the full destination with the web protocol included, preferably HTTPS. For Wi-Fi access, enter the exact SSID, password, security mode, and hidden-network setting. For contact, message, call, email, and event modes, fill the fields that the target app needs before judging the preview.
- Resolve empty-content warnings before exporting. A missing URL, SSID, phone number, SMS number, full name, or event detail can leave the QR blank or trigger No content to encode yet.
- Select a Use case preset for the destination surface. Screen / slides starts with a balanced screen setup, Flyer / menu print and Poster / signage raise print safety, and Logo / brand overlay assumes a center logo may be present.
- Set Error correction after the preset. Use M for ordinary screen use, Q or H for print, rough surfaces, or branded codes, and H when a logo covers meaningful center area.
- Open Advanced only after the payload is correct. Adjust Canvas size, Quiet zone, Colors, dot and eye style, frame, gradient, transparent background, and logo settings while watching the summary badges.
- Check Payload Blueprint for Payload bytes, Estimated QR version, Capacity used (selected level), Minimum foreground/background contrast, and Warning count. These fields explain why a small content or style change can alter scan risk.
- Open Scan Checklist and fix any row marked Fix. Common fixes include adding a missing payload field, restoring a 4-module quiet zone, increasing contrast, reducing logo coverage, switching to ECC H, or correcting an event end time that is earlier than the start time.
- Use Readiness Radar to find the weakest area before exporting. Copy the payload or download PNG, WebP, JPEG, or SVG only after the exported symbol scans at the final size and background.
A scan from the live preview is a useful first check. The more important test is the downloaded code placed into the real artwork, because print size, nearby graphics, transparency, glare, and logo coverage all affect camera pickup.
Interpreting Results:
Read the Scan Readiness Index together with Warnings and Scan Checklist. The score is a scan-risk estimate, not a guarantee. A visually attractive code can still be weak when it is dense, low contrast, missing quiet-zone margin, transparent over busy artwork, or covered by a large logo.
| Result cue | What it means | What to verify |
|---|---|---|
| Robust at 85 to 100 | The measured settings leave stronger margin across payload headroom, contrast, quiet zone, logo safety, and ECC. | Scan the exported file on the final material before distributing it. |
| Balanced at 70 to 84 | One or more choices are already reducing margin, even if ordinary scanners may still succeed. | Use Readiness Radar and the checklist action text to decide which control to change first. |
| Risky at 50 to 69 | The code may need favorable lighting, close distance, clean print, or a very steady camera. | Shorten the payload, increase contrast, widen the quiet zone, remove transparency, reduce logo coverage, or raise ECC. |
| Fragile below 50 | The current design has too little measured margin for normal public use. | Return to a plain dark-on-light code, then add styling back one change at a time. |
| Fix in Scan Checklist | A specific rule failed, such as missing payload content, low contrast, low quiet zone, over-capacity payload, or unsafe logo obstruction. | Clear the failed row before trusting downloads or sharing the payload. |
A high readiness score does not prove that a URL is safe, a password is current, or every scanner app will choose the same action. Confirm the visible destination or draft after scanning, and test the exact exported code from the distance and surface where it will be used.
Technical Details:
QR versions are size tiers. Version 1 contains 21 modules on each edge, version 40 contains 177, and each version step adds 4 modules per edge. More payload bytes or stronger error correction usually moves the symbol to a higher version. If the exported canvas size stays fixed, a higher version makes each module smaller in pixels.
Error correction levels L, M, Q, and H add Reed-Solomon recovery data. The commonly cited restoration targets are about 7%, 15%, 25%, and 30% of total codewords. Higher levels help when a printed code is dirty, scratched, partly obstructed, or logo-branded, but they reduce the amount of payload that fits at a given version.
Formula Core:
The readiness calculation combines the physical symbol estimate with contrast and obstruction checks. Scores are rounded to the nearest whole number and clamped to a 0 to 100 range.
V is the estimated QR version. P is payload headroom, C is color contrast, Z is quiet-zone score, L is logo safety, E is ECC resilience, and R is the displayed Scan Readiness Index. A 720 px canvas at version 2 gives 25 modules per edge, so a 4-module quiet zone is about 115 px before rounding.
Transformation Core:
The symbol is rendered from the final payload text in byte mode. Structured modes create text records before the QR matrix is generated, so a short form entry can become a longer encoded string.
| Payload family | Encoded form | Practical effect |
|---|---|---|
| Website URL or plain text | The exact text entered | Usually compact. A full web URL with the protocol included improves scanner handoff. |
| Wi-Fi access | WIFI:T:mode;S:ssid;P:password;H:true;; |
Network name, password, security mode, and hidden-network flag are encoded together. |
| Email, phone, and SMS | mailto:, tel:, or SMSTO: |
The scanner prepares an app action. The person scanning still reviews the draft, call, or message. |
| Contact card | BEGIN:VCARD to END:VCARD |
Full name is required; organization, title, phone, email, and URL lines add bytes. |
| Calendar event | BEGIN:VCALENDAR with one VEVENT |
Title, location, description, start time, and end time create an event draft and can make the matrix dense. |
Capacity is estimated by comparing UTF-8 payload bytes with byte-mode capacity for the selected ECC level. The selected capacity is the closest version capacity that can hold the payload. A payload at 86% of that selected capacity is already in review territory; above 100% it becomes a failure row even though the maximum version-40 capacity may be larger.
| Component | Full-score region | Review or failure behavior |
|---|---|---|
| Payload headroom | Capacity used is 60% or lower | Score falls from 60% to 85%, falls faster from 85% to 100%, and keeps dropping beyond capacity. |
| Color contrast | 7:1 or higher | 4.5:1 to under 7:1 is a review zone; below 4.5:1 is a fix row. |
| Quiet zone | 4 modules or more | Under 4 modules is a fix row. Poster use reviews margins under 6 modules. |
| Logo safety | No logo or logo area at 10% or lower | Logo score steps down above 10%, 15%, 20%, 25%, and 30%; above 20% without ECC H is a fix row. |
| ECC resilience | H receives the highest resilience score | L is reviewed for non-screen use, and M is reviewed for print, poster, or logo presets. |
Color contrast uses relative luminance. With a gradient, the lowest contrast among the foreground color, both gradient endpoints, and the effective background is used. Transparent background assumes a light final placement surface, so the same file can pass on white paper and fail when placed over a photo, dark shape, or patterned label.
Privacy and Safety Notes:
The QR payload and logo image are handled in the browser after the page loads. The generator does not need to send the payload or logo to a separate service to create the symbol, but the encoded text is visible to anyone who scans or inspects the finished QR.
- Do not put private Wi-Fi credentials, internal links, or personal contact details into a public code unless public scanning is intended.
- Phone, email, and SMS payloads prepare app actions; they do not send the call, email, or text automatically.
- Scanner apps can vary in how they handle Wi-Fi, vCard, and iCalendar payloads, so test with the devices your audience is likely to use.
Advanced Tips:
- Use the lowest-density payload that still serves the job. Short URLs, concise event descriptions, and trimmed vCard fields usually improve capacity headroom faster than changing the visual style.
- Choose Logo / brand overlay and ECC H before judging a center logo. If Scan Checklist marks Logo obstruction as Fix, reduce Logo coverage before relying on print tests.
- Keep Quiet zone at 4 modules or more unless the final artwork adds equivalent blank space around the symbol. Poster and signage use often benefits from wider margin.
- Check Minimum foreground/background contrast after enabling gradients or transparent background. The weakest foreground endpoint controls the contrast warning.
- Use Payload Blueprint when a small text edit changes the estimated version. The byte count and selected capacity show whether the payload is near a version boundary.
- Export and scan the same file type that will be placed in the final artwork. A preview scan does not catch scaling, compression, transparency, or background issues introduced later.
Worked Examples:
Short slide link
A slide QR for a 15-byte short HTTPS URL can use Website URL, Screen / slides, ECC M, a 720 px canvas, a 4-module quiet zone, dark foreground, white background, and no logo. Payload Blueprint shows Payload bytes of 15, Estimated QR version 2, Capacity at V2 / ECC M of 26 bytes, and Capacity used (selected level) of 57.7%. With strong contrast and no warnings, the Scan Readiness Index can read 96/100 and Robust.
Guest Wi-Fi card with a center logo
For SSID Cafe Guest and password Summer-2026-menu!, the Wi-Fi payload is 45 bytes before styling. With Flyer / menu print, ECC Q, and a 24% logo, Payload Blueprint can show version 4 and 97.8% capacity used, while Scan Checklist marks Logo obstruction as Fix because the logo is above 20% without ECC H. Reducing Logo coverage to 18% and switching to H gives more recovery margin before the printed card is tested.
Event code with a time mistake
A calendar event with title Product Demo, location HQ Room 4, start time 2026-05-20 14:00, and end time 2026-05-20 13:30 has enough content to render a QR code, but the warning list reports Event end time is earlier than start time. Fix the time fields first, then check Payload bytes and Estimated QR version before adding a long description to the event payload.
FAQ:
Why is the QR preview blank?
The selected payload does not yet have enough content. Add the required URL, SSID, phone number, SMS number, vCard full name, or event field, then clear any No content to encode yet warning.
Why did the estimated QR version change after a small edit?
QR capacity changes in version steps. A few more UTF-8 bytes can push the payload past the current version, especially for Wi-Fi, vCard, and calendar payloads that expand form fields into structured text.
Does ECC H make any logo safe?
No. ECC H gives the highest recovery setting, but Scan Checklist still reviews or fails large center obstruction. Keep logo area conservative and scan-test the exported symbol on more than one phone.
When should I use a transparent background?
Use it only when the final artwork keeps a flat light area behind the full QR and quiet zone. Transparent background mode adds a review warning because the contrast estimate assumes a light placement surface.
Can a QR code prove that a link or phone number is safe?
No. The QR only stores the payload text. Scan the exported symbol and verify the visible URL, draft, contact, number, or event before publishing it.
Does the logo image get uploaded while generating the QR?
The selected logo is read by the browser for the preview and export. It is not sent to a separate QR-generation service by the generator, but the final exported image includes the logo visually.
Glossary:
- Payload
- The final text embedded in the QR symbol.
- Module
- One dark or light square in the QR matrix.
- Quiet zone
- The blank margin around the QR symbol that helps scanners find the boundary.
- ECC
- Error correction level, which trades payload capacity for recovery from damage or obstruction.
- QR version
- The size tier that determines how many modules appear on each edge.
- vCard
- A structured contact-record format used for contact QR payloads.
- iCalendar
- A structured calendar-event format used for event QR payloads.
References:
- What is a QR Code, DENSO WAVE.
- Point for determining the code area, DENSO WAVE.
- Point for setting the module size, DENSO WAVE.
- Understanding SC 1.4.3: Contrast (Minimum), W3C Web Accessibility Initiative.
- RFC 6068: The mailto URI Scheme, IETF, October 2010.
- RFC 3966: The tel URI for Telephone Numbers, IETF, December 2004.
- RFC 2426: vCard MIME Directory Profile, IETF, September 1998.
- RFC 5545: Internet Calendaring and Scheduling Core Object Specification (iCalendar), IETF, September 2009.