How to make a QR code menu for your restaurant
A step-by-step guide to a QR menu you can change without reprinting: what to put on it, what kind of code to print, and where to put the codes.
Utilica3 min read

A QR menu is a code on the table that opens your menu on the customer's phone. Done well, it saves reprinting every time a price changes. Done badly, it is a blurry photo of a paper menu that nobody can read. Here is how to do it well.
Step 1: Decide what the code opens
There are three common choices:
- A PDF of your printed menu. Quick, but hard to read on a phone. People have to pinch and zoom, and every change means exporting a new file.
- A page on your website. Good if you have one and can edit it easily.
- A menu page made for phones. Items in sections, with photos and prices, that you can edit from your own phone. This is the easiest to read and the easiest to keep up to date.
If you want customers to order and pay from the menu as well as read it, you need the third kind.
Step 2: Build the menu
Whichever you choose, the same things make a menu easy to use on a small screen:
- Sections that match how people order: Starters, Mains, Sides, Drinks.
- Short descriptions. One line on what is in the dish is enough.
- Prices on everything. A menu without prices sends people to the counter to ask.
- Photos of your best sellers, not of everything. A few good photos beat thirty average ones.
- Sizes where they change the price: small, medium, large.
- A way to mark something sold out without deleting it.
On Utilica you build this as a menu page. Add each item with its photo, description, sizes and price, put it in a section, and switch an item to sold out when you run out.
Step 3: Use a dynamic code
This is the step that matters most. Print a dynamic QR code, not a static one.
A static code holds your menu's address directly. If the address ever changes, because you move to a new website or a new menu tool, every code on every table is wrong.
A dynamic code holds a short address that you can point anywhere. Change the menu, change the tool, change the whole website, and the codes you printed still work. We wrote more about the difference between the two.
Check that the code will not expire. On Utilica, dynamic codes keep working on every plan, including the free one.
Step 4: Design it to be scanned
- Add a frame with a few words, like Scan for menu. People are more likely to scan a code that says what it does.
- Use your colors, but keep dark dots on a light background.
- If you add your logo, keep it small.
Our guide to printing a code that scans covers size, contrast and file types in detail.
Step 5: Print it at the right size, in the right places
For a table, where people scan from about half a metre away, make the code at least 5 cm (2 in) wide.
Good places for it:
- On every table, as a tent card or a sticker.
- At the entrance or in the window, larger, so people can read the menu before they come in.
- At the counter, where the queue forms.
- On takeaway bags and receipts, so people can order again.
Matt finishes scan more reliably than glossy ones under bright lights.
Step 6: Keep a few paper menus
Not everyone wants to use a phone at dinner, and phones run out of battery. A handful of printed menus behind the counter costs very little and saves an awkward moment.
Step 7: Let people order from it
Once the menu is on a phone, ordering from it is a small step. Once you have added the name people pay you at, customers can pick their items, see the total with tax, and pay you directly through Cash App, Venmo, PayPal or Zelle. Each order gets a number and shows on your Orders screen. There is more on that in how to take orders with payment apps.
Keeping it up to date
The point of a QR menu is that it is always right. Change a price the day it changes. Mark the special as sold out when it sells out. Take the summer drinks off in October. None of it needs a reprint.
See everything Utilica does for restaurants and cafes.



