QR Code Generator
Util {{ utilizationPctDisplay }}
Enter content to encode
Type {{ type.toUpperCase() }} Bytes {{ payloadBytes }} ECC {{ errorCorrection }} Gradient Logo Size {{ size }} px Warnings {{ warnings.length }}
Content
Design
px
px
Extras

Logo image

Drag & drop or click to browse

Field Value Copy
{{ r.label }} {{ r.value }}

            
:

Introduction:

QR codes are compact square barcodes that store text like links, contact cards, or short messages, and they are designed to be read quickly by a camera. They help bridge print and screen so people can jump to a page, save details, or join Wi Fi without typing.

You provide a target such as a URL, a vCard, a Wi Fi login, or an event, then choose colors and styles, and the image updates instantly. A small utilization gauge shows how close your content is to the practical capacity for the chosen error correction level.

Results can include a centered logo and an optional frame so posters and handouts scan cleanly. For print, keep strong contrast and a quiet zone around the code so readers do not struggle in dim light.

Short inputs scan faster and tolerate more wear, so shorten long links and prefer plain text where possible. If a gradient or logo is important, raise error correction and test with at least two scanning apps.

Technical Details:

QR code content is a string payload that becomes a grid of dark and light modules. The app reports payload length in bytes and compares it to an estimated byte capacity for the selected error correction level to show utilization.

Utilization represents how much of the nominal storage is used and why a shorter message typically scans more reliably. Error correction can be set to L, M, Q, or H, where higher settings improve recovery from damage but reduce capacity.

Results are interpreted as low usage when well below capacity, near the limit when within the last few percent, and at risk when the content exceeds the estimate. Gradients and logos make contrast and error correction more important for consistent reads.

U = min ( 1 , BC ) · 100 %
Symbols and units for utilization
Symbol Meaning Unit/Datatype Source
B Payload length bytes Derived
C Estimated capacity for ECC level bytes Constant
U Capacity utilization percent Derived
ECC Error correction level L, M, Q, H Input
Worked example. URL payload https://example.com has B=19 bytes. With ECC M, C=2331 bytes. Utilization U≈(19 ÷ 2331)×100 %≈0.82 %. Interpretation: comfortably below capacity.
Interpretation bands for utilization and warnings
Threshold Band Lower Bound Upper Bound Interpretation Action Cue
Normal 0 % <95 % Ample margin for styling and print. Proceed and test on one scanner.
Near limit 95 % 100 % Close to capacity; minor risk of failure. Shorten content or lower ECC.
Exceeds >100 % Content may not encode reliably. Shorten content or reduce styling.
Key parameters and typical ranges
Parameter Meaning Unit/Datatype Typical Range Sensitivity Notes
Error correction Recovery level L, M, Q, H High L≈7 %, M≈15 %, Q≈25 %, H≈30 % restoration.
Capacity C Estimated max bytes bytes L 2953 · M 2331 · Q 1663 · H 1273 High Used for the utilization gauge.
Size Output canvas px 100–1000 Medium Larger sizes help print clarity.
Margin Quiet zone px 0–50 High Typical 4 to 8 for robust scans.
Dots/Eyes Module and finder styles enum square · dots · rounded Medium High contrast recommended.
Gradient Dot color blend linear/radial 0–360° (rotation) Medium Use higher ECC with gradients.
Logo overlay Centered image % of side 10–50 High Prefer ECC H for larger logos.
Frames Optional border enum plain · rounded · dashed · scan Low “Scan me” label available.
I/O formats and encoding patterns
Input Accepted Families Output Encoding/Precision Rounding
URL http or https QR image Raw URL string
Text, SMS, Phone Plain text QR image SMSTO:number:message, tel:number
E‑mail Address, subject, body QR image mailto: with encoded subject/body
Wi‑Fi SSID, password, WPA/WEP/None QR image WIFI:T:<enc>;S:<ssid>;P:<pwd>;;
vCard Name, org, phone, e‑mail QR image VCARD 3.0 block
Geo Latitude, longitude QR image geo:lat,lng
Event Title, location, start, end QR image VCALENDAR with compact ISO 8601 timestamps
Social, Pay, Apps Handles or links QR image Direct links or service prefixes
Exports PNG · SVG · PDF Vector or raster render

Validation & bounds extracted from the code:

Validation, ranges, and messages
Field Type Min Max Step/Pattern Error/Warning Placeholder
Size number 100 1000 300
Margin number 0 50 Warn if zero for reliability. 4
ECC enum L · M · Q · H High ECC lowers capacity. M
Gradient rotation number 0 360 Low ECC warned with gradients. 0
Logo scale number 10 50 step 5 Recommend ECC H for logos. 20
URL string Advice: start with http or https Shows a compatibility warning. https://
Event time datetime‑local Converted to compact ISO 8601 + Z
Wi‑Fi enum + strings WPA · WEP · nopass

