Skip to content

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.

@LocalBusiness
Pick the most specific schema.org subtype.
Opening hoursrecommended
Address
Map pin

Your entries are saved in this browser only (localStorage). Privacy

Required
2/2
Recommended
9/12

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>
  • ?Recommended for Local business: add aggregateRating if it applies.aggregateRating
  • ?Recommended for Local business: add department if it applies.department
  • ?Recommended for Local business: add review if it applies.review
  • iBusiness details in knowledge panels come mostly from Google Business Profile; markup supports it but does not replace it.@type

Checked in your browser against the required and recommended properties Google documents for this type. Confirm with Google's Rich Results Test once it's live.

osterialanterna.exampleosterialanterna.example
Osteria Lanterna (example)
Brooklyn, NY+1-718-555-0133
Google writes this snippet from your page content or meta description.

An illustration of what the markup can feed. Google decides what actually appears and valid markup never guarantees a rich result.

Properties that matter for restaurants

PropertyWhy
servesCuisineRecommended by Google for food establishments; use plain words like "Thai" or "Neapolitan pizza".
menuURL of the menu page (Google lists it as recommended).
acceptsReservationstrue/false or a booking URL (schema.org).
priceRangeRecommended; 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.

Other business types