How to Create a QR Code With Your Logo (In 2 Minutes)
Most QR codes are plain black squares. Here's how to put your logo in the center, match your brand colors, and end up with something people actually want to scan.
A plain black-and-white QR code works. But a QR code with your logo in the center, in your brand colors, looks intentional. It signals that you cared enough to brand it β and that makes people more likely to scan it.
Here's the part most people don't know: QR codes with logos are designed to have them. The QR standard includes something called error correction β a built-in redundancy that lets the code survive damage or obstruction. At the highest level (H), a QR code can be up to 30% covered and still scan perfectly. A centered logo falls well within that limit.
What you need before you start
- Your URL β the page you want people to land on (menu, shop, booking form, Linktree, anywhere)
- Your logo file β PNG with a transparent background works best; JPG is fine too
- 5 minutes
Step 1: Enter your URL
Open the generator at the top of this page and type or paste your URL. The QR code renders live as you type β you don't need to click anything.
Keep your URL as short as possible. A shorter URL means fewer QR modules (the little squares), which means a cleaner-looking code that scans faster. If your URL is long, consider a clean permalink or a page alias instead of a raw tracking URL.
Step 2: Upload your logo
Click the logo upload area and pick your file. Two things happen immediately:
- Your logo appears centered in the QR code preview
- The generator samples the dominant color from your logo and sets it as the foreground color automatically
This color-matching step takes about a second and is surprisingly good. It finds the most prominent non-white color in your logo and applies it to the QR dots. If you want to tweak it manually, click the Foreground swatch and adjust.
Step 3: Tune the colors
Three color controls matter:
- Foreground β the color of the QR dots. Should have strong contrast against the background. Dark colors on light backgrounds scan best.
- Background β almost always white or your lightest brand color. Scanners need contrast to read the modules.
- Eye color β the three square βfinder patternsβ in the corners. Giving these a different color (often your accent color) adds a nice touch without hurting scannability.
The single most common mistake: insufficient contrast. Your foreground and background colors need to be far apart in brightness. Dark navy on white: great. Medium gray on light gray: won't scan reliably.
Step 4: Choose a dot style
The default square dots are the safest choice β universal scanner compatibility. Rounded dots look softer and more modern. The dots style (circular modules) gives a very clean, minimal look. Classy uses asymmetric rounding for something more distinctive.
All four styles scan fine when generated with proper error correction. The difference is purely aesthetic.
Step 5: Download
For anything you're going to print professionally β menus, signage, business cards, packaging β you want the Pro download. Here's why:
- HD PNG (2048 Γ 2048px) β won't pixelate at A5 size or smaller
- SVG β vector, scales to billboard size without losing a pixel
- PDF β print-ready, hand directly to a print shop
The free 512px PNG is fine for a website, email, or WhatsApp share. For print, go Pro.
Try it now β paste your URL and upload your logo
Open the generator βNo account. No card. Free 512px PNG download to start.
What makes a logo QR code scannable
Three things cause QR codes to fail:
- Low contrast β the most common. Always test on a phone before printing thousands.
- Logo too large β covering more than ~25% of the code overwhelms the error correction. Keep your logo to roughly 20-22% of the total area.
- Printing too small β QR codes need to be at least 2cm Γ 2cm (about ΒΎ inch) for a standard phone camera to read comfortably. For outdoor signage or anything scanned from a distance, go bigger.
One thing to check before you print at scale
Open your phone's camera and scan the QR code on your screen before you commit to a print run. Check that it:
- Scans in under 3 seconds
- Goes to the right URL
- Works on both iOS and Android
If it scans on screen, it will scan in print (assuming the print quality is reasonable and the size is right).