Back to Blog

To create a QR code for your restaurant menu, you need two things: a publicly accessible URL where your menu lives, and a QR code image pointing to that URL. The QR code itself is free. Generate one using the QR Code Generator for restaurant menus, download it, and print it. The only scenario where cost enters the picture is if you want to change the destination URL later without reprinting your table cards — that requires a dynamic QR code through a redirect service.

Step 1: Make Your Menu Accessible Via URL

The QR code can only point to something that has a URL. If your menu exists only as a file on your computer, you need to host it somewhere first. Your options, from simplest to most controlled:

Google Drive (fastest setup). Upload your menu PDF to Google Drive. Right-click the file, select "Share," and change the access to "Anyone with the link." Copy the sharing link. The standard Google Drive sharing link (https://drive.google.com/file/d/[ID]/view?usp=sharing) opens a Drive preview page, which is fine for most uses but can be slow on mobile and requires the user to click through a Drive UI to access the PDF. A better option: change /view to /preview in the URL to get a cleaner embedded viewer.

One critical point: the file must be shared with "Anyone with the link" — not "Anyone in your organization" or a specific set of people. Test this by opening the URL in an incognito browser window before generating your QR code.

A dedicated /menu page on your website. If you have a website, create a permanent page at /menu and put your menu content there — whether as a PDF embed, an image, or actual HTML text. This is the most reliable long-term option because the URL is completely under your control, and you can update the content without the URL changing. If you add a seasonal menu or change prices, update the page. The QR code never needs to be reprinted.

Restaurant platform hosted menus. If you use Toast, Square, OpenTable, Yelp, or a similar platform for reservations or POS, check whether the platform generates a publicly accessible menu URL. Square for Restaurants, Toast Online Ordering, and Yelp restaurant pages all have menu sections with shareable URLs. The URL is stable as long as you stay on the platform, and the platform handles mobile rendering.

PDF hosting services. These services host PDFs and generate clean, mobile-optimized shareable links. They are useful when you already design the menu in a hosted editor or want a polished PDF reader without touching your website. Confirm that the final menu URL opens without a login prompt before printing the QR code.

Direct PDF link. Any publicly accessible PDF URL works as a QR code destination. The mobile experience for raw PDFs varies by device — iOS handles them cleanly, Android depends on the browser. If mobile readability matters, an embedded viewer or a platform page is better than a bare PDF link.

Step 2: Generate the QR Code

Go to the QR Code Generator, select URL as the content type, paste your menu URL, and generate the code. Download in SVG format for print production — SVG scales without pixelation regardless of how large you print it. Download as PNG if you only need it for digital use (website, social media post, email).

No account needed, no watermark added. The generated image is yours to use.

If you want to add your restaurant's brand color, most QR generators allow you to set the module color. Use a dark color on a white or very light background. Contrast drives scannability — a navy blue on white scans reliably; dark green on light green does not. If in doubt, test scan before committing to print.

Step 3: Print and Place

Size matters more than most people account for when planning table placements. The practical rule: the scan distance should be no more than 10 times the QR code's printed size.

Sizes by placement type:

  • Table tent card (4"×6" or A5): QR code at 2"×2" (5 cm × 5 cm). This size scans reliably when a diner holds the tent card in their hand. If the tent card sits flat on a table and diners scan from 20-25 cm away, 2" is comfortable.

  • Tabletop sticker (flat on the table surface): 2.5"×2.5" minimum (6.5 cm). Flat placement means the scan happens from slightly farther away as the diner leans over the table.

  • Window sticker (viewed from outside): 3"×3" minimum (7.5 cm) for reading from a sidewalk. If foot traffic passes at 1-2 meters, 4"-5" is more reliable.

  • Large chalkboard or wall signage: 4"×4" minimum (10 cm). At seated restaurant distances, this is comfortable for a diner at the nearest tables. For a QR code mounted high on a wall viewed from across the room, scale up proportionally.

  • Business card or small handout: 1.5"×1.5" (3.8 cm) is near the floor for reliable scanning. If you're printing at this size, test scan the actual printed output — not the screen version — before ordering a large quantity.

For outdoor placements, use UV-resistant lamination or a weatherproof substrate. Direct sun fades both the paper and some toner/ink formulations, reducing contrast and scannability over time.

The Static vs. Dynamic Decision for Restaurants

This is where restaurants make avoidable mistakes.

A static QR code encodes your menu URL directly. The QR code image is self-contained — it always points to exactly the URL you put in it. If that URL stops working or changes, the QR code is obsolete. You reprint.

A dynamic QR code points to a redirect URL (something like qr.exampleservice.com/abc123). When a diner scans it, they go to the redirect URL first, and the redirect service instantly forwards them to your actual menu URL. You can change your actual menu URL in the redirect service's dashboard without reprinting the QR code. Dynamic codes also let you track scan counts and sometimes location or device type.

Dynamic QR codes cost money — typically $5-15/month from providers like QR Tiger, Beaconstac, or Bitly. This is worth it in two situations: you reprint table materials rarely (so avoiding a reprint is worth $5/month) and your menu URL changes regularly.

For most independent restaurants, the static approach is fine if you structure your menu hosting correctly. The key principle: keep your menu at a URL that you control and can overwrite. If your menu lives at yourrestaurant.com/menu and you update the page content in place, the URL never changes and you never need to reprint. If your menu is a Google Drive PDF and you upload a new PDF each season, you get a new Drive URL each time and need to reprint. The solution: delete the old PDF and upload the new one with the same file, replacing it, so the URL stays the same.

What to Print on the QR Code Placard

The QR code alone confuses some diners, particularly older guests who haven't encountered QR menus regularly. A few words of context make the experience noticeably smoother.

The minimum: a single line above the code reading "Scan for menu" or "Menu" with a down-arrow. This costs 2 inches of space and eliminates the confusion of "what is this square for?"

Worth adding if space allows: "If you'd prefer a printed menu, ask your server." This signals that you're not eliminating printed menus entirely — just offering digital as an option. It also removes a potential friction point for diners who have never used a QR code or whose phone battery is dead.

Don't add a URL below the QR code unless it's very short and easy to type. The point of the QR code is to avoid typing. If you do add a URL as a fallback, use a short custom URL (yourrestaurant.com/menu) — not a Google Drive link.

Testing Before Printing at Scale

Test every part of the chain before committing to a print run:

Test the scan itself. Scan the actual printed QR code — not the digital version on your screen. Use both an iPhone and an Android phone. Use the native camera app, not a third-party QR scanner. The native camera in iOS 11+ and Android 9+ handles QR codes natively.

Test the URL without authentication. Open the menu URL in an incognito window. If it asks you to log in, your menu is not publicly accessible. This is the most common setup failure: the file is shared with the wrong permission setting, or the hosted design is visible only to account holders.

Test the mobile experience. View the menu URL on a phone browser. Does it load legibly? Is the text large enough to read without zooming in on a PDF? A menu PDF designed for letter-size print with 9pt font will be unreadable on a phone screen without significant pinching and zooming. If mobile readability is poor, consider recreating the menu as a web page or using a PDF hosting service like Flipsnack that adds mobile-optimized zoom controls.

Test the load speed. If your menu is a large uncompressed PDF, it may take several seconds to load on a mobile connection. A 2MB PDF over a 4G connection (average 10Mbps) takes under 2 seconds to download. A 20MB PDF (common for image-heavy menu designs) takes 16 seconds. Compress the PDF before hosting it.

Seasonal Menu Updates

If you update your menu quarterly, plan your workflow before the first print run.

With the overwrite-same-URL approach: update the Google Drive PDF by replacing the file (right-click in Drive > Manage Versions > Upload New Version), update your website's /menu page, or log into your restaurant platform and update the menu items there. The URL stays constant. No reprinting.

With a dynamic QR code: log into your QR service, update the destination URL to point to the new menu. No reprinting.

With a static QR code that points to a URL that changed: generate a new QR code, update your print files, and reprint table cards or tent cards. Budget for this if seasonal menus are part of your operation.

For full seasonal reprints where you're updating the physical table materials anyway, a static QR code with a new URL is completely viable — you reprint the table cards, you include the new QR code. The cost of reprinting a static QR code is zero. The cost of maintaining a dynamic QR service when you'd be reprinting anyway is whatever you're paying per month for no reason.