How to Add Your Logo to a QR Code (Step-by-Step)
Upload your brand mark in Pretty QR’s Logo tab: file limits, size and margin sliders, hide-background-dots, testing, and export as PNG, JPG, or SVG, without breaking scans.


To add a logo in Pretty QR, open the Logo tab and upload a PNG, JPG, or SVG under 2MB. Set its size and margin, leave Hide Background Dots on if you want a clean patch behind it, scan the code with two phones, and download it. Pretty QR raises the error correction level for you when a logo is present, but a small logo still scans best.
I have printed QR codes that looked incredible and refused to scan. Half the time the culprit was the logo: too big, too busy, or sitting on top of modules without enough breathing room. The other half was contrast or size of the whole code. Our QR code design rules and getting started with custom QR codes explain the “why” behind those failures.
This guide is the click-by-click path inside Pretty QR. Screenshots use the Elegant Purple template and a simple sample mark so you can see color harmony between modules and logo. You can download the same sample logo if you want to follow along literally.
What should I prepare before adding a logo?
File type. Use PNG, JPG, or SVG. The upload area spells out “PNG, JPG, SVG up to 2MB.” That limit is enforced so enormous photos do not blow up the browser or the export pipeline.
Visual design. Favor a mark that reads when it is small: thick strokes, limited detail, and strong separation from whatever sits behind it. Square-ish logos tend to sit neatly in the center square everyone expects.
Contrast and the rest of the QR. A logo does not fix bad module/background contrast. If your foreground and background colors are mushy together, fix Styling (or pick a template) before you obsess over the logo. Getting started has the squint test and contrast mindset; the design rules go deeper on quiet zones and print testing.
Content first. Decide what the QR encodes (usually a URL) in the Content tab before you spend time on the look.
How do I open the editor and set what the QR encodes?
You can start from the homepage: enter your link or choose another content type, watch the preview update, then open the full editor when you are ready to style and export.

The editor lives at Design. That flow persists your work: after your first change, Pretty QR creates a saved design and moves you to /design/[id] so logos, colors, and exports are not lost on refresh. (The old /customize URL redirects to /design and is deprecated.)
If you want the full editor straight away, open /design directly. It has the same Content, Templates, Styling, Logo, and Frame sidebar and live preview.
Open the Content tab (it is the first tab in the sidebar next to Templates, Styling, Logo, and Frame). Enter the URL or fill the fields for text, Wi‑Fi, vCard, email, or phone, whatever you need. You should see the preview update as you go.

If you are new to the tool, do not worry about perfection yet. Get something scannable in the preview, then move on. You can always come back after you add a logo.
Should I pick a template before I add my logo?
You do not have to, but it saves time. Templates apply colors, frames, and sometimes a predefined look so you are not tuning from scratch.
Open Templates and pick one that fits your brand. For the screenshots in this article I used Elegant Purple: purple modules on a very light background, because it pairs cleanly with a simple violet logo. You can open the same style from the templates gallery or jump to the Elegant Purple template page if you want that starting point explicitly.

Heads-up: some social templates ship with their own center artwork (for example Instagram-style layouts). If you apply one of those and then upload your logo, you are stacking two brand stories in the middle. That can work, but it is easy to overfill the center. When you want your logo to be the hero, start from a template without a baked-in center icon, then add yours.
Where is the Logo tab and how do I upload my file?
Click Logo in the sidebar. You will see Brand Logo as the heading and an Upload Logo area. Click it to choose a file.

Choose a file under 2MB. If the file is not an image type, the app will stop you. After upload, you get a Current Logo preview, Remove logo, and Change Logo so you can iterate without refreshing the page.
What do logo size, margin, and “Hide background dots” actually do?
After upload, three controls matter:
Logo size is a slider from 10% to 50%. The number is a share of the code's error correction budget, not of its area: at 30% the logo can hide up to about 9% of the modules, and at 50% about 15%. The built-in tip says to stay under 40%. I start near 25–30%, scan with two phones, and go higher only if the scans stay instant.
Logo margin adds space between your mark and the surrounding modules (up to 20px in the slider). If the logo feels glued to the pattern, add margin. If the center feels empty, reduce it slightly.
Hide background dots removes the QR modules behind the logo so your artwork sits on a flat patch. That often looks more intentional and can help visually busy logos. Treat it like any other change: scan again after you toggle it.

