Why Canadian food service businesses use menu QR codes
A menu QR code lets a guest see your current menu on their own phone, in about two seconds, without an app or a sticky laminated card. The big jump happened in 2020 and 2021, but it did not reverse - well past that period, a large share of Canadian restaurants still offer scan-to-view menus alongside printed ones, because the operational case stands on its own. You change a price once, on one web page, and every table is up to date - no reprinting, no crossed-out specials in marker.
The wins are concrete: instant price and availability updates, lower printing costs, room to show dish photos and full allergen and dietary information, and an easy path to a second language for tourist-heavy areas. It fits almost every format. Sit-down restaurants use table tents and a small code on the menu insert. Cafés put one card at the counter for the full list. Food trucks replace a cramped painted menu board with a window code. Bars and breweries link a drink list with ABV and tasting notes that changes weekly. Quick-service and fast-casual spots put a code at the kiosk for the full menu or their ordering app. It also removes small frictions - no handling of grubby shared menus, easy updates, and a customer who can pinch-to-zoom is far better served than one squinting at six-point print.
What you'll need before generating
One thing only: a public web address where your menu lives. You have a few sensible options for what to host there:
- Your website's menu page (for example yourrestaurant.com/menu) - the simplest and recommended choice if you already have a site.
- A PDF in cloud storage - Google Drive, Dropbox, OneDrive, or iCloud Drive, with the share setting changed to "anyone with the link."
- A digital-menu service - platforms like Toast or Square typically give you a public menu URL you can point the code at.
Whatever you pick, test the address on your own phone first, over cellular data rather than your shop's Wi-Fi. That catches the two most common failures before you print: a link that secretly requires a sign-in, and a page that is painfully slow off Wi-Fi. If you want guests on your network while they browse, pair this with a Wi-Fi QR code on the same card.
Step-by-step guide
1. Decide which URL to use
If you have a website with a menu page, use that - it is yours, it loads fast, and it carries no third-party branding. If your menu is a PDF, put it in cloud storage and create a public "anyone with the link" share URL. Think twice before pointing the code at a delivery marketplace like DoorDash, SkipTheDishes, or Uber Eats: those pages carry marketplace fees, their formatting, and their upsells, and they send your in-house guest into a delivery funnel you did not intend. For a code on your own table, link to a page you control.
2. Generate the QR code
Paste the address into the form at the top of this page. The preview updates as you type. The generator encodes that address directly into the QR pattern in your browser - nothing is sent to us. When the preview looks right, download the PNG at 1024 px, which is sharp enough for both screens and ordinary table-card printing.
3. Customise for your brand (optional)
This focused tool produces a clean black-on-white code, the most reliable choice for scanning across a room. If you want brand colours, a centred logo, or a printed frame with a call to action, the full generator on the homepage adds all of that while keeping the same private, in-browser generation. Whatever you choose, keep contrast high - a dark code on a light background scans most reliably in dim dining-room lighting.
4. Test before printing
Scan it from across a table with both an iPhone and an Android, in lighting close to your actual dining room. Confirm the menu loads quickly on mobile data, not just on Wi-Fi, and that it reads well on a narrow phone screen - pinch-zoom on a desktop PDF is a poor experience and a common complaint. Only send the card to the printer once a real phone has loaded the real menu cleanly.
Quebec language law: what restaurants need to know
In Quebec, the Charter of the French Language - strengthened by Law 96 - governs commercial materials in customer-facing areas, and a printed menu card counts. The QR code itself is fine: it is a machine-readable symbol, not language, so it carries no obligation. The rule applies to the text you print around it and to the menu it leads to.
For the printed prompt, where both languages appear French must be "markedly predominant" - in practice given clearly more visual weight than the other language. "Menu · Scannez ici" or simply "Scannez pour le menu" is a safe, clean choice. The hosted menu matters too: if your location is in Quebec, the menu content itself - dish names and descriptions - must be in French, or French markedly predominant where another language also appears. A common, compliant pattern is a menu page that serves French by default with an English toggle in the header. Official guidance is published by the Office québécois de la langue française at oqlf.gouv.qc.ca. Outside Quebec there is no equivalent restriction on the language of a private restaurant's menu - English-only or bilingual are both fine.
Design and placement tips
Where and how big you print the code decides whether it scans on the first try. Practical placements by format:
- Table tents (4×6"): one per table, or every other table, with the code at least 2.5 cm square.
- Menu cover sticker: a small 2 cm code on the physical menu cover, so guests can pull up the photo-rich digital version.
- Counter cards: ideal for cafés - one clear card by the till.
- Food truck window: go large, 8–10 cm, so it reads from the line a few steps back.
- Receipts: a small code at the bottom works; keep it as big as the paper allows, since thermal paper has low contrast.
- Takeout containers: a sticker on the bag or box drives repeat scans after the guest has left.
Always print dark modules on plain white or a very light background, with a clear quiet zone around the pattern. A code over a photo, a dark colour, or a busy texture will fail intermittently in exactly the lighting you cannot control. If a single card needs to do more than show the menu - collect a review or share contact details - use a dedicated code for each rather than overloading one. A Google reviews QR code on the receipt and a vCard QR code on a business card each do one job well.
Static or dynamic: which does a menu need?
For almost every restaurant, a static menu QR code is the right choice - and it is what this generator produces. The code carries your menu's web address directly in the pattern, so it works forever with no account and no dependence on our servers. Because you control the menu page, you can change prices and dishes daily without ever touching the printed code. That covers table tents, counter cards, window decals, and receipts - the bulk of food service.
A dynamic QR code is worth considering only in two specific situations. The first is when the menu's address itselfchanges - for example, you run seasonal pop-ups on different URLs and do not want to reprint table cards each time; a dynamic code lets you repoint it without a reprint. The second is when you want scan analytics - how many people opened the menu, when, and on what device - to measure a campaign. Those are paid features with a 14-day free trial; the trade-off is that a dynamic code depends on our redirect service staying up, where a static one never does. If neither applies, stay static. See the pricing page for the dynamic-code details.
Common problems and fixes
"The menu loads slowly on phones"
The bottleneck is usually the menu page, not the code. Image-heavy menus are slow over cellular - compress the photos, or host the page somewhere with a content delivery network in front of it. Run the page through a mobile performance check (Lighthouse or PageSpeed Insights) and treat a poor mobile score as the real fix, since the QR code can only ever be as fast as what it points to.
"Guests scan but the menu looks weird"
The hosted page is not mobile-responsive - typically a desktop PDF or a fixed-width layout that forces pinching and side-scrolling. Get the menu displaying cleanly on a narrow phone screen before relying on the code. A simple responsive web page beats a beautiful PDF that no one can read at the table.
"I update prices weekly - do I need a new QR each time?"
No, and that is the whole point. The code points to your address, not to the menu's contents. Update the menu at that address as often as you like - daily specials, seasonal pricing, a full rewrite - and every printed code keeps working untouched. You only regenerate if the address itself changes.
"What if I want different menus for breakfast, lunch, and dinner?"
Two options. Either keep one code and have the menu page show the right section based on the time of day, which is the lowest-effort setup. Or generate separate codes - one for breakfast, one for dinner - and physically swap the table cards between services. Most operators find one code pointing to one well-built page is less to manage than juggling printed sets.