QR Code Generator
Generate customizable QR codes from text or URLs. Download as PNG or SVG.
Examples
| Input | Result |
|---|---|
| https://example.com | QR code image encoding the URL |
| Wi-Fi credentials: WIFI:T:WPA;S:MyNetwork;P:secret123;; | QR code that auto-connects to the Wi-Fi network when scanned |
| Plain text with rounded dot style and blue foreground | Styled QR code with rounded modules in #0000ff on white background |
| https://example.com with center logo and High error correction | QR code with company logo in the center, still scannable due to 30% error correction |
About this tool
This QR code generator turns any text or URL into a scannable QR code right in your browser. You can customize the dot style (square, rounded, dots, or diamond), pick custom foreground and background colors, and optionally place a logo image in the center. The tool automatically adjusts error correction to High when you add a logo so the code stays scannable.
Four error correction levels are available: Low, Medium, Quartile, and High. Higher levels add more redundancy, which means the QR code still works even if part of it is obscured or damaged. Once you are happy with the result, download the QR code as a PNG for quick use or as an SVG for scalable, print-ready output. No data leaves your browser during the entire process.
Frequently asked questions
What is the difference between the error correction levels?
QR codes have four error correction levels: Low (7%), Medium (15%), Quartile (25%), and High (30%). Higher levels make the code more resistant to damage or obstruction but increase the density of modules. If you are adding a center logo, use High so the logo does not prevent scanning.
Should I download the QR code as PNG or SVG?
Use SVG if you need to scale the QR code to different sizes without losing quality, which is ideal for print materials. Use PNG for quick sharing or embedding in documents where vector support is limited.
How much text can a QR code hold?
A QR code can store up to about 4,296 alphanumeric characters or 2,953 bytes of binary data. In practice, keeping the content short produces a simpler code that scans more reliably, especially at small sizes.
