Skip to content

QR Code Generator

QR codes for URLs, Wi-Fi, vCards, or plain text. SVG and PNG. Nothing leaves the page.

The generator below renders QR codes locally using the ISO/IEC 18004 standard. Pick the error-correction level based on how forgiving the print medium needs to be: Low fits more data in a denser code; High lets the code be scanned even when a third of it is occluded by a logo, stain, or print defect. Output is provided as inline SVG (sharpest, smallest, scales infinitely) and as a downloadable PNG.

URLs, plain text, Wi-Fi (WIFI:T:WPA;S:Name;P:Pass;;), vCards (BEGIN:VCARD...). Lower error-correction + shorter content = denser code.

Enter content to render a QR code.

How to use

  1. Type or paste the content

    Plain URL for a link, raw text for a note, or a structured string for Wi-Fi / vCard (see Examples).

  2. Pick the size and error-correction level

    256-1024 px presets cover most use cases. Error correction L/M/Q/H trades data capacity for resilience.

  3. Copy SVG or download PNG

    Copy SVG to paste into Figma, Illustrator, or HTML. Download PNG for print or social-media graphics.

Content templates

Error-correction reference

LevelRecoversBest for
L~7% damageOn-screen, controlled environment
M~15% damageDefault. Clean print, well-lit scans.
Q~25% damageOutdoor signage, restaurant menus
H~30% damageCenter-logo overlay, stickers, harsh wear

Frequently asked questions

Is the QR code generated on your servers?
No. The generator runs entirely in your browser using a JavaScript implementation of the QR encoder. The content you type never leaves the page — no analytics, no logging, no API call.
What's the maximum amount of data I can encode?
About 4,300 alphanumeric characters at error-correction L, dropping to ~1,800 at H. URLs and short text comfortably fit at any level. For very long content, prefer URL-shortened links to keep the code scannable from a phone camera.
Why does my code render with more or fewer squares?
QR codes come in 40 sizes ("versions") from 21×21 to 177×177 modules. The generator picks the smallest version that fits your content at your chosen error-correction level. More data or higher EC → larger version → denser code.
Can I add a logo in the centre?
Yes, but use error-correction H so the code remains scannable even with the centre occluded. Don't cover more than ~25% of the code's area. Paste the SVG into Figma/Illustrator and overlay your logo in the middle.
What format should I download for print?
SVG. It scales to any size without pixelation and prints sharply on any DPI. PNG is fine for screen sharing or social media; for posters and packaging, SVG is the right answer.
Why does the Wi-Fi format have so many semicolons?
It's the ZXing-defined format adopted by iOS and Android: T (type), S (SSID), P (password), each followed by ; and the whole string terminated by ;;. Hidden networks add ;H:true. The double-semicolon at the end is required.

About

What's inside a QR code

Three large square "finder patterns" in the corners orient the scanner. Smaller "alignment patterns" handle perspective distortion. The rest is data + Reed-Solomon error-correction bits applied to a masked bitstream. The encoder picks one of eight mask patterns to minimise visual clumping that would hurt readability.

When QR codes fail to scan

Common causes: too-low contrast (light grey on white), aggressive JPEG compression that smears module edges, too small for the data capacity (scan distance × code physical size has a lower bound), or printing across a fold/seam. Use error-correction Q or H whenever the code might be physically damaged.