Local Business Schema Generator

Create LocalBusiness JSON-LD with address, geo coordinates, opening hours, holiday hours, social profiles and restaurant details.

Runs in your browser

Business details

Use the most specific schema.org type that describes the business.

A stable identifier for this business.

One per line — photos of the business (storefront, interior). Ideally 16:9, 4:3 and 1:1.

Include the country code (E.164), e.g. +44 20 7946 0958.

A short range like $$ or 10–30 USD (under 100 characters).

Address (required)

State, province or county code

Geo coordinates

Use at least 5 decimal places. In Google Maps, right-click the location to copy its coordinates.

Opening hours

Days with identical hours are combined into one OpeningHoursSpecification. Closing times after midnight (e.g. 18:00–02:00) are allowed.

Special or holiday hours

Overrides for specific dates. Closed days are output as opens and closes 00:00.

Profiles & service area

One URL per line: Facebook, Instagram, LinkedIn, Yelp, Wikipedia…

Comma-separated cities, regions or countries — useful for service-area businesses.

Keep the name, address and phone identical to your Google Business Profile and the details visible on your website.
4 suggestions
  • Missing recommended property: url
  • Missing recommended property: telephone
  • Missing recommended property: geo (latitude and longitude)
  • Missing recommended property: openingHoursSpecification

LocalBusiness JSON-LD

Output format
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness"
}
</script>

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

  1. Choose the most specific business type, then enter the name, website, phone number and price range.
  2. 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.
  3. 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.
  4. Add holiday closures or special hours, social profile URLs and, for restaurants, cuisine, menu URL and reservations.
  5. 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:mm format in the business’s local time.
  • A business open 24 hours uses opens: "00:00" and closes: "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/validThrough with opens and closes both set to 00: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.