ToolBook
Support us on Ko-fi
Help us keep this free, forever

QR Code Generator

How to generate and download a QR code

Type your content, adjust colors and error correction, choose PNG or SVG, and download in seconds.

  1. Enter your text or URL

    Paste or type the content to encode (a URL, plain text, phone number, or Wi-Fi string) into the input box. Use the format hint buttons (URL, Wi-Fi, Phone, Email) to pre-fill common templates. The QR code updates as you type.

  2. Choose error correction level

    Select L for compact codes on clean screens, M for general print use, Q for outdoor or textured surfaces, or H for maximum damage tolerance. H is recommended when a logo will cover part of the code.

  3. Customize colors

    Use the foreground and background color pickers to match your brand or design. Keep strong contrast between the two colors. Dark foreground on a light background gives the most reliable scans.

  4. Choose your export format

    Select PNG for digital use or for physical print at fixed sizes. Select SVG for a vector file that scales to any print size without pixelation, ideal for business cards, banners, or merchandise.

  5. Download your QR code

    Click "Download PNG" or "Download SVG". Files are named after the first 20 characters of your content for easy identification. SVG files use the same naming scheme with a .svg extension.

Frequently asked questions

What can I encode in a QR code?

Any text up to ~2,900 characters: URLs, plain text, phone numbers (tel:+919876543210), email addresses (mailto:hello@example.com), SMS (smsto:+91...:message), or Wi-Fi credentials (WIFI:T:WPA;S:networkname;P:password;;). The most common use is encoding a URL so a smartphone camera opens the link directly.

What does the error correction level do?

QR codes embed redundant data so they can be read even when partially damaged. L recovers 7% of data and gives the smallest, densest pattern. M recovers 15% and is the default for most uses. Q recovers 25% and works well for textured or outdoor print. H recovers 30% and is best when the code may be partially obscured or worn. Higher correction produces a larger, less dense pattern.

Can I change the colors of my QR code?

Yes. Use the foreground and background color pickers to create a branded or custom QR code. For reliable scanning, maintain strong contrast between the two colors. Dark foreground on a light background is the safest choice. Avoid low-contrast combinations like yellow on white, which can confuse phone cameras in varied lighting.

When should I use SVG instead of PNG?

Choose SVG when printing the QR code at any size without pixelation, such as on business cards, banners, merchandise, or signage. SVG is a vector format that scales to any resolution without quality loss. PNG is ideal for digital use (websites, presentations, messaging) and prints well at the sizes offered by the slider.

How do I create a Wi-Fi QR code?

Click the "Wi-Fi" hint button below the text input. It pre-fills the correct format: WIFI:T:WPA;S:YourNetwork;P:YourPassword;; Replace the placeholders with your actual credentials and download. When a phone scans the code, it will offer to join that network automatically. Use error level H for higher damage tolerance on printed Wi-Fi codes.

How large should a printed QR code be to scan reliably?

At least 2.5 cm x 2.5 cm for phone scanning from 20 to 30 cm away. Roughly double the print size to double the scan distance. Billboards work with codes 20 to 30 cm across. The PNG this tool generates is up to 1024 x 1024 px and the SVG scales to any size, so print at 96 DPI or higher for sharp output.

Is the generated QR code permanent?

Yes. These are static QR codes. The data is baked into the pixel pattern and no server is involved. There is no expiry, no tracking, and no account required. The QR code will work as long as the encoded destination (such as your URL) remains accessible. Dynamic QR codes that can be edited after printing require a third-party redirect service.

What file formats are available, and are they print-quality?

You can download PNG or SVG. PNG is lossless with a white quiet zone border for reliable scanning. At the maximum 1024 x 1024 px setting, it prints sharply at up to A5 size at 150 DPI. SVG is a vector format with no resolution limit and is the best choice for large-format print and professional design workflows.

QR codes: how they encode data, error correction, and choosing the right settings

How QR code encoding works, what error correction levels mean for print reliability, and when to use static vs dynamic QR codes.

How QR codes store data

A QR (Quick Response) code is a 2D matrix barcode invented by Denso Wave in 1994 for tracking automotive parts, and it turns out that the same properties that made it useful on factory floors (fast scan, large data capacity, damage tolerance) made it perfect for smartphones.

Data is encoded in the black-and-white cell pattern using Reed-Solomon error correction, which adds redundant parity data so the code can be reconstructed even if parts of it are physically damaged, dirty, or obscured. The four error correction levels (L, M, Q, H) let you trade smaller file size (simpler pattern) for higher damage resilience.

Alphanumeric vs binary encoding

QR codes can encode data in several modes depending on content. Numeric-only strings (like a phone number) fit into the smallest patterns. Alphanumeric mode handles uppercase letters and a handful of special characters, achieving ~45 characters per data module. Binary mode, used for URLs and general text, stores 8 bits per character and is more flexible but slightly less dense.

A typical URL like https://toolbook.io/tools/qr-code-generator is 50 characters. At error level M with binary encoding, this fits comfortably within a 29x29 cell pattern (version 3). The practical capacity for a high-error-correction QR code is around 1,800 characters; at low correction it stretches to ~2,900 bytes.

Static vs dynamic QR codes

The QR code this tool generates is static: the encoded content is permanent. There is no server redirect. This is both a feature and a limitation: the QR code is fast, private, and works forever without a subscription, but you cannot change the destination after printing.

Dynamic QR codes store a short redirect URL pointing to a third-party server. That server then redirects to the actual destination, which can be updated without reprinting. Dynamic codes also enable scan analytics. The trade-off: if the third-party service shuts down or your subscription lapses, every printed code stops working.

For most uses such as linking to your own stable URL, sharing a Wi-Fi password, or encoding contact info, a static QR code is the better choice.

Print guidelines

For reliable scanning, print QR codes at a minimum module size of 0.4 mm. A 512x512 px PNG printed at 150 DPI gives a 3.4 cm x 3.4 cm physical code, well above the threshold. For larger formats or professional print workflows, download the SVG, which scales to any size without pixelation. The white quiet zone border (two modules wide by default in this tool) is required: scanners use it to detect the code boundary.

Avoid placing a QR code on reflective surfaces (glossy packaging, glass) as specular reflections confuse camera autofocus. Matte paper or matte laminate works best.