How does a QR menu work?
A QR menu works in four steps: scan, decode, render, choose. The diner's camera reads the QR, the operating system extracts a URL, the URL renders your menu, the diner browses.
Short answer
A QR menu works in four steps: (1) the diner points their phone camera at the QR code, (2) the camera app decodes the pattern into a URL, (3) the diner taps the notification to open that URL in their browser, (4) the menu webpage loads and renders. Everything between step 1 and step 4 takes about two seconds.
The QR menu experience feels magical from the diner side — point, scan, browse. Under the hood there are exactly four pieces working together, and each one is doing something a phone has been able to do for over a decade. Here is the whole flow, with the parts the operator controls highlighted.
Step 1 — The diner aims their phone
Every iPhone running iOS 11 or newer (so anything from 2017 onwards) and every Android phone running 8.0 or newer scans QR codes in the default camera app. The diner does not need a special "QR scanner" app — they just open their normal camera. Older Android phones may need a third-party scanner, but the install base of those phones is now under 5% of dine-in customers.
Step 2 — The phone decodes the pattern
The QR code is a 2D barcode. The black-and-white squares encode bytes of data in a specific layout that includes error correction — meaning the code is still readable even if part of it is damaged or smudged. For a menu, the encoded data is a single URL, typically something like https://www.qrseva.com/r/your-restaurant-name.
Step 3 — The URL opens in the browser
The phone shows a small banner: "Open URL in Safari" on iPhone, "Open URL in Chrome" on Android. The diner taps. The browser opens. Up to this point everything has happened on the diner's phone — your restaurant's servers have not been contacted at all.
Step 4 — Your menu loads
Now the diner's browser sends a request to your menu URL. QRSeva's servers respond with the HTML, the images, the styling — everything the browser needs to render the menu. The page is optimised for mobile, so it appears in the diner's preferred language, formatted for their screen, with the prices in the right currency. This entire round-trip typically takes well under one second on a 4G connection.
Note · A well-built QR menu loads in under 800ms on a budget phone with 3G. QRSeva ships the menu HTML at ~30KB compressed — small enough to load even on a flaky connection in a restaurant basement.
What changes when you update the menu
The QR code itself never changes — it always points to the same URL. What changes is what your servers return when that URL is requested. So when you mark a dish as "sold out" at 8pm, the next diner who scans at 8:01pm sees the dish hidden. No reprint, no new QR, no syncing anything.
What the operator sees
On the operator side, every scan is also a page view. So you can see, in real-time, how many people scanned today, which items they viewed, how long they spent on the menu, and which dishes they tapped on. None of that information was available from a printed menu. The visibility shift — from "what we cooked" to "what diners asked about" — is the single most under-rated feature of QR menus.
Frequently asked questions
- Because the QR code encodes the URL only, not the menu content. The menu content lives on QRSeva's servers. When you edit your menu in the dashboard, the next request to that URL returns the new content. The diner sees fresh prices and dishes the moment they scan.
- On iPhones (iOS 11+) and most Android phones (8.0+), the default camera handles QR codes natively. If a diner has an older phone or has disabled QR scanning in their camera, they can use any free QR scanner app from the App Store or Play Store. Print a small "Need help? Scan with Google Lens" line under each QR if you regularly serve older devices.
- A typical QRSeva menu loads in 400-800ms on a 4G connection and under 1.5s on 3G. The platform aggressively compresses the HTML and lazy-loads photos, so the menu items are usable before all the images finish downloading.
- Yes, as long as the QR code is printed by the restaurant (not a sticker placed by a stranger). The QR code itself only contains a URL, and any URL that opens in your browser is as safe as any website you visit. QRSeva URLs are HTTPS-encrypted by default.
- Yes. The menu URL is a regular webpage URL, so the diner can bookmark it, share it on WhatsApp, post it on Instagram, or save it on the home screen of their phone. Many regular diners do exactly this with their favourite restaurants.