Why level H matters for logos
Covering the centre of a QR code destroys modules. Error correction level H can reconstruct up to 30% of the code, which is what makes a centre logo survivable. This generator forces H and keeps the overlay inside roughly 10% of the area, well within the recoverable budget.
Colour rules that keep it scannable
A QR scanner looks for dark modules on a light background and relies on luminance contrast, not hue. Purple on white is fine; light purple on white is not. Aim for at least 4:1 luminance contrast between foreground and background, and never invert (light modules on dark) unless you test on both iOS and Android.
Design guardrails
- Keep the quiet zone: do not crop the white margin
- Do not place the code on a busy photo — put a solid panel behind it
- Avoid gradients across the code; scanners sample module centres
- Test 10 printed copies before a full run
When to skip the logo
If the payload is long (a full vCard or a UTM-heavy URL), the code is already dense. Adding an overlay then makes it fragile at small sizes. Use the plain generator or shorten the URL first.
Frequently Asked Questions
Will a logo break the code?
At level H with a small overlay, no. Large overlays or low contrast can still break it — always test with a real phone.
Can I use a real image logo?
This tool renders a short text mark to keep the file dependency-free. For a bitmap logo, composite it in a design tool over a level-H code.
What colours should I avoid?
Low-contrast pairs (light grey on white), inverted schemes and gradients.
Privacy & Your Data
CSSmith runs entirely in your browser. Whatever you type, paste or upload is processed on your own device and never sent to a server — there is no backend to store it.