ComfyToolkit

QR Code Generator

Generate QR codes for text, URLs and Wi-Fi.

Text / URL

Enter text or a URL to generate a QR code.

A QR code is a printed data channel. It carries the payload directly - there is no server in the middle unless the payload itself is a link - which means a code you generate here works forever and reports nothing back to anyone.

This tool generates codes for text, links and Wi-Fi credentials, exports SVG or PNG at your chosen size and colours, and can scan an existing image to read a code back.

Error correction is why a scuffed code still scans

QR codes use Reed-Solomon coding, so a portion of the symbol can be destroyed and the data still recovered. Four levels are available, and the choice is a direct trade against capacity.

Higher correction means more modules for the same payload, so the code gets visually denser and needs to be printed larger to stay scannable.

  • L - about 7% recoverable. Densest, for clean digital display.
  • M - about 15%. The sensible default for print.
  • Q - about 25%. For codes on surfaces that get handled or dirty.
  • H - about 30%. Required if you intend to put a logo over the centre, since the logo is damage as far as the decoder is concerned.

Wi-Fi credentials have their own payload format

Both iOS and Android recognise a specific string format for network credentials and offer to join the network when it is scanned. It is the standard way to put guest Wi-Fi on a card without reading a password aloud.

Note what this implies: the password is in the code as plain text. Anyone who photographs it has the credentials, so a printed code is exactly as sensitive as the password written out.

WIFI:T:WPA;S:NetworkName;P:password;H:false;;

T  security type (WPA, WEP, nopass)
S  SSID
P  password
H  hidden network

Keeping it scannable

  • Quiet zone - the blank margin around the symbol is part of the specification, not padding. Cropping it tight is the most common reason a code fails to scan.
  • Contrast and polarity - dark modules on a light background. Most scanners will not read an inverted code, so a light-on-dark design is a gamble.
  • Size - the rough guide for print is a tenth of the scanning distance. A code read from two metres wants to be about twenty centimetres across.
  • SVG for print, PNG for screens. SVG stays sharp at any size, which matters when the code is placed into a layout at unknown scale.

Shorter payloads make better codes

Capacity is banded: as the data grows the symbol steps up to a higher version with more modules, and the pattern becomes finer and harder to read at a distance. Trimming a long tracking query string off a URL can drop the code a version or two and visibly improve reliability.

Uppercase alphanumeric text is stored more efficiently than mixed case, which is why some printed codes use an uppercase short link.

Open a specific mode

Frequently asked questions

Do generated codes expire or get tracked?
Not these. The payload is encoded directly into the image, so there is no redirect service and nothing to expire. Commercial "dynamic" QR services point at their own domain and can change or disable the destination later - and count every scan.
Can I put a logo in the middle?
Yes, at error correction level H, covering no more than about 30% of the area. Test the result on more than one phone: the margin for error is smaller than it looks.
Why will my code not scan from a screen?
Usually contrast or size. Low-contrast colour pairs defeat the decoder even when they look distinct to you, and a code below roughly 200px on screen is unreliable. Keep the modules dark on a light field.
Is it safe to scan a QR code from a poster?
Treat it like an unknown link, because that is what it is. Codes are routinely stickered over with malicious replacements. Check the URL your phone previews before opening it.

Related tools