When a logo is present, Pretty QR switches to the highest error correction level (H), so the code can lose more data in the center and still scan. It still has limits: a maximum-size, busy logo can make scans slow or fail, so test after every change.
How do I export the QR code after the logo looks right?
Use the Download button in the top bar. The menu offers:
- PNG (High Quality): labeled Recommended for most uses
- JPG (Compressed): smaller files, photo-style compression
- SVG (Vector): scalable for print and design tools
Pick the format that matches your next step: social and quick shares often land on PNG, print shops sometimes want SVG or a high-res PNG, and JPG is fine when you explicitly want a lighter raster.
Export after you have scanned successfully in the preview context you care about, especially if you will print. Paper, ink, and lamination change contrast; the design rules cover testing printed pieces.
How should I test a QR code that has a logo?
Same discipline as any custom code, with extra attention to the center:
- Try more than one phone, include an older Android if you can.
- Try bad light, not just your desk. Menus and events are rarely studio-lit.
- If you will print, scan a proof from the actual printer and stock.
If scanning gets slow or flaky, shrink the logo, add margin, simplify the artwork, or improve global contrast in Styling. Toggling Hide background dots off and on is worth a quick A/B test when the center feels muddy.
What if my QR code still will not scan?
Work through this order:
- Logo too dominant? Move the size slider down and test again.
- Whole-code contrast weak? Adjust colors or pick a calmer template.
- Quiet zone cropped? Make sure nothing (text, crop, frame) eats the margin around the full symbol. See the design rules.
- Physical size too small? On print, bump the entire code, not just the logo.
Still stuck? Strip the logo temporarily. If the bare code scans instantly, you know the issue is center overload or interaction between logo and modules, not the encoded URL.
How does this compare to using a template that already includes a logo?
Templates are fast when the built-in story matches yours, great for “Instagram look” or other preset social styles. Uploading your own logo is the right move when the center must be your mark, your sub-brand, or a campaign icon.
You can browse all starters on /templates, open a template’s detail page, and click Customize to jump into /design with that look applied; your design is then saved like any other session. There is no rule against combining a template with your own Logo tab artwork, as long as you do not overcrowd the middle.
Quick recap
- Start from / or open /design when you want the editor immediately; both end up in the same UI, and
/designkeeps your design saved after the first edit. - Set Content, optionally pick a Template so color and frame are not fighting your logo.
- Open Logo, upload PNG/JPG/SVG under 2MB.
- Tune size (stay conservative: think 25–30% before you chase 40%), margin, and Hide background dots as needed.
- Test on real hardware, including a printed proof if this is going on paper.
- Download PNG (High Quality), JPG (Compressed), or SVG (Vector) from the top Download menu.
If you want the fastest path from zero to a styled code (not only logos), keep getting started with custom QR codes open in another tab. It covers the rest of the styling; this article covers only the logo.
Questions? [email protected]
Frequently asked questions
What image formats and file size can I use for a QR code logo in Pretty QR?
Pretty QR accepts PNG, JPG, or SVG. Each file must be under 2MB. If export fails or preview looks wrong, try a smaller PNG or simplify an overly complex SVG.
What is a safe logo size inside the QR code?
The Logo tab slider runs from 10% to 50%. The number is a share of the code's error correction budget, not of its area: at 30% the logo can hide up to about 9% of the modules, and at the 50% maximum about 15%. The in-app tip says to stay under 40%. Start near 25–30% and go higher only while test scans stay fast.
Do I need to change error correction myself when I add a logo?
No. In Pretty QR, when a logo is present the generator uses a higher error correction level automatically so the code can tolerate more “damage” in the center. You still need a reasonably sized logo and good contrast. Error correction is not a license to cover half the code.
Should I use PNG or SVG for my logo?
SVG is great for crisp vector marks. PNG with transparency works well when you need a raster asset from your brand kit. Either is fine as long as the artwork stays readable at small sizes and does not visually merge with the modules behind it.
What does “Hide background dots” do behind my logo?
It clears the QR modules in the area behind your logo so the mark sits on a clean patch. That usually makes the logo easier to see and can help scanners, but you should still test on real phones after toggling it.
Related articles

Getting Started with Custom QR Codes
Learn how to create beautiful, customized QR codes that stand out from the crowd and actually get scanned.

How to Make QR Codes in Bulk from a Spreadsheet (CSV)
Make hundreds of styled QR codes at once from a CSV or a pasted list: how to prepare the spreadsheet, name each file, choose PNG, SVG, or print-ready files, the limits per batch, and how developers can do the same with the QR API.

How to Make a QR Code That Never Expires (Free)
A static QR code never expires: your link is in the pattern itself. Why codes from "free" generators stop working after a trial, how to check whether a printed code is static or dynamic, how to keep an editable link without a subscription, and what happens to Pretty QR dynamic links if a plan ends.