How to Make a QR Code for a Restaurant Menu
Make a static QR code that points at a menu page you control, then update that page whenever prices change. The printed code never has to change, and because it is static it never expires the way a subscription-based dynamic menu code does. Free, no account, and it keeps working long after any trial would have ended.
Put your menu on a page you control
Before you make the code, decide where it points. This is the decision that actually matters, and most menu QR tools rush right past it.
The best target is a page on your own domain, something like yoursite.com/menu. You own that address, so you can change what sits on the page forever without touching the printed code. A PDF menu hosted on your own site works. A Google Doc set to "anyone with the link can view" works. A plain page on your website works. Pick whatever is easiest for you to edit. The one rule that counts: it has to be a URL you control and can update.
What to avoid is a link you might lose. A third-party ordering platform you may leave, a file on someone else's account, a shortener you did not set up. If that link goes dark, so does every table tent you printed. Keep the destination somewhere you will still own next year.
Any simple one-pager works. Squarespace is the polished route. Carrd builds a clean single page for about $19 a year. Either way, point it at yoursite.com/menu and the code you print never has to change.
Start a site on Squarespace → · Or a one-pager on Carrd →
Affiliate links. They never change what I recommend.
Make the static code (2 minutes)
Open the tool, paste your menu URL into the Website link tab, and you have a working code. If you want it to look like yours, add your brand colors and drop your logo in the center. Then download it: PNG for screens and quick prints (up to 4000px), or true vector SVG if you are handing it to a printer who wants clean art at any size. No account, nothing uploaded, nothing to renew.
Two things happen automatically that save you grief. When you add a center logo, the tool raises the error correction to its highest level so the code still scans with your logo sitting on top of it. And the quiet margin, the blank border a scanner needs to lock on, is always included. You do not have to think about either one. There is also a "Copy code for your website" button that hands you a self-contained embed snippet if you want the same code on your online menu page.
Change your menu without reprinting the code
Here is the part people get backwards. A static code cannot be re-pointed after you print it. That sounds like a limitation right up until you realize you do not need it to be one.
You are not changing the code. You are changing the page the code points at. Aim the code at a stable URL like yoursite.com/menu, print your table tents, and then when prices climb or the fish special changes, you edit that page. Same code, new menu. The squares on the table tent never have to change again.
This is exactly why static beats dynamic for a menu. A menu is the thing you update most and reprint least, so you want the printed code to be permanent and the content behind it to be editable. Pointing a static code at your own page gives you both. If you want the longer version of why the paid dynamic route works against you here, I wrote a whole piece on whether QR codes expire.
Size it for a table tent
Diners scan a menu from about a foot away, seated, phone already in hand. You do not need a billboard. Somewhere between 1.2 and 2 inches (3 to 5 cm) is plenty for a table tent. Keep the quiet margin the tool adds, use a dark code on a light background, and you are set.
The one thing worth a second look is contrast. Restaurants are dim on purpose, and a low-contrast code that scans fine on your bright monitor can flat out fail on a candlelit table. The tool checks your color combo in plain English and warns you before you download something risky, so you are not finding out at dinner service. If you want the full numbers for other print jobs, they are in the QR print size guide, and if a printed code is not scanning at all, there is a troubleshooting guide for that.
Do not use a dynamic menu code (here is why)
Most of the free menu QR tools you will find make dynamic codes, and they do not lead with that. A dynamic code routes every scan through the vendor's server. That is fine right up until the free trial ends or the subscription lapses, and then the redirect stops. Your diners scan the table tent and land on a "code inactive" page, sometimes the vendor's own upsell, sometimes mid-service on a Friday night.
A static code has none of that exposure. There is no server in the middle to switch off, no plan to keep current, nobody who has to stay in business for your menu to load. Point it at your page and it works.
The usual reason people reach for a dynamic code is scan counts, and you can get those without one. Add a UTM tag to your menu URL (something like yoursite.com/menu?utm_source=table-tent) and read the scans in your own analytics. Free, no dynamic code, no subscription. I walk through the whole thing in the guide on tracking QR scans without a subscription.
/menu and swap the page contents each season. Do not make a new code every season. A fresh code means reprinting every table tent, which is the exact chore you are trying to avoid.FAQ
How do I make a free QR code for my menu?
Put your menu at a URL you control, paste it into the tool, download the code. Free, no account, never expires.
Do menu QR codes expire?
Static ones do not. Dynamic ones from subscription tools do, the day the plan lapses. Point a static code at your own menu page and it keeps working.
What size should a menu QR code be on a table tent?
About 1.2 to 2 inches (3 to 5 cm) for a one-foot scan, with the quiet margin left intact.
Can I change my menu without making a new code?
Yes, that is the whole point. Point the code at a stable page and edit the page. The code stays the same.
Where should the code point?
A menu page on your own domain, so you always control it. Avoid a link you might lose.
Can I track how many people scan it?
Yes, add a UTM tag to the URL and read scans in your own analytics, free, no dynamic code.
Make your menu code
A static QR code for your menu that points at a page you control and never expires. Free, right in your browser, no account.
Build your QR code