Quick menu import with AI (~3 min)
Use ChatGPT to convert menu images to JSON, then import into Slip.
Slip doesn't automatically read menu images.
This guide shows you how to use ChatGPT to turn menu images into Slip-ready JSON.
Good for:
- You already have a printed or image menu
- You want to build menu data quickly
Steps
-
Step 1 -- Open ChatGPT
Open ChatGPT on your phone or computer.
-
Step 2 -- Upload your menu image
- Take a photo of the printed menu
- Or upload an existing image
- Readable is enough -- perfect cropping isn't required
-
Step 3 -- Copy & paste the prompt
Copy the prompt below and paste it into ChatGPT.
You are an OCR and structuring expert for restaurant menus. Read the user's uploaded menu image, extract categories, items, prices, add-ons, and modifiers, and output a result that matches the JSON structure below (output JSON only, with no extra text or Markdown): JSON structure: { "sections": [ { "name": "Category name", "sortOrder": 1, "menuItems": [ { "name": "Item name", "price": 0, "isAvailable": true, "sortOrder": 1, "isAddon": false, "productUUID": null } ] } ], "modifiers": [ { "term": "Modifier", "enabled": true } ] } Rules: 1. sortOrder follows the order in the image, starting at 1. 2. If availability isn't specified, set isAvailable to true. 3. If an item is an add-on (e.g., "Add pearls", "Add cheese"), set isAddon to true, otherwise false. 4. productUUID should be null (or omit the field, but be consistent). 5. If there are no categories, create a single category name = "Uncategorized". 6. Prices must be numbers (decimals allowed) without currency symbols. 7. Modifiers should be common selectable terms in the image, such as "Less ice", "Less sugar", "No spice", "No ice"; if none, output an empty array. 8. If the same item appears in different categories, keep one entry per category; do not merge. 9. Output must be valid JSON with double quotes. Start parsing the image and output JSON. -
Step 4 -- Get menu.json
After ChatGPT responds, make sure it's valid JSON and copy it all (from { to }).
JSON output preview
{ "sections": [ { "name": "Beverages", "sortOrder": 1, "menuItems": [ { "name": "Black tea", "price": 30, "isAvailable": true, "sortOrder": 1, "isAddon": false, "productUUID": null }, { "name": "Add pearls", "price": 10, "isAvailable": true, "sortOrder": 2, "isAddon": true, "productUUID": null } ] } ], "modifiers": [ { "term": "Less ice", "enabled": true }, { "term": "Less sugar", "enabled": true } ] } -
Step 5 -- Import into Slip
Back in Slip → Menu import → Paste JSON → Preview → Import.
Important notes
- This content is AI-generated and may need manual review
- Slip shows a preview before import
- Please verify prices and categories
Disclaimer
This guide is for operational reference only. Users are responsible for verifying ChatGPT's output.