Reticle
← All articles

Restaurant menu QR codes done right

The one decision that matters: make it dynamic

Menus change. Prices move, dishes rotate with the season, the specials board turns over weekly. If your QR code encodes the menu URL directly (a static code), every one of those changes that moves the URL means reprinting every table tent, window sticker, and laminated card in the building.

A dynamic link breaks that connection. The code encodes a short open-qr.link address that forwards to wherever you point it, so the printed code never goes stale: swap the destination in seconds and yesterday's print run keeps working. You also get scan counts, which quietly answer a question owners argue about: do guests actually use the QR menu? The full mechanics are in our dynamic QR codes guide; the short version is that you sign in, open the Studio, pick Dynamic code, and create the link before you print anything.

Point it at something phones can read

The best destination is a fast, mobile-friendly menu page: your site's menu, a page from your POS or reservation provider, even a well-formatted Google Doc. A PDF works but is the weakest option on a phone: slow, zoomy, and annoying to update. This is another argument for dynamic, by the way. Start with the PDF you have today, and when the proper menu page ships, repoint the link. Nothing gets reprinted. Or skip hosting entirely: on Pro, a file link stores the PDF itself, and scanning the code opens it directly.

Make it look like your restaurant

A generic black-and-white square says "compliance"; a branded one says "we meant this." Match the code to your brand color, round the modules, and drop your logo in the center (Reticle raises error correction automatically to keep it scannable). Then add a "Scan me" frame with a caption like "VIEW OUR MENU" so nobody has to guess what the code does. If you run several codes (menu, specials, wine list), save the look as a style template once and apply it to each one with a click. The Studio's Menu template gives you a head start: warm bistro colors, a utensils mark in the center, and a VIEW OUR MENU frame, ready to recolor to match your brand.

Test it like a customer

Before anything goes to the printer, download once and let the Studio's built-in scan check run: Reticle decodes the exact exported image back on your device before handing you the file, and warns you if a design stops scanning or runs low on contrast. Then do the real-world version: print one at actual size, put it on a table, dim the lights, and scan it from a seated position with a couple of different phones. A dynamic link helps here too: its short address keeps the code coarse and easy to read, where a long URL packs in fine modules that struggle in dim light.

Print for a dining room, not an office

Tables are hostile territory: sauce, condensation, candle light, and a hundred wipe-downs a week. Print at least 2 cm (about an inch) square with generous empty margin, raise error correction to Q or H in the Studio's Get your code section before exporting, and laminate or sleeve the card so cleaning doesn't wear the ink. Export SVG if a print shop is doing the table tents (it scales without blurring) or a high-resolution PNG for the office printer. And put a code at every seat or table, at eye level; a single sticker at the host stand helps nobody.

One code, three menus, automatic by time of day Pro

Breakfast, lunch, and dinner are not the same menu, and swapping the laminated card on every table three times a day is nobody's favorite part of a shift. On Pro, two features chain together to do that swap by themselves, from the exact same code that is already sitting on the table.

Dynamic file links let you upload a PDF and get a QR code that serves it directly, replaceable later without a reprint. Smart routing lets a regular dynamic link carry a short list of rules that pick a destination based on the local time of day. Put them together: upload three menus as three separate file links, then create one more dynamic link, the one that actually gets printed, and give it routing rules that send an early scan to the breakfast file, a midday scan to the lunch file, and an evening scan to the dinner file.

For a place open 8am to 10pm, the rules on that one printed link might read:

One thing worth knowing before you build this: a routing rule can't point at another open-qr.link address, since that would create a redirect loop, so the three file links need to live on a custom domain attached to your account, also part of Pro, rather than the default open-qr.link. Once that's set up, guests never see or scan the individual breakfast, lunch, or dinner links, only the one code on the table, and what actually loads changes on its own as the day moves along.

Both pieces come with Reticle Pro, which you can start from your account page in a couple of minutes. Or read more about how they work individually in Smart routing.

Round it out

The free plan's 3 dynamic links cover a typical setup: the menu, a specials or events page you update weekly, and a review or feedback link. While you're at it, the flip side of the table tent is the perfect home for a Wi-Fi QR code, and if you need one code per table or per location, the batch guide shows how to generate the whole set in one go.

Frequently asked questions

Do I have to reprint my QR codes when the menu changes?

Not if the code is a dynamic link. Update the menu page it points to, or repoint the link at a new page, and every printed code keeps working unchanged. Only a static code, which bakes the URL into the image, forces a reprint.

Can one QR code show a different menu for breakfast, lunch, and dinner?

Yes, on Pro. Upload each menu as its own dynamic file link, then add time-of-day rules to a single routing link with Smart routing, and print only that one code. It serves the right menu file automatically depending on when someone scans it.

Should the code point to a PDF or a web page?

A mobile-friendly web page, if you have one. PDFs are slow to load on phones, force pinch-zooming, and are harder to update. If a PDF is all you have, it still works; with a dynamic link you can swap in a proper page later without reprinting.

Does Reticle host my menu?

It can. Usually the menu lives wherever you already publish it (your website, a Google Doc, a page from your POS provider) and Reticle handles the redirect. On Pro, a dynamic file link goes further: upload the menu as a PDF or image and Reticle stores the file and serves it directly when the code is scanned, swappable anytime without a reprint.

How big should a table-tent QR code be?

At least 2 cm (about an inch) square, with empty margin around it, and bigger is better for dim lighting. Test a real print at the actual table distance before running the full batch.

How much does this cost?

Nothing. Save up to 100 static codes for free, and the free plan includes 3 dynamic links, enough for a menu, a specials board, and a review or feedback link.

Your menu code can be live before the lunch rush. Open the Studio, choose Dynamic code, and point it at your menu. Free, 3 links included.

Keep reading