QR Code Generator

Overview

QR code generator encodes any text, URL, WiFi credentials, or contact card into a downloadable SVG file, with options for dot style, color gradients, corner shapes, and embedded logos. Batch mode accepts a CSV or TXT file and packages all results as a ZIP. Adding a logo without raising the error correction level first is the most common reason a QR code stops scanning reliably.

Error Correction Level and Logo Compatibility

QR Code defines four error correction levels. Higher levels make the code denser but allow more of the surface to be obscured before the code fails:

L (7%) and M (15%)

  • L: smallest file, highest content capacity
  • M: default, suitable for most everyday uses
  • Neither level should be used with an embedded logo

Q (25%) and H (30%)

  • Q: good for print or items that may crease
  • H: required when embedding a logo — up to ~30% of the code surface can be covered
  • H also handles longer strings more gracefully

WiFi QR Code Format

Phones can scan a WiFi QR code and connect in one tap if the content matches this format exactly:

WIFI:T:{TYPE};S:{SSID};P:{PASSWORD};;
  • TYPEWPA (covers WPA2 and WPA3), WEP (legacy routers), or nopass (open network)
  • SSID — network name; escape ;, ,, ", :, \ with a leading backslash
  • PASSWORD — password; same escaping rules apply. Leave empty when TYPE is nopass

Logo size ratio range is 0.1–0.5 relative to the QR code side length, default 0.3. Keeping it at or below 0.35 is recommended. Always set the error correction level to H before adding a logo — logos at M or Q will block code elements that cannot be recovered.

Logos with irregular shapes (circular, transparent PNGs) reduce visible obstruction compared to solid rectangles at the same size ratio.

Content Length and the "Data too long" Error

Content capacity decreases as error correction increases. If a long URL throws a "Data too long" error:

  1. Lower the error correction level first (H → Q → M → L)
  2. If still too long, shorten the content — run the URL through a link shortener before generating

At L level, roughly 2900 ASCII characters is the practical limit. Dense codes also scan less reliably at distance regardless of error correction level.

Batch Generation

One content item per line — import via CSV (first column used) or TXT (one line per code). Failed items are listed separately and do not prevent successful items from downloading. Output options are individual SVG, PNG, or all files bundled as a ZIP.

SVG vs PNG

SVG is vector and scales without loss — use it for print, posters, or anywhere the code will be enlarged. PNG is better for social sharing, email embeds, or contexts where SVG support is uncertain.