Networking & storage behavior:

  • All processing happens in the browser; exports are generated locally.
  • On first PDF export, two small helper scripts are loaded from public CDNs to create the file.
  • Logo images are read with a file reader and embedded as data URLs.

Security considerations:

  • Untrusted text is encoded for query parts such as subject or message.
  • Cross‑origin image loading requests anonymous mode for logo overlays.
  • Avoid embedding secrets; QR images are easily copied and shared.

Assumptions & limitations:

  • Heads‑up Capacity figures are estimates for guidance, not guarantees.
  • Heads‑up Gradients and light foregrounds reduce contrast on some printers.
  • Very long inputs may exceed the estimated limit at higher ECC levels.
  • Some scanners interpret SMS and Wi‑Fi formats differently.
  • Large logos can occlude modules and harm reliability.
  • Zero margin removes the quiet zone and can break recognition.
  • Non‑ASCII content increases byte length versus character count.
  • Event timestamps are treated as UTC when compacted with a trailing Z.

Edge cases & error sources:

  • Emoji or non‑Latin characters raise byte counts unexpectedly.
  • Spaces or missing schemes in links cause failed opens on scan.
  • Exceeding capacity yields hard‑to‑scan or invalid images.
  • Low‑resolution print with thin quiet zone fails under glare.
  • Gradient rotation on tiny codes creates banding artifacts.
  • Transparent logos on dark backgrounds lose contrast.
  • Clipboard writes can be blocked by permission settings.
  • SVG pasted into office apps may rasterize at low resolution.
  • PDF viewers that downsample images can blur fine modules.
  • Different phones apply different camera sharpening and binarization.

Privacy & compliance. Files are processed locally; nothing is uploaded.

How‑to · Step‑by‑Step Guide

The concept is simple: turn a short, scannable string into a reliable QR image for print or screen.

  1. Choose a content family and enter the required fields URL or text.
  2. Pick an error correction level; raise it when adding a logo.
  3. Set colors and margin; keep strong contrast and a clear quiet zone.
  4. Optionally enable a gradient and tune rotation if linear.
  5. Add a centered logo and adjust scale between 10 and 50 %.
  6. Download as PNG for screens, SVG or PDF for print.

Example: Create a Wi‑Fi code with SSID “CafeNet”, WPA, and the network password, then export SVG for a counter tent card.

Finish with a quick scan test on two devices.

FAQ

Is my data stored?

No. Content and images are handled in your browser, and exports are generated locally.

Logos are read as data URLs and not uploaded.
How accurate is the capacity gauge?

It uses byte counts and a level‑specific estimate. Treat it as guidance and keep a safety margin below the limit.

What units and formats are used?

Sizes are in pixels, colors are hex codes, timestamps compact to ISO 8601 with a trailing Z for calendar events.

Can I use it offline?

Yes after the page loads. Export helpers for PDF may require a one‑time script load the first time you save.

Does it cost anything?

No sign‑in or payment is required.

How do I make a Wi‑Fi QR code?

Select Wi‑Fi, enter SSID and password, choose WPA or WEP or None, then export and test with two phones.

What does a borderline result mean?

Values near the capacity edge may scan inconsistently, especially with gradients or logos. Shorten content or lower ECC.

Which file type should I download?

Use PNG for screens, SVG or PDF for print. SVG stays sharp at any size; PDF is convenient for documents.

Troubleshooting

  • Scanner fails to focus → increase size and margin.
  • Link does not open → add https:// to the beginning.
  • Blurry print → export SVG or higher‑resolution PNG.
  • Logo hides modules → reduce logo scale or raise ECC to H.
  • Gradient scans poorly → darken foreground and increase contrast.
  • SMS not recognized → try shorter text or plain phone format.

Advanced Tips

Tip Shorten long links to improve robustness and reduce scan time.

Tip Keep foreground darker than background; avoid low‑contrast palettes.

Tip Maintain a 4 to 8 px quiet zone for small codes on paper.

Tip Prefer SVG or PDF for print to preserve clean edges.

Tip Use international phone format for call and SMS codes.

Tip Test with multiple scanner apps to catch device differences.

Glossary

Module
Single dark or light square in the grid.
Quiet zone
Blank border around the code that aids detection.
Error correction (ECC)
Redundancy level that enables recovery from damage.
Payload
Raw string encoded into the QR code.
Utilization
Share of estimated capacity used by the payload.
Finder “eyes”
Three corner markers that help scanners locate the code.