Restaurant QR Code Menu Generator: Setup Guide
Host your menu as a PDF or a web page, keep the printed code working when prices change, size table tents and window signs correctly, and test the code from a seat before service.
Industry guide · 13 min read
A menu QR code is a small print job with one hard requirement: it has to keep working after you change the menu. By the end of this guide you will have picked where the menu lives (a PDF or a web page), set it up so the link never changes, made the menu readable on a phone, printed table tents and window signs at the right size, and run a short test from a guest's seat. The code itself takes a minute; the decisions around it are what this article is about.
Decide where the menu lives
The QR code only stores a link. Everything else, including how the menu looks and how easily you can change it, depends on what that link points to. You have two realistic choices.
A PDF at a fixed link. Export the menu from whatever you already design it in (Canva, Word, InDesign, Google Docs), upload it somewhere that gives you a shareable link, and make a code for that link with the PDF QR code generator. This is the fastest route and the right one if your menu is a single document that changes a few times a year.
A web page on your own site. Put the menu on a page such as yourrestaurant.com/menu and make a code for that address with the URL QR code generator. A page loads faster than a PDF, reflows to the width of any phone, and can carry search, filters and translations. It is the right choice if prices move weekly, if you list daily specials, or if you already have a site with a menu page.
| PDF at a fixed link | Web page on your site | |
|---|---|---|
| Set-up time | Minutes: export, upload, copy link | Needs a site or a page builder |
| Updating | Replace the file at the same link | Edit the page |
| Phone readability | Depends on how you lay out the page | Reflows to the screen automatically |
| Load time | Whole file downloads before it opens | Text appears first, images follow |
| Allergen filters and search | No, guests scroll | Yes, if you build them |
| Link stability | Good if you replace, not re-upload | Best: you own the address |
| Works with screen readers | Only if the PDF is real text, not a scan | Yes, with normal headings |
| Best for | Fixed menus, wine lists, catering sheets | Menus that change often, multi-location groups |
A third option is a menu page hosted by an ordering or reservation platform. It works, but the address belongs to the platform. If you change providers, every printed code stops working. If you go this route, point the code at a page on your own domain that forwards to the platform, so you can change the destination later.
If you have several menus (lunch, dinner, drinks, dessert), resist printing several codes on one tent. Guests scan the first one they see. Point a single code at a short landing page or a one-page PDF cover that lists the menus as large tappable links, and keep the individual menus one tap away. The only exception is a bar or wine list that lives on its own table or counter, which can carry its own code.
Keep the printed code stable when the menu changes
A static QR code stores the link permanently; nothing on this site can edit what a printed code points to, and there is no account to log into later. That is fine for a menu as long as the link stays the same while the content behind it changes. (The longer explanation of static codes, and why they never expire, is at /qr-codes-that-never-expire.) Two habits keep the link stable.
Replace the file, do not re-upload it
Every file host treats "upload a new file" and "replace this file" differently. Uploading menu-v2.pdf next to menu.pdf creates a new link, and your table tents still open the old one.
- In Google Drive, right-click the existing PDF and choose Manage versions, then Upload new version. The share link stays the same.
- In Dropbox, upload a file with the exact same name to the same folder and confirm the overwrite. The shared link continues to work.
- On your own web host, overwrite the file at the same path (
/menu.pdf), keeping the name and capitalization identical. - Open the link in a private browser window afterward. If you still see the old menu, the host is serving a cached copy; wait a few minutes and check again before assuming the link broke.
Set the sharing permission to "anyone with the link can view" before you print anything. A menu that asks guests to sign in to Google is a menu nobody reads.
Or point the code at an address you own
The most durable set-up is a short address on your own domain, such as yourrestaurant.com/menu. What that address shows can be a page, a PDF, or a redirect to a platform, and you can change your mind for years without reprinting. Keep the address under about 80 characters: a short link makes a simpler, more open code that scans more easily at table-tent size than a long tracking URL does. Avoid third-party link shorteners you do not control; if the shortener changes its terms or shuts down, every code you have printed dies on the same day.
Make the menu readable on a phone
Guests read the menu on a screen roughly 7 cm wide, often in dim light, sometimes on a slow connection. Design for that screen, not for the letter-size sheet you print for the host stand.
Keep the file small. A PDF full of full-resolution photos can take a long time to open on a phone at the back of the room. Export images at screen resolution (72 to 150 DPI is plenty), compress the PDF on export, and aim for a file that opens in a couple of seconds on cellular data. If you want photos, a web page handles them better than a PDF because the text appears before the pictures finish loading.
Use one column, portrait. A two- or three-column layout forces guests to zoom and pan. If you are building a PDF specifically for phones, set the page size to something narrow, for example 4 by 9 inches (about 10 by 23 cm), so the page fills the screen width and the type is legible without pinching. A standard letter or A4 page shrinks to roughly a third of its size on a phone.
Make the type large enough. On a narrow phone-sized page, 12 to 14 pt body text and 18 to 24 pt section headings read comfortably. On a letter-size PDF, double those sizes, because the page will be scaled down. Put the price on the same line as the dish, right-aligned, and do not rely on color alone to distinguish anything.
Put allergen and dietary information on the item. Mark each dish inline with a short key (V, VG, GF, N, and so on) and explain the key once at the top. A separate allergen page at the end of a long PDF is the kind of thing a guest with a nut allergy will not scroll to find. Many jurisdictions require allergen information to be available on request; a menu that carries it on every item satisfies that and saves the server a trip.
Remove everything that gets in the way. No pop-ups, no "download our app" banner, no cookie wall, no login. A web page should show the menu on the first screen with the categories visible; a PDF should open on page one at the first section, not on a cover page.
Handle specials without touching the code. Daily specials belong on the same page or in the same PDF, at the top, dated. If the kitchen changes them each morning, that is a strong argument for a web page over a PDF: editing one line on a page takes a minute, while re-exporting and replacing a PDF every day is the step that gets skipped by Thursday.
Print table tents and window signs
Print is where menu codes fail in practice: too small, laminated in glossy plastic, placed under a spotlight, or trimmed so close that the margin disappears.
Size the code for the distance. A QR code should be at least one tenth of the distance it is scanned from. A guest sitting at a table holds a phone 30 to 45 cm from a table tent, so the code needs to be at least 3 to 4.5 cm across; print it larger than the minimum, because guests do not lean in. A window sign read from the pavement at 1.5 to 2 m needs a code 15 to 20 cm across. The QR code size calculator does this arithmetic for any distance.
Keep the quiet zone. Leave a blank margin of at least four modules on every side of the code, and keep it white or the same light color as the code background. A tent that trims the code flush to a colored border, or prints a menu heading right against it, is the most common reason a code scans on screen and fails on the table.
Choose the error correction level. Use level M for a plain code. If you place your logo in the middle, use level Q or H so the pattern can recover from the covered modules, and keep the logo to no more than a fifth to a third of the code's area. Higher levels make the code denser, so if you go up to H, print the code larger too. Set all of this in the design studio, which shows a scannability score as you change options.
Contrast, glare and lamination. Print dark modules on a light background; contrast of at least 4.5:1 is the target, and near-black on white is the safe default. Laminate with a matte or satin finish, not gloss, because a gloss surface reflects the ceiling lights and the phone's own flash straight back into the camera. If the tents must be gloss, angle them upward and keep them out of direct light. For a window sign, print it larger than the calculation suggests and mount it on the inside of the glass, facing out, as low as a standing adult's chest height; a code near the top of a window reflects the sky.
Prefer a tent to a table sticker. A code stuck flat to the table gets wiped with a cloth twenty times a day, sits under plates and glasses, and is read from directly above where the guest's own head shadows it. A tent stands the code upright, keeps it clean, and faces the camera. If you must use stickers, order them in matte vinyl, place them at the table edge nearest the chair, and print a spare set, because they will scratch.
Export for the printer. Download the code as SVG or PDF when a commercial printer is producing the tents; both are vector and scale without blur. If your printer wants a raster file, export PNG at a pixel size that gives at least 300 DPI at the printed size (a 5 cm code needs about 600 pixels). Every export is available under the generator's download button, and the print guide covers file hand-off in more detail.
Worked example: a two-sided table tent
Take a standard two-panel tent with each face 4 inches wide and 6 inches tall (10 by 15 cm), printed on 14 pt card, matte laminated. Guests scan it from a seated position at about 40 cm.
- Margins. Set 0.375 in (about 1 cm) margins on all sides. That leaves a 3.25 by 5.25 in live area.
- Header, top 1 in. Restaurant name at 20 to 24 pt, centered. Nothing else.
- Code, next 2.5 in. Print the code 2 in (5 cm) square, centered horizontally. The one-tenth rule at 40 cm asks for a 4 cm code, so 5 cm gives comfortable headroom. Keep 0.25 in of pure white on all four sides of the code as the quiet zone; do not run a rule or a color band into it.
- Instruction, next 0.75 in. "Scan for our menu" at 16 to 18 pt directly beneath the code. Guests who have never scanned a code need to be told what it does.
- Fallback, next 0.5 in. The menu address typed out in plain text, for example
yourrestaurant.com/menu, at 11 pt. A guest whose camera fails can type it. - Footer, bottom 0.5 in. "Paper menus available, just ask" at 10 pt.
- Both faces. Print the same layout on both panels so the code faces whoever sits at either side of the table.
For the code itself: paste the menu address into the generator, leave error correction at M unless you add a logo, and download SVG. At 2 in with a short address the modules are large enough that a slightly out-of-focus camera still reads them.
Keep paper menus for guests who need them
Some guests cannot or will not use the code: older diners, anyone whose phone is dead, guests with low vision who cannot read a small screen, children, and anyone in a basement dining room with no signal. A few printed menus at the host stand, including one large-print copy, cover all of them. Train servers to offer a paper menu at the same time they point out the code, rather than waiting to be asked; asking singles a guest out.
The digital menu should also be usable with a screen reader. A PDF made from a text document is; a PDF made by scanning a printed menu is an image and reads as nothing. On a web page, use real headings for sections and real text for items, and avoid publishing the menu as a single JPEG. Add a short text description to any dish photo. A menu with real text also lets a guest use their phone's translate feature, which is worth more than most restaurants' own translation attempts.
Finally, do not require anything to view the menu. No app, no account, no email address. A guest who hits a sign-up wall will ask for the paper menu, and the code has cost you a minute of goodwill for nothing.
Test before it goes on the tables
A short routine catches almost every failure before a guest does.
- Check the link on cellular data. Turn off WiFi on your phone, open the menu link in a browser, and time how long it takes to appear. If it takes more than a few seconds, shrink the file before going further.
- Verify the exported code. Upload the PNG or SVG you downloaded to the QR code tester and confirm the decoded text is the exact address, character for character. A typo in the address is invisible in the pattern.
- Print one proof at final size. Laminate it the way the real tents will be laminated. Do not test from a screen; a phone reading a monitor is not the same as a phone reading card under restaurant lighting.
- Scan it from a seat. Sit at the worst-lit table in the room during evening service hours, hold the phone where a guest would, and scan with both an iPhone and an Android phone using the plain camera app. Then scan again at an angle of 30 degrees or so, the way someone across the table would.
- Scan after every menu change. Replace the file, wait a few minutes, then scan a tent from the floor and confirm the new menu opens. Do this with a phone that has never opened the old menu if you can, because a phone that has cached the previous version may show it even after the host has updated.
- Put it on a checklist. Add "scan a table tent" to the opening checklist once a week. Codes do not wear out, but links, hosting accounts and sharing permissions do change, and a weekly scan finds the problem before a full Friday night does.
If a code scans in the tester but not from the table, the problem is print or placement: too small, too glossy, quiet zone trimmed, or too dark a room. If it does not scan even in the tester, regenerate it; something went wrong in export.
Frequently asked questions
Do I need a dynamic QR code for a menu? Not if the link stays the same. Replace the PDF at the same link or edit the page at the same address, and a static code works for as long as the link does.
Can I see how many guests scanned the code? A static code cannot count scans. Your website analytics can show visits to the menu page, and a file host such as Google Drive shows view counts on a shared file.
Should each table have its own code? For a menu, no; one code for the whole room is simpler and any tent can move to any table. If your ordering platform gives each table its own link, put those addresses in a spreadsheet and generate them all at once with the bulk generator.
Can I put the code on the printed menu itself? Yes, and it is useful for a wine list or a seasonal insert that changes more often than the main menu. Size it by the same one-tenth rule; a menu held in the hands is read from about 30 cm, so 3 cm is the floor.
What if a guest's phone opens a browser but shows a blank page? Almost always a sharing permission. Open the link in a private window yourself; if you are asked to sign in, change the file's sharing to anyone with the link.
Paste your menu address into the URL QR code generator, download the SVG, and print one proof before you order the tents.
Make your QR code
Free, no sign-up, no watermark. The code is static, so it never expires.
Create a QR Code for Your MenuRelated Articles
Industry guide
QR Codes for Restaurants: Reviews, WiFi, Menus and Payments
Every place a restaurant can use a static QR code beyond the menu: Google reviews on receipts, guest WiFi on the wall, reservations, Instagram, a catering PDF, a hiring form and a payment link, each with the right tool.
5 min read
Read ArticleIndustry guide
Event QR Code Generator: Tickets, Check-in and What Static Codes Can Do
What a free static QR code can and cannot do at an event. Ticket validation needs a ticketing platform; registration links, agendas, venue WiFi, speaker vCards and feedback forms do not. Print sizes for banners, posters and badges included.
14 min read
Read Article