What is LocalBusiness schema?
LocalBusiness schema is structured data that describes a business with a physical location or service area — its name, address, phone number, opening hours, coordinates and more — using the schema.org LocalBusiness type or one of its many subtypes such as Restaurant, Dentist or Plumber.
Google documents LocalBusiness markup as a way to tell it about business details that can appear in Search and Maps. Only name and address are required; telephone, url, geo, openingHoursSpecification and priceRange are recommended, plus servesCuisine and menu for food businesses. Markup helps Google understand your details but does not guarantee any rich result — for local visibility your Google Business Profile remains the primary source, so keep both consistent.
This generator covers 55+ valid schema.org business types, validates URLs, phone format and coordinates, and includes an opening hours builder that merges days with identical hours into compact OpeningHoursSpecification entries, with split shifts, 24-hour days, after-midnight closing and holiday hours.
How to use the Local Business Schema Generator
- Choose the most specific business type, then enter the name, website, phone number and price range.
- Fill in the full postal address and choose the country (ISO 3166-1 alpha-2 code). Add latitude and longitude with at least five decimal places.
- Tick Add opening hours, set each day to Open, Closed or Open 24 hours, and add a second range for lunch breaks. Use the copy buttons to repeat Monday’s hours.
- Add holiday closures or special hours, social profile URLs and, for restaurants, cuisine, menu URL and reservations.
- Copy the JSON-LD into your site (usually the homepage or a location page) and test it with the Rich Results Test.
Example
Weekday hours merged into one entry, plus a holiday closure:
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "17:00"
},
{
"@type": "OpeningHoursSpecification",
"opens": "00:00",
"closes": "00:00",
"validFrom": "2026-12-25",
"validThrough": "2026-12-26"
}
]Opening hours rules
- Times use 24-hour
hh:mmformat in the business’s local time. - A business open 24 hours uses
opens: "00:00"andcloses: "23:59". - A closing time earlier than the opening time (e.g. 18:00–02:00) means the business closes after midnight.
- Days that are closed are simply left out. For a closed holiday, use
validFrom/validThroughwith opens and closes both set to00:00.
Multiple locations and WordPress
For a business with several branches, create one LocalBusiness object per location on that location’s own page, each with a unique @id, address, phone number and hours. In WordPress you can paste the JSON-LD into a Custom HTML block on the location page; many local SEO plugins generate equivalent markup from their settings, so check the page source first to avoid duplicates.
Frequently Asked Questions
Which business type should I choose?
The most specific type that is accurate — Dentist rather than MedicalBusiness, Plumber rather than HomeAndConstructionBusiness. If nothing fits, use LocalBusiness. The generic ProfessionalService type is discouraged by schema.org.
Does LocalBusiness schema improve my Google Maps ranking?
Not directly. Map and local pack results rely mainly on your Google Business Profile, relevance, distance and prominence. Structured data helps Google confirm your details and connect your website with your business.
Can I add review stars to my own business?
Google does not show review snippets for LocalBusiness or Organization markup when the reviews are about the business itself and published on its own site (self-serving reviews), so this tool leaves aggregateRating out.
What format should the phone number use?
Use the international format with a plus sign and country code, such as +1-217-555-0142 or +44 20 7946 0958. The tool warns when a number does not look like E.164.
Where should I put the markup?
On the page that represents the business — the homepage for a single location, or each location page for multiple branches. Combine it with an FAQ schema or other types from the Schema Markup Generator if the page needs them.