Make a custom QR code that still scans
Your QR code can look like part of your brand, not an afterthought. Start with its destination, choose a visual style, then test the finished file where people will actually scan it.
What this covers
- Module and corner styles
- Colour pairs and centre logos
- PNG, SVG and WebP export
- A practical scan-test checklist
What it does not
- A guarantee that every camera will read every style
- Editable destinations or scan analytics
Start with what the scan should do
A restaurant menu needs a stable web address. A business card can carry contact details directly as a vCard. A guest-network sign needs a Wi-Fi payload, not a link to the router. Pick the matching QR type before styling it: a beautiful symbol is only useful if it performs the right action.
| Use | QR type | Design priority |
|---|---|---|
| Restaurant table | Restaurant menu / URL | A short address and a clear margin on a non-reflective sign |
| Business card | Contact card | Keep details concise so the printed modules are not too small |
| Guest Wi-Fi | Wi-Fi | Check the exact network name and password; avoid putting a private network on a public sign |
Choose a shape, then let the pattern breathe
Square modules give a crisp, practical look. Rounded modules soften the grid; dots create a lighter pattern. The three large corner markers have separate controls. OpenQRS updates the real QR preview with each choice, and uses the same drawing geometry for vector and raster exports.
Keep a clear margin at least four modules wide around all four sides. Do not crop it away or fill it with text. This is the quiet zone described by QR Code developer DENSO WAVE. The smaller or denser the printed symbol, the more conservative your styling should be.
Use dark colours on a light background
The colour-pair presets are a starting point, not a promise about every printer or camera. Keep the modules darker than the background. With a gradient, the lightest part still needs contrast. OpenQRS blocks exports below its chosen contrast floor, but an on-screen colour check cannot predict glossy paper, coloured lighting or faded ink.
A transparent export has no fixed background. Place it on its final surface before judging contrast, and keep the quiet zone clear. For a printed sign, an opaque light background is usually easier to control.
Add a logo without treating error correction as spare space
Choose a small PNG, JPEG, WebP or GIF logo from your device. OpenQRS reads it locally and places it in the middle of the code; SVG logos are not accepted because they can contain active content. Keep the symbol simple enough to recognise at its final size.
A centre logo covers some of the data. The generator switches to error correction H and limits the logo according to the symbol. H does not mean that covering any arbitrary 30% of the picture is safe: correction works on codewords, not a guaranteed rectangular area. Keep the logo modest and scan the exported file, not only the preview.
Download the right file and test the real result
- Use SVG for a print layout that needs to scale; PNG for broad compatibility; WebP when your destination supports it.
- Open the actual downloaded file. Check the destination or the contact/network details, not just that a camera sees a code.
- Test on more than one phone at the final printed size, distance and lighting. Try the material you will really use.
- If scanning struggles, simplify the module shape, darken the colour, reduce the logo or enlarge the printed symbol.
- For web links, keep the destination online. The QR pattern has no subscription or expiry date, but it cannot keep an unavailable website working.