Frequently asked questions
Straight answers, including the ones that are not flattering to us.
Using QRilo
Is QRilo really free? What is the catch?
It is free, with no catch hidden in a premium tier. Every code type, every design option and all four export formats — PNG, SVG, JPG and PDF — are free and unlimited, with no watermark and no sign-up.
The catch, such as it is, is honest and visible: the site shows advertising, and that advertising is the entire business model. There is no paywalled SVG export, no scan limit and no trial countdown. Read how QRilo is funded.
Do the QR codes expire, or stop working if you shut down?
Neither. Your content is encoded into the pattern itself, so there is no redirect service, no short domain and no database record that could be switched off. Once you have downloaded the file, nobody — including us — can change, expire or revoke it.
This is why we never ask you to create an account: there is nothing for an account to manage. It is also why the site could disappear tomorrow and every code you made would keep working.
Will my QR codes show adverts, now or in the future?
No. Advertising appears on the QRilo website only, and it never affects a code you create. Your codes are always free and always ad-free — permanently, not just for now.
When you download a code, the file holds exactly what you typed and nothing else: no advert, no tracking pixel, no redirect, no sponsored landing page. A code you made last year will still be the same clean code next year, because there is nothing stored on our side to change.
This is a structural guarantee rather than a promise. Your content is encoded directly into the symbol, and we run no server in the middle of it — so there is no point at which an advert could be inserted. A downloaded PNG, SVG, JPG or PDF is a plain pattern of squares: it has no mechanism to load a script, serve an advert or report a scan.
You do not have to take our word for it. Open any exported .svg file in a text
editor and read it: every character is the content you entered. The
about page explains this in full.
Is my data uploaded anywhere?
No. The generator is a client-side application: encoding happens in JavaScript inside your browser tab. Your links, Wi-Fi passwords, phone numbers and contact details are never transmitted to us or to anyone else.
You can verify this rather than take our word for it. Open your browser's developer tools, switch to the network tab, and generate and download a code. You will see no request carrying your payload. This matters most for Wi-Fi codes, which contain the network password in plain form.
Where are my saved codes stored?
In your own browser, using localStorage under this site's origin. They are never
synchronised, uploaded or backed up. Clearing your browser's site data removes them, as does
the delete button on each saved item.
Do I need an account, or to give you an email address?
No, and there is nowhere to log in. The only personal data involved in using the site is ordinary technical information recorded by our hosting provider, described in the privacy notice.
Does it work offline?
Yes, once the page has loaded. Generating a code needs no network connection at all. Wi-Fi and contact codes also scan without a connection, because the data is inside the pattern. Only codes pointing at a web address obviously need connectivity to load that page.
Making codes that scan
Why won't my QR code scan?
Almost every failure comes down to one of four things:
- Not enough contrast. A pastel code on white, or a light code on a dark background, defeats many phone cameras.
- No clear margin. Scanners need at least four modules of blank space around the code. Designers often crop this away when placing the graphic.
- Too much density. A code carrying a lot of data needs a bigger print size than a short one, because each module is smaller.
- A logo that is too large. The logo can only hide as much of the symbol as the error-correction level can recover.
QRilo checks all four as you design and locks the export buttons when something is genuinely unsafe. For a full diagnostic, read why QR codes fail to scan.
What size should I print a QR code at?
The reliable rule is that the code's width should be at least one tenth of the distance it will be scanned from. A table card read at 30 cm needs about 3 cm; a poster read at 3 m needs at least 30 cm.
Treat that as a floor, not a target, and add more size for dense codes. The size and print guide has a table of real-world placements.
Can I add my logo without breaking the code?
Yes, with one rule QRilo enforces for you: a logo requires error-correction level H, which allows about 30% of the symbol to be lost and still recovered. The logo size is capped to stay inside that budget, and you get a warning as you approach the limit.
Keep the logo under about a quarter of the code's area, use the white plate option so the logo stays legible against the modules, and test the printed proof with two different phones before a large print run.
Can I use transparent backgrounds and gradients?
Yes, both. A transparent background is useful for placing a code over a coloured design, but always make sure it ends up on a light surface or the contrast collapses. Gradients are fine as long as both gradient stops stay distinctly darker (or lighter) than the background — QRilo measures this and nudges a stop that would wash out the corner squares, telling you when it does.
Why isn't there a round "dots" module style?
Because we tested it and it did not hold up. Circular modules cover only about 78% of each module's cell, and independent decoding of dotted codes failed at every export size we tried, including 2048 pixels wide with 55-pixel modules. That is a geometric problem, not a resolution one.
Rather than ship a style that phones struggle to read — the exact failure this site exists to prevent — we left it out. Rounded and square modules both keep every module inside its cell, which is what makes a code dependable on a cheap camera.
Exporting and using codes
Which file format should I choose?
| Format | Use it for |
|---|---|
| PNG | Screens, websites, social media, email. Choose 1024 px for general use, 2048 px or more for large display. |
| SVG | Anything going to a professional printer. True vector art, perfectly sharp at any size. |
| Printing an A4 page yourself on a home or office printer. | |
| JPG | Only when a service refuses PNG. It cannot hold transparency, so it is always flattened onto a background. |
Can I use the codes commercially?
Yes. Codes you generate here can be used in commercial work — menus, packaging, business cards, signage, vehicle graphics and paid advertising. There is no attribution requirement and no licence fee.
One legal note: “QR Code” is a registered trademark of DENSO WAVE INCORPORATED. Using the symbol is free and unrestricted, but you may not use that phrase in a product or service name as though it were your own. See the terms of use.
Should I use a dynamic QR code instead?
Sometimes, yes — and we would rather explain the trade-off honestly than pretend static codes suit every job.
A dynamic code routes through a short link, which lets you change the destination after printing and count scans. That is genuinely valuable for a campaign whose landing page will change. The cost is that the code depends on a provider's servers staying online and being paid for, usually monthly, and if that provider closes, every printed code dies at once.
For anything printed once and used for years — a permanent menu code, a business card, a product label, a shop window — the dependency is a needless liability. The link code guide has a side-by-side comparison.
Can I track how many times a code is scanned?
Not with this tool, by design. Counting scans means routing every visitor through a server we control, which is precisely the dependency that makes codes expire.
There is a better way that costs nothing: the visitor arrives on your own page as a normal visitor, so your existing website analytics can count them. You get the data without anyone standing in the middle.
Do the codes work on iPhone, Android and older phones?
iOS 11 and later and Android 10 and later read QR codes from the built-in camera, including Wi-Fi and contact payloads. Older Android devices generally need a dedicated scanner app. Inverted codes (light on dark) are the main compatibility risk on older hardware, so QRilo warns you if you create one.
Is it safe to encode a Bitcoin payment address?
The code only carries the address you provide — it cannot be altered by QRilo or by anyone scanning it. But a single wrong character sends funds somewhere unrecoverable, so always test a payment code with your own wallet before printing it, and use a wallet that shows the full destination address for confirmation.