Free tool

QR code generator for menus and counters

Free, no account, nothing uploaded — the code is drawn in your own browser from the address you type, and it carries no watermark. Paste in a link and it appears. Download it as a PNG for anything printed small, or as an SVG when it has to go on a poster without turning fuzzy.

Type an address above and your code appears here.

This code is drawn in your browser. Nothing you type here is uploaded to us.

What a shop actually sticks these on

A code has to land somewhere, and the page it lands on takes longer than the code did. You can find out how much longer without deciding anything: the editor opens in a browser tab on a working site, with no account and nothing to install, and nothing you break is kept. Building and previewing stay free; publishing on your own domain is Storefront at $49 a month.

Open the editor — no sign-up

Common questions

Do QR codes expire?

Not this kind. The address is encoded into the pattern itself, so the image you download is the whole thing. There is no short link of ours sitting in the middle to break, no account to keep alive and no subscription to lapse — the code keeps working for exactly as long as the page it points at does.

How big can I print it?

Any size, if you download the SVG: it's a vector, so it stays sharp on a poster or a shop window. The PNG comes in three fixed sizes and is enough for a table card or a receipt. Printers use a rule of thumb: a code should be roughly a tenth as wide as the distance it will be scanned from. Two inches works at a table, and nothing that small works across a parking lot.

Does scanning it track anyone?

Nothing about the scan reaches us. This is a static code: the address lives in the pattern, and the phone goes straight from the camera to that address without touching a server of ours. We don't even know the code exists, because it's drawn in your browser and never sent to us. What the destination page does — your own analytics, a booking system's records — is between that page and the visitor.

Can I change where it points later?

The destination is baked into the pattern, so changing it means making a new code and reprinting whatever carries the old one. That is the price of not being routed through a service that could disappear. If a print run has to stay redirectable, point it at a page on your own site, an address you control, and change what that page does instead.