{ }
中文

QR Code Generator

Type any text or URL to generate a scannable QR code. Download the result as a PNG or SVG.

How QR codes work

A QR code (Quick Response code) is a two-dimensional barcode invented by Denso Wave in 1994. Unlike one-dimensional barcodes, a QR code can store thousands of characters in a single square and is scannable from any rotation. The three large squares at the corners are position markers; the smaller squares dotted across the grid are alignment markers. Reed–Solomon error correction is woven into the encoded data so the code remains scannable even when up to 30 percent of it is obscured.

This generator uses the qrcode library to render QR symbols on an HTML5 canvas. You can choose the error-correction level (L, M, Q, or H) and the rendered size. Higher error correction means more redundancy and a denser grid; pick H if you plan to overlay a logo or print on a physical surface that may scuff. PNG output is good for the web; SVG output scales without quality loss and is preferable for print.

Use cases

  • Embed a meeting link on a slide so attendees can scan it with their phone.
  • Print a Wi-Fi credentials QR code for guests using the WIFI:T:WPA;S:...; payload format.
  • Add a vCard QR code to a business card so contacts save automatically.
  • Generate a paylink for an in-person purchase.
  • Place a QR code on packaging that opens an instructional video.

Best practices

  • Use the highest error correction (H) when overlaying a logo on the QR code.
  • Keep a quiet zone (white margin) of at least four modules around the symbol — without it many scanners fail.
  • Test the printed result with a real phone scanner; on-screen previews can hide rendering bugs.
  • Prefer SVG when the QR code will be resized; rasterised scaling introduces artefacts.
  • For URLs, use a redirect domain you control so you can change the destination without reprinting the code.

Frequently asked questions

Is the input sent to a server?
No. QR rendering happens entirely in your browser using the qrcode JavaScript library. We never see what you encode.
What is the maximum capacity?
Around 4,296 alphanumeric characters or 2,953 bytes at the lowest error correction. In practice keep payloads short for reliable scanning.
Why does the same text produce a slightly different image each time?
The encoder picks the smallest version (size) and mask pattern that fits. If you change the error-correction level the image changes too.
Can I generate QR codes for Wi-Fi or vCard?
Yes — paste the appropriate payload format (WIFI:T:WPA;S:NetworkName;P:Password;; for Wi-Fi, BEGIN:VCARD...END:VCARD for vCards) into the input.