HubTools

Restaurant Menu QR Code Generator

Generate a permanent QR for your menu URL. No subscription, no third-party tracking.

What's the right way to do a menu QR code?

A menu QR code is just a URL QR — when scanned, it opens your menu page (or PDF) in the customer's browser. The two key choices are: static vs dynamic QRs, and PDF vs web menu. Static QRs (what this generator produces) point directly to a URL, never expire, work forever, and don't require a paid subscription — but you can't change the destination after printing. Dynamic QRs (offered by paid services like QR Tiger) redirect through a third-party server, can be re-pointed, and add tracking, but require a recurring fee. For most restaurants, static + a stable menu URL beats paying $10/month forever.
Quick start templates
Appearance
Body & eyes
Body pattern
Eye frame
Eye ball
Colors
Body
#B45309
Eye frame
#B45309
Eye ball
#B45309
Background
#FEF3C7
Logo

Drop a logo, or click to browse

PNG, JPEG, SVG, WebP · up to 2 MB

Frame
Frame style
Call-to-action text
Frame colors
#B45309
Banner
#FFFFFF
Text
Advanced
Size
Error correction
Quiet zone (4 modules)
Preview
Enter content to generate a QR code
Download
Format
PNG and WebP support transparency. SVG scales to any size without quality loss. JPEG is the smallest file but has no transparency.

About static URL QR codes

A URL QR is the simplest QR variant — just a https:// link encoded directly into the QR.
  • Format: just the full URL, e.g. https://yourrestaurant.com/menu
  • Recommended error correction: M (15%) — survives small print smudges
  • Recommended size: at least 2 inches (5 cm) printed for reliable scanning across the room
  • Test scan with both iPhone Camera app and Google Lens before printing

Frequently asked questions

Should I link to a PDF menu or a web menu?
Web menu (HTML page) is better: it's mobile-friendly, faster to load, and Google can crawl it for SEO. PDFs require Acrobat/Preview to render, are harder to update, and don't help your search rankings. If you must use PDF, host it on your own domain so the URL is stable.