QR Code Generator
Generate custom QR codes with colors, gradients, shapes, logo embedding, and frames. Export PNG, SVG, or PDF. Free, private, browser-only.
Three steps to get started
Choose your QR type
Select URL, text, WiFi, vCard, email, phone, SMS, or social media - then fill in the details.
Customize the design
Pick dot shapes, colors, gradients, eye styles, add your logo, and optionally add a frame with call-to-action text.
Download your QR code
Export as PNG (up to 4096px), SVG (vector), or PDF. Or copy directly to clipboard.
Generate beautiful, scannable QR codes - free and private
A QR code (Quick Response code) is a two-dimensional matrix barcode invented in 1994 by Masahiro Hara at Denso Wave to track automotive parts, and standardized internationally as ISO/IEC 18004. Unlike a one-dimensional barcode, which stores data only along its width, a QR code encodes information across both axes - which is why it holds thousands of characters in a square small enough to print on a business card.
This generator runs entirely in your browser. Your data - WiFi passwords, contact details, business URLs - never touches a server. No sign-up, no watermarks, no expiring codes, and no redirect domain sitting between your customer and your link.
Unlike most free QR tools that offer only plain black-and-white codes, this generator gives you full design control:
- 6 dot shapes - square, rounded, circles, classy, smooth, and pill
- 3 eye (corner) outer styles and 2 inner styles
- Custom foreground and background colors with gradient support
- Logo embedding with automatic error correction adjustment
- Frame templates with customizable call-to-action text
- Export as high-resolution PNG, true vector SVG, or print-ready PDF
Supports 8 data types with proper encoding standards: URLs, plain text, email (mailto:), SMS, phone (tel:), vCard 3.0 contacts, WiFi credentials, and social media profiles for Twitter/X, Instagram, Facebook, LinkedIn, YouTube, TikTok, and GitHub.
Anatomy of a QR code, and why customization still scans
The three large squares in the corners are finder patterns. A scanner locates them first to work out the code's position and rotation - which is why a QR code reads correctly upside down, and why those corners are the one region you should never obscure. Larger codes add smaller alignment patterns to correct for perspective distortion when the surface is curved or photographed at an angle, plus timing patterns, the alternating row and column that tell the decoder the size of a single module.
Everything else is data and error correction, encoded with ReedβSolomon coding - the same family of algorithms used on CDs and in deep-space transmission. Four levels are defined: L recovers 7% of the code, M 15%, Q 25%, and H 30%. That redundancy is what makes design customization possible at all. Adding a center logo physically destroys modules, so the tool raises error correction to H automatically, letting the remaining data reconstruct what the logo covers.
Printing rules that decide whether it works
Three mistakes account for most unscannable codes in the wild. First,inverted contrast: a light pattern on a dark background breaks many scanners, which expect dark modules on light. Keep foreground dark and background light, with strong contrast - pale yellow on white will fail. Second, a missingquiet zone; the specification requires four modules of blank margin on every side, and codes butted against a photo edge or a border frequently fail. Third, size: a workable rule of thumb is that the printed code should be at least one tenth of the intended scanning distance, so a poster read from two metres away wants a code around 20 cm across. For a table tent or business card, 2β3 cm is generally the practical minimum.
Keep the payload short. A QR code can technically store 4,296 alphanumeric characters, but the module count grows with the data, and a dense code demands a better camera and steadier hand. Under about 300 characters keeps the pattern coarse and forgiving. For print work, download the SVG - it is true vector geometry that stays sharp at any size, whereas even a 4096-pixel PNG will soften when scaled up to a banner.
Because the code is generated locally and encodes your destination directly, it is static: it never expires and cannot be edited after printing, but it also has no tracking redirect and no third party that can take it offline.