The basics
The menu
The format:
Name | Description | Price. The description is optional, so Drip | 3.5 works too. Lines starting with # become section headers. Blank lines are ignored.
Put it online, free
You downloaded one file. It needs a web address so the QR code has somewhere to point. Pick whichever of these you are least annoyed by.
Cloudflare Pages, free forever
- Make a free account at pages.cloudflare.com
- Create a project, choose Upload assets (the direct upload option, no Git needed)
- Rename your file to
index.htmland drag it in - You get a URL like
your-menu.pages.dev - Point your own domain at it later if you want. Also free
Already have a website?
- Upload the file to your site as
menu.html - Your URL is
yoursite.com/menu.html - Add a Menu link in your navigation while you are in there
Not ready for any of that?
- Point the QR at whatever page already lists your food. A Google Business profile, a Facebook page, a Toast or Square online ordering link
- It is not as nice, but a QR that works today beats a perfect menu next month
Why not just encode the menu into the QR itself? Because you would have to reprint every table tent the moment a price changes. Point the code at a URL, and updating the menu means uploading one file. The printed codes never change.
Make the code
Printing rules that actually matter. Minimum one inch square for a table tent, two inches for anything on a wall, four inches for a window. Keep the white border, phones need it to find the code. Never print it on a curved surface or over a photo. And test it with your own phone from where a customer will actually be sitting, not from six inches away.