Skip to content

Local business schema generator

Describe a physical business, with address, phone, map pin and opening hours, using the most specific schema.org subtype.

Business details in knowledge panels come mostly from Google Business Profile; markup supports it but does not replace it.
@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
7/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": "Dentist",
  "name": "Riverside Family Dental",
  "url": "https://riversidedental.example",
  "telephone": "+1-201-555-0187",
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "220 River St",
    "addressLocality": "Hoboken",
    "addressRegion": "NJ",
    "postalCode": "07030",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 40.7424,
    "longitude": -74.0268
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday"
      ],
      "opens": "08:00",
      "closes": "18:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Friday",
      "opens": "08:00",
      "closes": "14:00"
    }
  ],
  "sameAs": "https://www.facebook.com/riversidedental.example"
}
</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 menu if it applies.menu
  • ?Recommended for Local business: add review if it applies.review
  • ?Recommended for Local business: add servesCuisine if it applies.servesCuisine
  • 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.

riversidedental.exampleriversidedental.example
Riverside Family Dental
Hoboken, NJ+1-201-555-0187
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.

When to use LocalBusiness markup

  • A business with a physical location customers visit, or a service area business.
  • The location page of each branch of a chain (one LocalBusiness per page).
  • Pair it with a verified Google Business Profile, which is where most local panel data comes from.

Getting it right

  • Google requires only name and address, but telephone, url, geo, openingHoursSpecification and priceRange make the entity far more useful.
  • Use a specific subtype (Dentist, Restaurant, AutoRepair) instead of LocalBusiness when one fits.
  • Enter the phone with country code, e.g. +1-201-555-0187.
  • Use five decimal places or more for latitude and longitude.
  • For hours use 24-hour time; to mark a day closed, leave it out rather than using 00:00–00:00.

Source: Google Search Central, Local business structured data documentation, and schema.org/LocalBusiness.

Google's property list

PropertyGoogle says
namerequired
addressrequired
aggregateRatingrecommended
departmentrecommended
georecommended
geo.latituderecommended
geo.longituderecommended
menurecommended
openingHoursSpecificationrecommended
priceRangerecommended
reviewrecommended
servesCuisinerecommended
telephonerecommended
urlrecommended

Example output

{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "name": "Riverside Family Dental",
  "url": "https://riversidedental.example",
  "telephone": "+1-201-555-0187",
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "220 River St",
    "addressLocality": "Hoboken",
    "addressRegion": "NJ",
    "postalCode": "07030",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 40.7424,
    "longitude": -74.0268
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday"
      ],
      "opens": "08:00",
      "closes": "18:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Friday",
      "opens": "08:00",
      "closes": "14:00"
    }
  ],
  "sameAs": "https://www.facebook.com/riversidedental.example"
}

Local Business schema questions

Will LocalBusiness markup put me in the map pack?

No. The local pack is driven by Google Business Profile, relevance, distance and prominence. Markup helps Google confirm your details from your own site.

Can I mark up reviews of my own business?

Google does not show review stars for self-serving reviews: reviews a LocalBusiness or Organization hosts about itself. Leave rating fields out on your own site.

What should a multi-location business do?

Give each location its own page with its own LocalBusiness block, and use Organization markup on the home page for the brand.

Related generators