Printing QR codes
Every table gets its own QR code, generated automatically once the table exists. This page covers getting it onto the actual table.
Printing from your browser
The QR codes screen is built for direct printing:
- Go to your section, or the dedicated QR codes view, and select the tables you want to print, or print all of them at once.
- Press Ctrl+P (Windows/Linux) or Cmd+P (Mac).
- In the print dialog, set margins to minimum, enable background graphics (needed for QR contrast), and choose landscape for more codes per page.
Paper recommendations
| Type | Use | Durability |
|---|---|---|
| Adhesive labels | Stick directly on tables | Weeks, indoors |
| Laminated paper | Place under glass or plastic | Months |
| Card stock | Temporary or event use | Days |
| Waterproof labels | Outdoor seating | Months |
For everyday use, adhesive vinyl labels or laminated cards are the best balance of cost and durability.
Sizing
Codes render as SVG, so they scale without losing quality. Minimum recommended size is about 3×3cm (roughly 1.2 inches). If guests regularly struggle to scan, try a larger print size before assuming something else is wrong.
Troubleshooting scanning issues
Code won’t scan at all
- Check it isn’t smudged, torn, or covered in glare from a glossy table surface.
- Try a different lighting angle.
- Test the code’s own URL directly in a browser to rule out a printing issue versus a setup issue.
Scans, but doesn’t look right
- Confirm the menu for that table is actually published and has at least one active product.
- Make sure your restaurant isn’t currently marked closed, see Dashboard.
Bulk printing
For restaurants with many tables, print in batches rather than all at once, filter by a range of table numbers, print that batch, then continue with the next. This avoids browser slowdowns on very large print jobs.
Customizing the printed text
The table-number text shown on a printed code (beyond the QR graphic itself) is controlled by a template in your restaurant’s QR settings, see Settings. The “Badge” style’s header text (“Scan to order”) isn’t part of that template — it’s translated automatically to match your dashboard’s language instead.