Local Business Schema Generator
Fill in your business type, address, map coordinates, opening hours and social profiles to get ready-to-paste LocalBusiness JSON-LD. Days with the same hours are grouped automatically, split shifts, past-midnight and holiday hours are supported, and live checks flag anything Google needs.
Last updated:
How to use the Local Business Schema Generator
- Choose the business type that best matches what you do, such as Dentist instead of the generic LocalBusiness.
- Enter the name, contact details and full address exactly as they appear on your website and Google Business Profile.
- Add map coordinates by pasting the latitude and longitude of your location pin.
- Set your opening hours with the day checkboxes or a preset, add split shifts and any holiday or special hours.
- Add profiles like Facebook, Instagram or Yelp, then copy the JSON-LD and paste it into the HTML of your location page.
- Test the published page with Google's Rich Results Test or the Schema Markup Validator.
What the generated LocalBusiness markup contains
The tool writes one JSON-LD object using the schema.org LocalBusiness vocabulary. Empty fields are left out, so the code only contains what you actually fill in.
| Property | Google status | What to enter |
|---|---|---|
name | Required | The real business name, without keywords or slogans added. |
address (PostalAddress) | Required | Street, city, region, postal code and 2-letter country code. |
geo (GeoCoordinates) | Recommended | Latitude and longitude with at least 5 decimal places (about 1 m precision). |
openingHoursSpecification | Recommended | Days, opening and closing times in 24-hour hh:mm format. |
telephone | Recommended | Main phone with country code, e.g. +1-415-555-0142. |
url, image | Recommended | The location page URL and photos of the business. |
priceRange | Recommended | "$" to "$$$$" or a range like "$10-30", under 100 characters. |
servesCuisine, menu, acceptsReservations | Recommended for restaurants | Shown automatically when you pick a food and drink type. |
sameAs | Optional | Official profiles: Facebook, Instagram, Yelp, LinkedIn, YouTube and so on. |
@id | Optional | Built from your URL plus #localbusiness, a stable identifier other markup can refer to. |
How opening hours are encoded
Each OpeningHoursSpecification holds one time slot and the days it applies to. Days that share exactly the same slot are merged, so a Monday to Friday 9 to 5 schedule becomes a single entry with five days instead of five separate entries. A day with a lunch break produces two slots.
| Situation | How it is written |
|---|---|
| Regular hours | "dayOfWeek": ["Monday", "Tuesday"], "opens": "09:00", "closes": "17:00" |
| Split shift (lunch break) | Two entries for that day, e.g. 11:30 to 14:30 and 17:00 to 22:00 |
| Open past midnight | "opens": "18:00", "closes": "02:00" on the day the shift starts |
| Open 24 hours | "opens": "00:00", "closes": "23:59" |
| Closed on a weekday | Leave the day out |
| Holiday closure | "opens": "00:00", "closes": "00:00", "validFrom": "2026-12-25", "validThrough": "2026-12-25" |
| Seasonal or special hours | Opening and closing times plus a validFrom / validThrough date range |
Tips for local business structured data
- Use the most specific type.
Plumber,DentistorCafeOrCoffeeShopdescribe a business better than the genericLocalBusiness, and every subtype inherits all LocalBusiness properties. - One location per page. For multiple branches, give each branch its own page and its own markup with its own address, phone, coordinates and hours.
- Keep it identical everywhere. The name, address and phone (often called NAP) should match your page text, your Google Business Profile and directory listings.
- Mark up only what visitors can see. Hours, phone and address in the JSON-LD should also appear on the page itself.
- Update holiday hours ahead of time and remove old special-hours entries after the date has passed.
- Validate after publishing with the Rich Results Test or the Schema Markup Validator. Structured data helps search engines understand the page, but it does not guarantee any particular search feature.
Frequently asked questions
What is LocalBusiness schema?
LocalBusiness is a schema.org type for a physical business or branch that customers visit or that serves a local area. Adding it as JSON-LD tells search engines your name, address, phone, coordinates, opening hours and profiles in a machine-readable form, which helps them match your site with your business listing.
Which properties does Google require for local business markup?
Google's local business structured data guidelines require name and address. Recommended properties include telephone, url, geo (latitude and longitude with at least 5 decimal places), openingHoursSpecification, priceRange, image, and for restaurants servesCuisine, menu and acceptsReservations.
How do I mark up hours that go past midnight or 24 hours?
For hours past midnight, use a closing time that is earlier than the opening time in the same entry, for example opens 18:00 and closes 02:00. For a business open 24 hours, use opens 00:00 and closes 23:59. This tool writes both formats for you.
How do I add holiday hours?
Add a special hours entry with the date. The tool creates an OpeningHoursSpecification with validFrom and validThrough set to that date or range. A day marked closed is written as opens 00:00 and closes 00:00, which is how schema.org and Google represent a closed day.
Where do I put the JSON-LD code?
Paste the script tag into the HTML of the page that represents the business, usually the homepage for a single location or each location page for a chain. It can go in the head or the body. Each location should have its own markup with its own address, phone and hours.
Does the schema have to match my Google Business Profile?
It should. Use the same name, address, phone number and hours as on your website and your Google Business Profile. Consistent details across your site and listings make it easier for search engines to trust and connect them. Structured data does not replace or update your Business Profile.
Can I add star ratings to my local business schema?
Google does not show review stars for LocalBusiness or Organization markup when the reviews are about the business itself and collected on its own site (self-serving reviews), so this generator leaves aggregateRating out. Reviews on your Google Business Profile are shown from Google's own data.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.