QR Code Generator

Quick answer: Type any text or URL to get a scannable QR code instantly — for example, https://example.com becomes a Version 2 code (25×25 modules) at medium error correction. Everything runs in your browser: pick the image size (128–512 px), error correction level, and colors, then download the PNG. No sign-up, no uploads, and the code never expires.

Turn any link, Wi-Fi password, or plain text into a QR code you can print or share. The code is drawn live as you type, and the PNG download is the exact pixels you see — free, unlimited, and private.

Enter your content

px

Your QR code

Generated entirely in your browser — your text never leaves this page.

How to use this generator

Type or paste your text or URL — the code redraws instantly. Adjust the size, error correction level, and colors if you like, then hit Download PNG to save the image.

Worked example: encoding https://example.com at error correction level M produces a Version 2 QR code — 25 × 25 modules — verified with the inlined encoder. Longer text automatically steps up to larger versions (up to Version 40, 177 × 177 modules).

How it works

This page inlines the Nayuki QR Code generator library (MIT license), a faithful implementation of QR Code Model 2 per ISO/IEC 18004. Your input is automatically encoded in the most compact mode (numeric, alphanumeric, or byte), the smallest fitting version (1–40) is selected, Reed–Solomon error correction codewords are computed, and the best of the 8 mask patterns is chosen by penalty score. The canvas draws one crisp square per module with the standard 4-module quiet zone around the code, and the PNG download is exactly those pixels.

Reference data

QR Code error correction levels — ISO/IEC 18004
LevelRecovery capacityBest for
L~7%Clean, high-contrast prints
M~15%General use (default)
Q~25%Outdoor or industrial use
H~30%Codes that may get damaged or dirty

Source: ISO/IEC 18004:2015; encoder: Nayuki QR Code generator library (MIT license), inlined.

Method & sources

Method: UTF-8 byte encoding of your input (numeric/alphanumeric optimization where applicable) → minimal-version selection → Reed–Solomon error correction over GF(2⁸) → automatic mask selection → module matrix rendered to canvas with a 4-module quiet zone. Recovery percentages are the standard ISO/IEC 18004 figures, matching the inlined library's level definitions.

Frequently asked questions

Is this QR code generator really free?

Yes — unlimited codes, no sign-up, no watermark. The encoder runs entirely in your browser, so there is nothing to pay for and nothing to rate-limit.

Which error correction level should I choose?

M (medium) is the right default for screens and clean prints. Choose H if the code will be printed small, displayed outdoors, or might get scratched or dirty — higher correction makes the code denser, so it needs more space.

Do my QR codes expire?

No. A QR code is just your text encoded as a picture — there is no server, account, or link shortener involved, so it works forever.

Why won't my QR code scan?

The usual causes are low contrast, a code printed too small, or damage beyond what the error correction level can fix. Regenerate with dark-on-light colors, a larger size, and level H.

Is my text uploaded anywhere?

No. Encoding and drawing happen locally in your browser via the inlined encoder — your text never leaves your device.

Related calculators