Restaurant Menu Schema Generator
Build nested Menu, MenuSection and MenuItem JSON-LD with prices, RestrictedDiet values and calories, ready to attach to a restaurant's hasMenu.
Menu JSON-LD
An item is written out once it has a name; a section appears once it has a name or at least one named item. The diet values come from the schema.org RestrictedDiet enumeration, so they are the exact strings search engines look for.
What is the Restaurant Menu Schema Generator?
The Restaurant Menu Schema Generator turns a menu into structured data. You type sections such as Starters, Mains and Desserts, add dishes inside each one, and the tool builds the nested Menu, MenuSection and MenuItem JSON-LD that describes the whole thing.
- Nested Menu, MenuSection and MenuItem structure built for you
- Diet values from the exact schema.org RestrictedDiet enumeration
- Per-dish Offer price plus NutritionInformation calories
- Optional Restaurant wrapper using hasMenu and servesCuisine
- Add and remove sections and dishes independently
- Copy as a script block or download the JSON file
How to use the Restaurant Menu Schema Generator
- 1
Enter the menu name, its page URL and the currency your prices are in.
- 2
Optionally tick the restaurant wrapper and add the restaurant name, URL and cuisine.
- 3
Name each section, then add its dishes with description, price, diet and calories.
- 4
Use the add buttons for more sections or more items inside a section.
- 5
Copy the generated script tag into the menu page, or download the raw JSON.
About the Restaurant Menu Schema Generator
The Restaurant Menu Schema Generator turns a menu into structured data. You type sections such as Starters, Mains and Desserts, add dishes inside each one, and the tool builds the nested Menu, MenuSection and MenuItem JSON-LD that describes the whole thing.
Every dish can carry an Offer with a price in your chosen currency, a suitableForDiet value taken from the schema.org RestrictedDiet enumeration — VeganDiet, GlutenFreeDiet, HalalDiet and the rest — and a NutritionInformation node with its calorie count. An optional switch wraps the whole menu in a Restaurant node using hasMenu.
It all happens in your browser with nothing uploaded and no sign-up. Sections and dishes are added and removed freely, and only rows that actually have a name are written into the output.
Frequently asked questions
Does menu schema markup show up in Google search?
Google reads the hasMenu property on a restaurant and may link to your menu, though there is no dedicated menu rich result today. The bigger win is that answer engines and assistants can quote your dishes, prices and dietary options accurately instead of guessing.
How do I mark up vegan or gluten-free dishes?
Use the suitableForDiet property with a value from the schema.org RestrictedDiet enumeration, such as https://schema.org/VeganDiet or https://schema.org/GlutenFreeDiet. This generator offers all eleven values in a dropdown so you never have to guess the spelling.
Should the menu markup go on the menu page or the homepage?
Put the Menu markup on the page that actually shows the menu. If you want your homepage or location page to point at it, use hasMenu there with the menu page URL, which the restaurant wrapper option here produces.
Do I have to include prices?
No, prices are optional and a dish is written out as long as it has a name. Including them helps, though, because price is one of the first things people and answer engines look for, and the Offer node is only added when you supply a number.
Can I nest sections inside other sections?
schema.org allows it through hasMenuSection, but this tool keeps to one level of sections with dishes inside, which covers almost every real menu. For a menu split into lunch and dinner, generate one Menu for each.
Related tools
Hotel Schema Generator
Create Hotel or LodgingBusiness JSON-LD with address, coordinates, star rating, check-in and check-out times, room count and an amenity feature list.
ProductGroup Schema Generator
Generate ProductGroup JSON-LD for products with options: productGroupID, variesBy, and a hasVariant array of Product entries with SKU, price and availability.
Local Business Schema Generator
Create LocalBusiness JSON-LD with name, address, geo coordinates, phone, opening hours, price range and URL. Copy structured data for local SEO rich results.
JSON-LD Generator
Generate Schema.org JSON-LD structured data for WebSite, WebPage, LocalBusiness, Person, Event and Recipe types with a simple guided form.
Organization Schema Generator
Free organization schema generator: build valid Organization JSON-LD with name, logo, URL, social profiles (sameAs) and a contact point for your brand.