Restaurant schema generator
Restaurants get the most from LocalBusiness markup: cuisine, menu link, price range and reservations all have dedicated schema.org properties, and Google documents servesCuisine and menu as recommended.
All Google-required properties present. That makes the page eligible, not guaranteed. Google's docs
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "Osteria Lanterna (example)",
"url": "https://osterialanterna.example",
"telephone": "+1-718-555-0133",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "410 Grand St",
"addressLocality": "Brooklyn",
"addressRegion": "NY",
"postalCode": "11211",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 40.7128,
"longitude": -73.9566
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Tuesday",
"Wednesday",
"Thursday"
],
"opens": "17:00",
"closes": "22:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Friday",
"Saturday"
],
"opens": "17:00",
"closes": "23:30"
}
],
"servesCuisine": "Italian",
"menu": "https://osterialanterna.example/menu"
}
</script>Properties that matter for restaurants
| Property | Why |
|---|---|
servesCuisine | Recommended by Google for food establishments; use plain words like "Thai" or "Neapolitan pizza". |
menu | URL of the menu page (Google lists it as recommended). |
acceptsReservations | true/false or a booking URL (schema.org). |
priceRange | Recommended; Google accepts "$$" style or a numeric range under 100 characters. |
The generator covers Google's documented properties; add the extra schema.org ones above by hand if they apply. Sources: Google local business docs, schema.org/Restaurant.
Tips
- Google's restaurant carousel is limited access; ordinary restaurants still benefit from accurate address, hours and cuisine.
- Keep hours in sync with your Google Business Profile; conflicting hours confuse both visitors and Google.
- Use FastFoodRestaurant, CafeOrCoffeeShop, BarOrPub or Bakery when one fits better than Restaurant.
The example business in the form is fictional. Replace every value with your own before publishing, and test the live page with the schema validator.
Restaurant schema questions
What schema type should restaurants use?
Restaurant is the most specific schema.org type here. It inherits from LocalBusiness, so Google's local business rules apply: name and address are required, and phone, url, geo, opening hours and price range are recommended.
Will Restaurant markup get my business into the map pack?
No. Local pack rankings depend on Google Business Profile, relevance, distance and prominence. Markup confirms your details from your own site; it is not a ranking switch.
Where do I put the code?
On the page for that location, usually the contact or location page, in a <script type="application/ld+json"> block. One block per location page.