Yes, you can make a custom QR code with your own logo and colours, and it will usually still scan if you keep the logo small, raise the error correction, use a dark code on a light background and leave a clear margin around it. Before you print, test it on at least two phones at the size you will actually use.
Digily Link is our product, so the steps below use our QR code generator. Adding a logo and colours is available on the free plan, which lets you create 20 QR codes in total.
How to make a custom QR code with a logo in Digily Link
Everything happens in one form, from the web address to the download, and the steps below follow the settings in the order they appear.
- Open 'QR Codes' and choose 'Create QR'.
- Pick the 'URL' type and paste in the web address you want people to reach. This is also where you choose between a static and a dynamic code, which we cover further down.
- Under 'Style', choose how the code looks. Then set 'Foreground color' to a dark colour and 'Background color' to white or a pale tint.
- Upload your logo under 'Logo'. The file can be jpg, jpeg, png or gif, up to 5 MB.
- Set 'Logo size'. It runs from 5% to 40% and starts at 25%.
- Open 'Error correction capability' and choose a level. It starts at 'M - medium (15%)'.
- Set 'Margin size'. It runs from 0 to 25 and starts at 0, so you will need to change it. If you also add a 'Frame', the margin is halved, so check it again after choosing a frame.
- Choose 'Download' and save the code as PNG or SVG. In an SVG the code itself stays sharp when enlarged for print, but your logo is embedded as the image you uploaded, so use a high-resolution logo file for large prints.
Steps 5 to 7 matter most for a logo code, so the next three sections explain what each setting does.
Logo size and error correction for a QR code with a logo
Start with a logo at or below the default 25%, and if you go larger, raise the error correction yourself. The 25% is only the generator's default, not a size that is guaranteed to scan. In Digily Link the logo sits in the exact centre, directly on top of the code, so the modules underneath it are hidden from the phone's camera. No white border is added behind the logo automatically. If you want a clean white background around it, add one to the logo file before you upload it. This is separate from the clear margin around the outside of the code.
The 'Logo size' percentage is the logo's width compared with the width of the code. Because that percentage applies to the height as well, the area a square logo actually covers is much smaller than the number on the slider.
| Logo size (width) | Approximate area covered (square logo) |
|---|---|
| 15% | about 2.3% |
| 25% (default) | about 6.3% |
| 40% (largest) | 16% |
These figures are simple geometry. A logo set to 25% takes up 25% of the width and 25% of the height, for example. A logo of a different shape covers a different area. The covered area also doesn't tell you how much error correction the logo uses up, so don't use it to work out whether a code will scan.
Error correction is redundant data inside the code that lets a scanner rebuild the parts it cannot read, including the part under your logo. As of 1 November 2026, the error correction page on DENSO WAVE's official QR code site says 'Typically, Level M (15%) is most frequently selected.' The same page recommends the higher levels, Q or H, where the code may get dirty, and explains that a higher level leaves less room for data, so the same address may need a larger code with more modules.
In our own generator the level stays at 'M - medium (15%)' when you upload a logo. It does not go up on its own. So if your logo is above 25%, or the code is going outdoors or in a shop window, switch to 'Q - high (25%)' or 'H - best (30%)' yourself. The percentages in those labels describe the error correction levels, not how much of the code a logo can safely cover, so don't size your logo to match them. Test it instead.
Margin size and the clear border around your QR code
Set 'Margin size' above zero, because it starts at 0 and the official guidance asks for a clear border. As of 1 November 2026, DENSO WAVE's guide to using QR codes says 'QR Code requires a four-module wide margin at all sides of a symbol.' A module is one of the small squares that make up the code.
A code with no margin can look fine on a white sticker. In practice, though, printers trim and designers crop, and the code may end up against a coloured edge or a photo. Either set the margin to at least 4 as a starting point (8 if you add a frame, because the frame halves it), or leave the same amount of empty space around the code in your layout. In Digily Link the 'Margin size' value is counted in modules, so 4 gives a border of four modules on each side. Then check by eye that the plain border is at least four small squares wide on every side, especially if you added a frame.
Colours and styles for a custom QR code design
The safest way to add brand colour to a QR code is a dark foreground on a light background. Pick a dark brand colour for 'Foreground color' and white or a pale tint for 'Background color'.
Inverted codes, with a light code on a dark background, can be harder to scan, and so can two colours that are close in brightness. Some phones and apps cope with them and others don't. We don't give a contrast figure here, because there isn't one we can back up, so treat every colour pair as something to test. A colour that looks strong on screen can print paler on paper, which is another reason to test the printed version.
The same goes for decorative styles and gradients. The further the code strays from plain dark squares, the more testing it needs. Keep the three large squares in the corners solid and clearly visible, because phones use them to find the code.
Static or dynamic QR codes with a logo
A static QR code holds the web address itself, while a dynamic one points to a short link that you can redirect later. In Digily Link the dynamic option is only available for the 'URL' type and works through a short link.
| Static URL QR code | Dynamic URL QR code | |
|---|---|---|
| What the code holds | Your web address | A short link |
| Change the destination after printing | No | Yes |
| Opens counted by Digily Link | Only if the address is a Digily Link page, such as a bio page or vCard link | Yes, through the short link |
| Uses a short link | No | Yes, one |
The count shows how many times the short link was opened. It counts opens, not people, so one customer scanning twice can show up twice. A short link is also usually shorter than a long web address, which can make the code less crowded around your logo.
To take an invented example, imagine a café called The Corner Cup that prints a logo QR code on its tables. With a dynamic code, it can point the same printed code at a new menu each season without reprinting, as long as the short link stays active. Our guide to a QR code menu with Digily Link covers that set-up, and if you are wondering how long a printed code keeps working, see whether QR codes expire.
Starting settings and a test list before you print a logo QR code
Treat the settings below as a first draft, then test. They are untested examples, not settings we have checked, so your printed tests on different phones matter more than this table.
| Situation | Logo size | Error correction | Margin size |
|---|---|---|---|
| Small logo, short web address | Up to 25% | M - medium (15%) | At least 4, or 8 with a frame |
| Larger logo, or a shop window or outdoor sign | Above 25% | Q - high (25%) or H - best (30%) | At least 4, or 8 with a frame |
Before you send anything to print, run through these checks.
- Scan with two different phones, ideally from different makers, using the built-in camera and any QR app your customers might use.
- Print a test copy at the size you will actually use and scan that, rather than the image on your screen.
- Try it in dim light, such as the corner of a pub or a café in the evening.
- Scan from where people will really stand, for example across a market stall or from the pavement outside a shop window.
- Check that the link opens the right page and, for a dynamic code, that the page still loads after you change the destination.
If a test fails, shrink the logo, raise the error correction, darken the foreground or widen the margin, making one change at a time and downloading the code again after each change. Also look at the print itself for blur, glare or a stretched code. Our guide on how to scan a QR code shows the usual ways people scan, so you can test the same way they will.
When the settings look right, create your QR code with your logo in Digily Link, download it and run it through the checks above before it goes to print.
Custom QR code questions
Can I make a custom QR code with a logo for free?
Yes. In Digily Link you can add a logo and colours on the free plan, which allows 20 QR codes in total across your account.
Will a logo stop my QR code from scanning?
It can, if the logo is too big or the error correction is too low. A small, centred logo with a higher error correction level usually leaves enough of the code readable, but only a test on real phones will tell you for sure.
What is the biggest logo I should put on a QR code?
Digily Link allows up to 40% of the code's width. If you go above the default 25%, choose Q or H and test more carefully.
Do coloured QR codes scan?
Often they do, as long as the code is darker than its background and the two colours are clearly different in brightness. Light codes on dark backgrounds are riskier, so test them on more than one phone.
What file format should my logo be?
Upload a jpg, jpeg, png or gif file of up to 5 MB. A PNG with your logo on a plain white square gives you the white background behind the logo that the generator doesn't add for you. For large prints, use a high-resolution file.