QR Code Generator
Generate a QR code PNG with custom colours and error correction.
Overview
The QR Code Generator turns text, a URL, or any short payload into a downloadable PNG QR code, with controls for foreground and background colours and the error-correction level. Type your content, pick a colour scheme, and the tool produces a scannable image at the resolution you specify.
It is the right tool for printed business cards, Wi-Fi sharing posters, restaurant menu links, event RSVPs, app-store deep links, and any other case where you want to generate a QR code online with custom colours. The bundled error correction means the code still scans even when scuffed, printed small, or overlaid with a logo.
How it works
The encoder applies the QR Code specification (ISO/IEC 18004): it selects the smallest version that fits the payload at the chosen error-correction level, encodes the payload in the most compact mode (numeric, alphanumeric, byte, or kanji), and adds Reed-Solomon error-correction codewords sized for the level. Levels are L (7%), M (15%), Q (25%) and H (30%) — recoverable damage per code.
The bit stream is mapped onto a square grid with three fixed-position finder patterns (the bullseye squares in three corners), timing and alignment patterns, and quiet-zone padding. A masking pattern is chosen to minimise visually misleading patterns. The result is then rendered at the requested pixel dimensions with the chosen module size.
Examples
Payload: https://example.com/menu/winter-2026
Level: M (15% error correction)
Colour: black on white
Output: 256x256 PNG, scannable from a phone at arm's length.
Payload: "WIFI:T:WPA;S:HomeNetwork;P:supersecret;;"
Level: Q (25%)
Output: Print on the fridge — guests join your Wi-Fi with one scan.
Payload: vCard contact card
Level: H (30%)
Colour: navy on cream — survives a centred logo overlay.
FAQ
Which error-correction level should I pick?
L is fine for clean digital displays. M is a sensible default for print. Q or H are necessary when overlaying a logo in the centre or printing at very small sizes.
Can I put my logo in the middle?
Yes — the centre region of a Q- or H-level QR code carries enough redundant codewords that a logo covering up to 25-30% of the area still scans. Use the Image Watermarker to overlay it.
What's the maximum payload?
A version-40 QR code at level L holds about 4,200 alphanumeric characters. Most practical payloads (URLs, vCards) fit in versions 2-10.
Will inverted colours scan?
Most modern readers handle light-on-dark codes, but the spec officially expects dark-on-light. Test before relying on a coloured-on-coloured scheme.
Why is my QR code blurry when printed?
The PNG was rendered too small for the print resolution. Generate the code at a module size of at least 10 px and let your print pipeline downsample if needed.