Loading the styling panel…
Not what you meant? Choose a type
Just need a plain code? Back to the simple generator
Example. Paste something to make your own.
A custom QR code keeps the same underlying data pattern as a plain black-and-white code, but changes how it looks: brand colors or a gradient instead of flat black, rounded or circular modules instead of squares, a logo in the center, and an optional frame with a call-to-action label. It is designed to look intentional rather than generic while still scanning reliably.
The studio pairs every visual choice with a live scannability check, since design and readability pull in opposite directions: the more you customize, the more careful you have to be about contrast and how much of the code a logo covers.
Balance error correction against logo size. A logo covering part of the code removes data that the scanner needs to reconstruct, and higher error correction levels (Q, H) rebuild more of that missing data, but they also make the pattern denser. Keep the logo to 20 to 30 percent of the code area and use the lowest error correction that still passes the scannability check, rather than always maxing it out.
Leave the quiet zone alone: a blank margin of at least four modules on every side of the pattern. Frames and call-to-action text sit outside that margin, and a busy background or a border that touches the modules is a common reason a styled code fails to scan.
Keep contrast ratio at 4.5:1 or higher between foreground and background. Light-on-light or muted brand colors can look fine on screen but fail under poor lighting or when printed on lower-quality paper. If your brand palette is naturally low-contrast, use it for the frame and call-to-action text instead of the QR modules themselves.
A gradient is judged by its palest end, not its average. The studio scores every stop, because the code has to be read where the fade is lightest: a gradient running from deep navy to sky blue fails at the sky-blue end however good the mean looks. The curated gradients clear the threshold at both ends with room to spare, and the eyes stay a flat colour underneath one so the three corner markers keep their full contrast. Build your own and the meter will tell you where it gives out. Under Browse templates, Event, Social and Branded arrive with a gradient already set; the presets meant for small print stay flat, because at business-card size the contrast margin is worth more than the finish.
Test before you print at scale. Print one copy at the actual size you plan to use, then scan it with two or three different phones in normal lighting. A design that looks fine at full size on a monitor can fail once it is shrunk down to fit a business card or product label.
For a simpler, single-purpose code without the full design studio, use the URL QR code generator or the WiFi QR code generator. To make many codes at once, the bulk QR code generator takes a CSV and carries its own template gallery; a design built here does not travel across to it. For more on adding a logo without hurting scannability, see the guide to QR codes with logo branding.
No. Colors, logo and shape are all part of one static image, and it scans for as long as that image survives. Redesigning it later means generating a new image and replacing the old one.
No. Upload a logo, adjust colors, and download the result. There is no sign up, and the logo file stays on your device.
Yes, if you keep contrast high and error correction matched to the amount of customization. The live scannability score checks contrast and logo coverage as you design and flags a problem before you download. Dark modules on a light background scan most reliably; test a light-on-dark design before printing.
Keep it to roughly 20 to 30 percent of the code area, with error correction set to Q or H. Those levels can recover about 25 and 30 percent of damaged modules, which is what makes the covered area tolerable. At L or M, keep the logo smaller or leave it off.
Use Q or H when embedding a logo. These levels rebuild more of the missing data, which compensates for the area the logo covers, but they also make the pattern denser, so print the code a little larger. Without a logo, M is a reasonable default.
Aim for at least 4.5:1, the same threshold used for readable text under WCAG accessibility guidelines. Below that, cameras in low light or at an angle can fail to distinguish the modules from the background, especially with light foreground colors or gradients.