Reorder-direct QR codes for takeout packaging: what to print and where
Updated October 20, 2026
A reorder-direct QR code is a code on your takeout bag, box, sticker or receipt that opens your own ordering page, so the next order comes to you instead of a delivery app. Print it at least 1.2 × 1.2 inches (3 × 3 cm) if it's a static code, keep a white margin around it, add your web address in plain text, and pair it with a discount code that only works on your page so you can count who came back.
In short
- Point it at your own ordering page, never at your listing on a delivery app.
- Size: QR Code Generator recommends at least 3 × 3 cm (1.2 in) for static codes and 2 × 2 cm (0.8 in) for dynamic ones.
- Static codes don't expire; some dynamic codes stop working when the generator's plan ends.
- Leave the app's name and logo off it. Uber's US terms forbid using its brand without consent.
- Count it with a code that's printed only on the packaging.
Where to put the code
| Spot | Best for | What to print | Watch out for |
|---|---|---|---|
| Bag sticker or bag-closure label | Every delivery and takeout bag | QR + "Reorder direct" + your web address | Stickers on paper bags get creased; test after folding |
| Card inside the bag | Delivery-app orders, where the outside of the bag may be the app's | QR on one side; your offer code and web address on the other | Keep it part of your standard packaging (DoorDash asks for the same materials as your normal takeout orders) |
| Pizza box lid or food box sticker | Pizza, bento and catering boxes that stay on the counter | Large QR, your phone number, opening hours | Grease and steam: use a sticker on a dry part of the lid |
| Printed receipt | Orders you print a ticket for | QR under the total, plus "Next time order at …" | Thermal paper fades; the web address is the backup |
| Counter and pickup shelf sign | Pickup customers, including app couriers' customers who collect themselves | QR + "Skip the app fees next time" | Don't name the apps on the sign |
What to print on the card
Front:
- "Order direct next time", in your brand colors.
- The QR code, with a white margin all round.
- Your web address in plain text, such as menuthere.com/yourrestaurant or your own domain, for people who don't scan.
Back:
- A code that only works on your page, such as BAG10 for 10% off, limited to one use per customer.
- One reason that isn't price: a dish or size you only sell direct, a lower delivery fee, or faster pickup.
- Your phone number and hours.
Leave off: the delivery app's name, logo or colors, and any "Uber Eats offer" or app promotion. Uber's U.S. Merchant Terms forbid using its brand without written consent and advertising an Uber Eats Offer outside the apps. For the full rules per app, see how to move delivery-app customers to direct ordering.
Print checklist: codes that actually scan
| Check | Why | Source |
|---|---|---|
| At least 1.2 × 1.2 in (3 × 3 cm) for a static code; 0.8 in (2 cm) for a dynamic one | Static codes hold the whole web address, so they're denser | QR Code Generator help centre |
| A quiet zone four modules wide on every side | Scanners need the margin to find the code | DENSO WAVE, the QR code's inventor |
| Dark code on a light background | A white code on black "may not be readable by all scanners" | QR Code Generator help centre |
| Short web address | Shorter content makes a less dense code that scans more reliably | Canva Help Center |
| Test at print size, on two or three phones, before you print 1,000 | Problems show up at the real size, not on screen | QR Code Generator help centre |
| Scan distance of roughly ten times the code's width | A 1.2 in code reads from about a foot away, fine for a bag in someone's hand | QR Code Generator blog |
Static or dynamic? A static code puts your web address straight into the pattern: it never expires, but you can't change where it points. A dynamic code points to a short link the generator controls: you can change the destination and count scans, but some generators switch dynamic codes off when your plan ends (QR TIGER says paid dynamic codes stop working if the plan expires). For packaging you'll print thousands of, a static code to an address that won't change is the safer choice. Menuthere's free table QR card maker makes static codes, drawn as sharp SVG with medium error correction.
Worked example: does the card pay for itself?
A taco shop packs about 900 bags a month, 300 of them DoorDash Plus delivery orders at US$30. It prints a static QR card with the code TACO10 (10% off, one use per customer) and puts one in every bag.
| Number | How it's worked out | |
|---|---|---|
| Cards handed out in a month | 900 | One per bag |
| TACO10 uses after 30 days (shown in the Discounts list) | Say 25 | Read from the code's usage count; 25 is an illustration, not a benchmark |
| Commission avoided per order that would otherwise have gone through DoorDash Plus | US$7.50 | 25% of US$30 |
| Cost of the direct order: 10% discount + Stripe fee | US$3.00 + about US$1.08 | 0.029 × US$27 + US$0.30 |
| Gain per direct order, before delivery | About US$3.42 | US$25.92 kept direct vs US$22.50 on the app |
| Gain on 25 orders | About US$85 a month | 25 × US$3.42 |
If the gain is smaller than what you spend printing cards, change the offer or the spot before you give up on it. If the direct orders are deliveries, take off the cost of your own driver or a courier.
Give the QR code somewhere to land. copy your store link, and make the code with the free.
How Menuthere fits
- Your own ordering page on every plan, including Free (50 orders a month, 0% commission): the page your packaging QR opens.
- Discount codes with a usage count (Lite, US$17 a month): set total uses and uses per customer; the Discounts list shows how many times each code was used.
- Your customer list (Lite): customers sign in with their phone number when they order, so each direct order adds them to your list. See customers and reviews.
- Free print tools, no sign-up: the table QR card maker and the WhatsApp QR sticker. In the US, WhatsApp is for order updates (utility messages, about US$0.0034 each, billed by Meta), not promotions: Meta doesn't deliver WhatsApp marketing messages to +1 numbers, so use email for offers.
Frequently asked questions
What size should a QR code on a takeout bag be?
At least 3 × 3 cm (about 1.2 inches) for a static code, which is QR Code Generator's recommended minimum; dynamic codes can go down to 2 × 2 cm. Leave a white margin four modules wide around it and test the printed code on a few phones.
Should the QR code go to my DoorDash or Uber Eats page?
No, if the goal is to reorder direct. Point it at your own ordering page so the next order carries no app commission and the customer becomes yours. A code that opens your app listing just sends them back to the app.
Can I put a QR code in a DoorDash or Uber Eats bag?
DoorDash's and Uber's published US merchant terms don't ban a card in your own packaging. Keep the apps' names, logos and offers off it, and check your own contract. In New York City the Administrative Code says delivery services must allow menus, coupons and other printed marketing with any online order.
Do QR codes on packaging expire?
Static codes don't expire because the web address is in the pattern itself. Dynamic codes depend on the generator: some stop working when your paid plan ends. For printed packaging, a static code to an address that won't change is the safer choice.
How do I track how many people scanned the bag QR code?
A static code doesn't count scans. Count orders instead: print a discount code that appears only on the packaging. On Menuthere the Discounts list shows how many times each code has been used.
Sources (11)
- QR Code Generator (QRCG by Bitly) help centre, minimum size: https://support.qr-code-generator.com/hc/en-us/articles/7664433353869 (updated 12 Apr 2024; via repo
docs/guides/research/facts/facts-qr.mdF52, read 30 Sep 2026): 2 × 2 cm (0.8 in) dynamic, 3 × 3 cm (1.2 in) static. - DENSO WAVE, "How to make a QR code": https://www.qrcode.com/en/howto/code.html (F16, read 30 Sep 2026): quiet zone four modules wide.
- QRCG help centre, unscannable codes: https://support.qr-code-generator.com/hc/en-us/articles/7663662075405 (F53, updated 21 Aug 2026): contrast; white-on-black "may not be readable by all scanners". Testing at print size: https://support.qr-code-generator.com/hc/en-us/articles/7663646086541 (F55).
- QRCG static codes don't expire: https://support.qr-code-generator.com/hc/en-us/articles/7665040427405 (F26). QR TIGER FAQ, paid dynamic codes "If your plan expires, it will stop working": https://www.qrcode-tiger.com/faq (F86, published 3 Jan 2026).
- Canva Help Center, shorter URLs scan more reliably: https://www.canva.com/help/create-and-manage-qr-codes/ (F73, read 30 Sep 2026).
- QRCG blog, scan distance ≈ 10 × width: https://www.qr-code-generator.com/blog/minimum-qr-code-size/ (F56, 26 Feb 2025; vendor blog, not official guidance).
- DoorDash US Marketplace Addendum (effective 3 Nov 2025): https://help.doordash.com/merchants/s/us-addendum-marketplace (read 20 Oct 2026): "the same utensils, napkins, bags, and other materials that Merchant typically would provide in a standard take-out or delivery order".
- Uber Eats U.S. Merchant Terms (last modified 2 Jun 2026): https://www.uber.com/us/en/legal/uber-eats-merchant-terms-and-conditions/ (read 20 Oct 2026): s.19.a brand; s.12.f.v Offers outside the Apps.
- NYC Local Law 79 of 2025, Admin Code s.20-563(j): https://intro.nyc/local-laws/2025-79 (enacted text read 20 Oct 2026).
- DoorDash US Plus 25% (pricing page, read 25 Sep 2026 via repo commission data). Stripe US 2.9% + 30¢ (stripe.com/pricing, read 30 Sep 2026, facts-payments.md F7).
- US WhatsApp: utility ≈ US$0.0034; no marketing templates to +1 numbers (KC/seo/differentiators/WHATSAPP-RIDER-STRATEGY.md §6–7).