Generators
QR Code Generator
Generate downloadable QR codes for any text or URL.
Your QR code will appear here
QR codes are generated locally. Your data never leaves your browser.
Frequently Asked Questions & Guide
How to use this QR Code Generator
- Type or paste the text you want to encode into the input box. URLs, plain text, contact info (vCard), Wi-Fi credentials, SMS messages, and phone numbers all work.
- Choose an error correction level. Higher levels allow the QR code to remain scannable even if part of it is obscured or damaged.
- Pick a size (in pixels) and choose foreground and background colors.
- Click Generate. The QR code appears instantly on the right.
- Click Download PNG to save the QR code as an image file.
This generator uses the qrcode npm package, which is the most popular QR code library in the JavaScript ecosystem. The QR code is rendered entirely in your browser — there is no server-side rendering. The output is a PNG image at the size you specify, suitable for printing or embedding in a web page.
What is a QR Code?
A QR code (Quick Response code) is a two-dimensional barcode invented by Denso Wave in 1994 for tracking automotive parts. Unlike a traditional one-dimensional barcode that stores information only horizontally, a QR code stores information both horizontally and vertically in a square grid of black and white modules. This allows a single QR code to store up to 2,953 bytes of binary data, 4,296 alphanumeric characters, or 7,089 numeric characters.
QR codes are ubiquitous in modern life. They are used for contactless payments (Alipay, WeChat Pay, UPI), restaurant menus, boarding passes, event tickets, product packaging, advertising campaigns, Wi-Fi network sharing, contact info exchange (vCard), app store downloads, and many other applications. Modern smartphone cameras can scan QR codes natively without requiring a dedicated app.
What error correction level should I use?
The four levels determine how much of the QR code can be damaged or obscured while remaining scannable:
- L (Low) — 7% redundancy. Smallest QR code, but no tolerance for damage.
- M (Medium) — 15% redundancy. Good default for digital display.
- Q (Quartile) — 25% redundancy. Good for printed materials that might get smudged.
- H (High) — 30% redundancy. Use for QR codes that will be printed on packaging, embroidered on clothing, or placed in harsh environments.
Higher error correction also lets you overlay a logo in the center of the QR code (covering up to ~30% of the modules) while keeping it scannable.
How much data can a QR code hold?
It depends on the error correction level and the type of data. Numeric data is the most efficient (up to 7,089 digits at level L). Alphanumeric (uppercase letters, digits, and a few symbols) supports up to 4,296 characters. Binary data (UTF-8 text including lowercase letters and emoji) supports up to 2,953 bytes. The more data you encode, the larger the QR code grid becomes — and the harder it is to scan with a phone camera at close range.
Can I use custom colors?
Yes, but be careful. QR code scanners rely on contrast between foreground and background. Dark colors on a light background work best. Avoid low-contrast combinations like yellow on white, and avoid inverting the colors (white on black) unless you have tested the result with multiple scanners — some scanners cannot read inverted codes.
Is my data sent to a server?
No. The qrcode library runs entirely in your browser. Your data never leaves your device.