QR Code Generator

Max 4 KB · Updates automatically as you type

Error correction level
Preview
QR code will appear here

A QR code (Quick Response code) is a two-dimensional barcode that encodes text as a grid of black-and-white squares, readable by any phone camera. Unlike a traditional 1D barcode, which only holds a short numeric identifier, a QR code can hold up to a few thousand characters directly — a full URL, a WiFi network’s credentials, or a short note — with no lookup database required on the scanning end. This tool generates one entirely in your browser: type or paste content, and a live preview updates automatically.

Error correction is what makes a QR code readable even when part of it is dirty, creased, or partially obscured (a logo placed over the center, for example). It works by encoding your content with extra redundant data using Reed-Solomon error correction — the same family of error-correcting code used in CDs and DVDs — so a scanner can reconstruct the original content even if some modules are unreadable. Four standard levels trade recovery capacity against code density: Low (~7% of the code can be damaged and still scan) fits the most content into the smallest, least-dense grid; Medium (~15%) is a reasonable default for most uses; Quartile (~25%) suits printed material that gets handled often; High (~30%) is the most damage-tolerant but produces the densest grid, which is harder for a camera to resolve at small print sizes — reserve it for content likely to get scuffed, or codes with a logo overlaid on top. Higher error correction also means a QR code can hold less of your actual content at a given size, since more of its capacity goes to redundancy.

Size and margin control the generated image’s dimensions, not the amount of content it can hold. Size sets the final pixel width and height of both the PNG and SVG output. Margin sets the width of the “quiet zone” — the blank border required around every QR code’s edge for a scanner to reliably detect where the code starts; most QR readers need at least a small quiet zone to lock onto the code at all, so this tool defaults to the same 4-module margin most QR generators use, but it can be adjusted if a design needs a tighter or wider border.

PNG vs. SVG output. PNG is a fixed-resolution raster image — straightforward to paste into a document, slide, or chat message, but it loses sharpness if scaled up beyond its generated resolution. SVG is vector output: mathematically defined shapes rather than a pixel grid, so it scales to any size — a phone screen or a building-sized banner — with zero loss of sharpness, and opens natively in design and print software. This tool generates both from the same input, so you can preview once and download whichever format the destination actually needs.

Examples

Frequently asked questions

Why is my QR code not scanning?
Three common causes, in order of likelihood. First, the code is too small relative to the scan distance — a code meant for a phone screen needs far less size than one printed on a poster viewed from across a room; try the Size option at a larger pixel value, or scale the downloaded SVG up (it loses no quality at any size). Second, there's too much data encoded for the physical size it's printed or displayed at — more content means a denser grid of smaller modules, which gets harder for a camera to resolve; try a shorter piece of content, or increase Size. Third, a High error correction level combined with a small print size makes an already-dense code even denser — Low or Medium usually scans more reliably at small sizes unless the code needs to survive real damage or a logo overlay.
PNG or SVG — which should I download?
SVG for anything that gets resized, printed, or placed in a design tool — it's vector output, so it scales to any size (a business card or a building-sized banner) with zero loss of sharpness, and most design and print software (Illustrator, Figma, InDesign) opens it natively. PNG for a quick drop into a slide deck, a chat message, or anywhere a fixed-resolution raster image is what's expected. If in doubt and the destination supports it, SVG is the safer choice — it can always be exported to a PNG later at whatever resolution is needed, while a PNG can't be scaled back up into a crisp SVG.
What's the actual capacity limit for a QR code?
At the largest standard QR version (version 40, a 177×177 module grid) and the lowest error correction level, a QR code can hold at most about 2,953 bytes of raw text. Higher error correction levels lower that ceiling — roughly 2,331 bytes at Medium, 1,663 at Quartile, and 1,273 at High — since more of the code's capacity goes to redundancy rather than your actual content. This tool encodes up to 4 KB of input and reports a clear error if your specific text, at the error correction level you've chosen, is too large to fit — rather than a generic library failure.
Can I encode a WiFi network or a vCard, not just a URL?
Yes — a QR code just encodes text, and a scanning app is what interprets that text's format. A WiFi network uses the pattern WIFI:T:WPA;S:NetworkName;P:Password;; (T is the security type — WPA, WEP, or nopass for an open network); most phone camera apps recognize this and offer to join the network directly. A vCard uses the BEGIN:VCARD/END:VCARD format for a scannable contact card. Paste either format directly into the input above — this tool encodes exactly what you type, with no format-specific validation.
Is my content sent anywhere?
No. QR generation runs entirely in your browser using a local library — nothing you type is uploaded, logged, or sent to a server. That said, a QR code's whole purpose is to be scanned by someone else, so treat its content as public by design: don't encode a password, private key, or anything else you wouldn't want a random person who scans the code to see.