Published on 7/29/2026
QR Codes for Hotels: What Guests Actually Scan
A hotel is one of the few places where a QR code is genuinely the fastest route to an answer. The guest is in a room, holding a phone, wanting to know when breakfast stops — and the alternative is a printed compendium from 2019 or a call to a reception desk that is dealing with a check-in.
That is also the test for every code you put in a room: does it answer a question the guest already has? If it does not, it is decoration.
The three that earn their place
- The room directory. Breakfast times, checkout, spa hours, how the air conditioning works, the number for reception. This is the compendium, and it is the one thing you can never keep current on paper.
- Wi-Fi. The most-asked question in any hotel, and the one guests are least willing to type.
- The restaurant or room-service menu. Prices change, dishes come off, and a laminated menu with a pen correction says something you would rather not say.
After those, in rough order of usefulness: spa and gym booking, parking and transport instructions, late checkout requests, the review link on the way out, and event or conference schedules.
One printed code, every guest's language
This is the part worth setting up properly. A dynamic code can carry language rules: the same code on the same desk card sends a phone set to German to your German page, a phone set to Italian to the Italian one, and everyone else to English.
The guest does nothing. There is no flag menu to tap, no wrong-language page to back out of. For a hotel with mixed European guests this removes the single most common friction point in the room, and it costs one code rather than six printed cards.
Time rules, with one caveat
You can point the same code at different pages by hour and weekday — the breakfast menu in the morning, the dinner menu in the evening.
The caveat is worth knowing before you build it: time windows are evaluated in UTC. If your kitchen switches at 11:00 local time in Central Europe, that is 09:00 UTC in winter and 10:00 in summer. Set the window in UTC, and check it again when the clocks change. If that sounds like a maintenance job you will forget, use one code and one page that lists both menus.
About the Wi-Fi code specifically
Be clear on what this does, because guests will ask. Our Wi-Fi code opens a page showing the network name and password with a copy button — it does not join the network silently. The guest taps to copy, then picks the network.
Two consequences. First, it is still faster and less error-prone than reading Gu3st!ng-2024 off a card, which is the actual comparison. Second, the phone needs a connection to load that page in the first place, so put the code somewhere it can be scanned on mobile data — a desk card in the room, not a sign in a basement conference room with no signal.
If you run a captive portal, point the code at the portal's landing page instead and let it do the work.
Sizes for the places codes actually go
The rule is about a tenth of the reading distance, and hotel codes are read close up:
- Desk or bedside card, read at 30 cm — 3 cm across is enough, and 2 cm is the floor.
- Table tent in the restaurant, read at 40–50 cm — 4–5 cm.
- Door or corridor sign, read at a metre — 10 cm.
- Lift or lobby poster, read at two to three metres — 20–30 cm.
Two rooms deserve extra thought. Bathrooms are humid, so laminate anything you put there. And in dim rooms — spa corridors, restaurants at dinner — a code printed light-on-dark can defeat older scanners: keep it dark on light where the lighting is low.
One code per placement, not one per hotel
It is tempting to put the same code on the desk card, the lift poster and the breakfast table tent. Do not. Give each placement its own code and the scan counts tell you which placement guests actually use — usually the bedside card by a wide margin, which is useful when you are deciding what to print next.
This matters more than it sounds, because the analytics contain no location data at all. There is no way to see that a scan happened in the lobby rather than in room 214. Separate codes per placement is how you get that answer, and it is more reliable than location data would be anyway.
What you do get: scans over time, device, operating system, browser, referrer, and unique visitors from a hashed IP. Enough to see that the spa card gets used on Saturdays and the parking sign never does.
Why dynamic, in one paragraph
Room cards get printed once and stay in the room for years. In that time the breakfast window moves, the spa closes for refurbishment, the restaurant changes its supplier, and the review platform you use changes its URL. With a dynamic code you edit the destination and every card in every room follows. With a static code you reprint 120 cards, or live with a wrong answer.
The review code, done properly
A code at checkout pointing at your review page works, and there is one line to stay on the right side of: ask every guest, not the ones who look happy. Google and TripAdvisor both prohibit selective solicitation, and incentives — a free drink for a review — breach their guidelines. A code on the checkout folder, given to everyone, is fine.
Quick answers
- What is the most useful code in a hotel room? The room directory. It replaces the one document you can never keep current on paper.
- Does the Wi-Fi code connect the phone automatically? No. It opens a page with the network name and password and a copy button.
- Can one code serve guests in several languages? Yes — language rules on a dynamic code route by the phone's language setting, from one printed card.
- How big should a bedside card code be? About 3 cm; do not go below 2 cm.
- Can I see which floor or room a scan came from? No. There is no location data. Use a separate code per placement.
- Do time-based menu switches use local time? No — the windows are UTC, so convert, and re-check when the clocks change.