No redirect
A menu QR code that points at your menu, not at a trial
Put the address of your own menu page in the code. Change the page whenever the specials change. The card on the table does not go through a company that can switch it off.
Encoded content
How to make one
- Step 1. Publish the menu at a stable address. A page on your own site, or a PDF at a URL you control. The path can stay /menu for years while the contents change.
- Step 2. Paste that address into the generator. The code stores the URL and nothing else. The line under the preview is exactly what a phone will open.
- Step 3. Style it for a dim room. High contrast, a quiet margin, no photo behind the squares. Believe the contrast warning. Logos only after a sample scans.
- Step 4. Print a proof and scan it. Use the phone a guest would use, in the room, not in the office under a skylight. Then print the table tents.
- Step 5. Update the page, not the ink. When a price changes, replace the page at the same address. The codes already on tables keep working.
The failure mode this page is about
A restaurant prints a few hundred menus, table tents, or window stickers with a QR code from a free generator. The code does not contain the menu. It contains the generator's short link. For a few weeks the short link redirects to the PDF. Then the trial ends, the card on file fails, or the vendor changes its plan, and the short link starts sending guests to a paywall, a different restaurant's sample, or a dead page. The menus are already in the drawers. Reprinting is the real cost, and it shows up on a Friday night. This is a common shape of product, not a rare scam: a survey of free QR tools that prompted this project found most of them defaulting to a hosted redirect rather than to the URL the user typed.
HonestQR will not do that. The URL you paste is the URL in the squares. There is no HonestQR domain in the code, no account to expire, and no dashboard that can edit the destination later. If you need the menu itself to change, you change the page at that URL. The code stays. That is the whole product.
A page you control is the editable part
You do want the menu to change. Prices move, a dish sells out, an allergen note gets corrected. None of that requires a QR company. It requires a URL that you can update and that you will still own next year. The boring good version is a page on the restaurant's own site, /menu, edited in whatever system already runs the site. A PDF at a stable path works too, if replacing the file does not change the path. What does not work is a link you do not control: a free host that rewrites URLs, a document share link with a token that rotates, or a social post that disappears. If the address in the code is not yours, the code is not yours either.
Guests do not need an app. The camera opens the URL. If the page is fast and readable on a phone, you are done. A huge PDF of a print menu is a poor phone page: pinch-zoom in a dark booth is how people give up and wave at the server. A simple page with the dishes in text, a price, and the allergen line will outperform a photograph of the paper menu. You can still offer the PDF as a download on that page. The QR should open the thing that is easiest to read at the table.
What 'static' does and does not mean
Static describes the code, not the menu. The code always opens the same address. The address can show today's soup. People mix this up with 'dynamic QR,' which means the code opens the vendor, and the vendor decides the address at scan time. Dynamic codes are how you get scan counts and how you change the destination without reprinting. They are also how the destination becomes a rental. If you might forget to renew, do not put the rental in the ink. Put your own domain in the ink. You can change hosts, redesign the page, and switch from a PDF to HTML, as long as the path you printed still responds.
Same-site redirects are fine and common. A code for https://yourdomain.com/menu that immediately redirects to https://www.yourdomain.com/menu is still your site. The check-up on this site will say that kind of hop is direct, because it is not a known third-party QR host. A code that hops through bit.ly, a qrco.de link, Flowcode, Uniqode, ME-QR, or the other hosts in our list is the expiry risk, and the check-up will name the service. If you inherited a dining room full of codes and you do not know which kind they are, photograph them. The decoder runs in the browser. Only if the content is a web address do we ask our checker to follow it.
Print for the table, not for the brand deck
Dining rooms are dim, menus are glossy, and phones are held at a bad angle. The code needs a flat, light patch with dark squares and the quiet white margin left intact. Embossing, foil, and a code placed on a photograph of food are how you get a tent card that only scans at lunch. The contrast warning is aimed at this. A dark green on cream can be on-brand and still readable. Pale gold on white usually is not. Add a logo only after you have scanned a proof at table size. Error correction can rebuild a small center mark. It cannot rebuild a wordmark that covers a third of the code.
Size matters more than people expect. A code the width of a thumb, tucked under a paragraph of type, fails for anyone whose camera needs a moment to focus. Give it space: a couple of centimeters of quiet paper around it, and a caption that says what it is. 'Menu' is enough. 'Scan for our story' is how you train guests to ignore it. Put the same code on the takeaway window only if the URL is the takeaway menu. One address per job. If lunch and dinner are different pages, they are different codes, or they are one page with both services written out. Do not encode a link that only works when your QR vendor's 'smart rules' are having a good day.
A practical publishing setup
If you already have a website, add one page and stop there. Title it with the restaurant name and the word menu. Put the dishes in real text so a phone can scale the type. Include prices, and include the note about allergens that you are willing to stand behind, with a line that the kitchen is the authority if someone has a serious allergy. A QR code is a bad place to hide a legal disclaimer and a good place to open a page where the disclaimer is readable. Update the page when the menu changes, and do not change the path.
If you do not have a website, a single page you control is still the requirement. Buy the domain, point it at the simplest host you will actually keep paying for, and put the menu there. A domain is a yearly cost you can see. A 'free' QR plan is a cost you see when the codes on the tables die. Keep the file that generated the code with the other print files, next to the logo. When you reprint for wear and tear, you should not have to remember which website you used. The SVG or PNG from this page is that file. It does not phone home, and it does not contain our analytics.
What this generator will not do
It will not take orders, split bills, or store guest emails. It will not count scans. It will not swap the menu for a happy-hour URL between 4 and 6. Those are products, and some of them are useful, and they need a server you trust to stay up. If the only thing you want is a menu that guests can open, you do not need them. If you later want scan counts or a code you can retarget without reprinting, that is a different product with a different failure mode. The box at the bottom of this page collects an email for that, and using the generator does not subscribe you to anything.
It also will not check that your menu page is up, except through the separate check-up. Before a big print run, run the URL through that tool, and click it on a phone that is not on the restaurant Wi-Fi. A code that is honest and a page that is down is still a bad night. The code's job is to keep pointing at the same place. Your job is to keep that place worth opening.
Questions
Can I change prices without reprinting the tents?
Yes, if the code contains your own menu URL. Edit the page at that URL. You reprint only if the URL itself changes.
Is a PDF okay?
Yes, if the PDF's address stays stable when you replace the file. A long image-only PDF is harder to read on a phone than a simple page.
Why not use the free QR from my menu vendor?
If their code contains their domain, they can turn it off. Read the code with the check-up. If the first hop is their short link, assume it can expire.
Will this track how many guests scan?
No. A static code does not report scans to us or to you. Counts require a redirect in the middle.
What if my site redirects to the www version?
That is still your site. The check-up treats known QR-host domains as the expiry risk, not an ordinary redirect on your own domain.
How big should the code be on the table tent?
Large enough to scan at arm's length in that room. Print a proof and try it from a seat. Leave a blank margin around the squares.