Uploading a Menu PDF
3 min read
The promise
You have a PDF menu. You email it to suppliers, you print it for the table, but it's not on your website (or it's a giant download link that nobody clicks on mobile).
The Menu addon turns that PDF into a real /menu/ page on your site — searchable, readable on mobile, and editable in 30 seconds when you change a price.
How it works
- Drag your PDF into the dashboard. Up to 10 MB. Both text PDFs and scanned PDFs work — we use AWS Textract for OCR.
- We extract every item. AI groups items by section (Starters / Mains / Desserts), pulls names, descriptions, prices, and infers dietary tags (vegan, gluten-free, contains-nuts) from the descriptions. Usually takes 30-60 seconds.
- You review. The dashboard shows every extracted item. Edit any that are wrong, add anything that's missing, reorder within a section.
- Publish. /menu/ goes live.
What we extract
For each item, we try to capture:
- Section — "Starters", "Pizzas", "Cocktails", whatever the PDF used as the header.
- Name — the dish name.
- Description — the prose below the name, if any.
- Price — free-text, so "$12", "12 / 18" (for half / full), "Market", "Ask" all survive.
- Dietary tags — auto-inferred from descriptions when we see "vegan", "GF", "contains nuts", etc. You can add or remove any tag manually.
Editing after publish
Every item is a row in the dashboard you can click to edit. Changes take effect the next time you click Rebuild (or any time you publish a new item).
You don't have to re-upload the whole PDF to change one price. The PDF is just the starting point — after extraction, the items live in the dashboard as your editable source of truth.
Common questions
My PDF is scanned, will it work? Yes. We use OCR for scanned PDFs.
My menu has 200+ items, is that OK? Yes, up to about 200 items per extraction. Realistic restaurant menus rarely reach this.
I have a multi-page wine list — should I split it? No, upload the whole thing. We handle multi-page PDFs as long as the file is under 10 MB.
Can I add an image per item? Yes — there's an optional plate photo per item. Useful for chef's specials and signature dishes; overkill for every soup.
What about beverages, by-the-glass vs bottle pricing? Use the free-text price field: "12 / 45" or "12 glass / 45 bottle" or however your menu phrases it.
Limits + notes
- 10 MB PDF cap (Textract's hard limit).
- Best results come from PDFs that have clean section headers in a different font/size than item names. If your menu is a single dense column with no visual hierarchy, the AI may put everything in one "section".
- We don't auto-republish on PDF changes — uploading a new PDF starts a fresh extraction; you decide whether to replace or merge with existing items.
