What is a QR code?
A QR (Quick Response) code is a 2D barcode that encodes text — typically a URL — in a matrix of black and white squares that any smartphone camera can read. QR codes support four data types (numeric, alphanumeric, binary, kanji) and four error correction levels (L, M, Q, H) that allow the code to remain readable even if up to 7%, 15%, 25%, or 30% of it is damaged or obscured. They are used for product packaging, contact cards, event tickets, payment systems, and WiFi network sharing.
How to use this tool
- 1 Type or paste the text or URL you want to encode.
- 2 Adjust size, margin, dark/light color, and error correction level.
- 3 The QR code updates live on the canvas below.
- 4 Click "Download PNG" to save the QR code as an image file.
Frequently asked questions
What is the error correction level?
L (Low) recovers 7% damage — smallest code. M (Medium, default) recovers 15%. Q recovers 25%. H (High) recovers 30% — largest code but most resilient. Use H if you plan to print the code over a logo or on a textured surface.
What is the maximum text length?
For alphanumeric content at error correction level L, a QR code can encode up to 4,296 characters. URLs are typically much shorter than this limit.
Why does increasing size not increase scan distance?
Scan distance depends on the physical size when printed, not the pixel resolution. A 256-pixel QR code at 300 DPI prints at under 1 cm — print at a larger DPI or physical size for longer scanning distance.
What library is used?
qrcode.js v1.5.4, loaded from jsDelivr CDN. It renders directly to a canvas element in your browser — no server is involved.
Is my data sent anywhere?
No. QR code generation runs entirely in your browser using the qrcode library on the canvas element.