Overview
Introduction
LocalBusiness schema tells search engines where a business is physically located and when it's open, the kind of information that shows up directly in local search results and map listings. It's more structurally involved than Organization schema: address is a nested PostalAddress object, and opening hours are a whole array of per-day specifications.
This generator handles both of those nested shapes from plain form fields, including a dynamic add/remove list for opening hours where each entry's day-of-week is automatically expanded to the full schema.org URI format the spec requires.
What Is Local Business Schema Generator?
A form-driven generator for LocalBusiness JSON-LD (or one of four common subtypes: Restaurant, Store, ProfessionalService, MedicalBusiness), covering name, address, contact details, price range, and a list of opening-hours entries.
The address is built as a nested PostalAddress object and opening hours as an array of OpeningHoursSpecification objects, matching the exact nested shape schema.org's spec defines rather than flattened top-level fields.
How Local Business Schema Generator Works
Street address, city, region, postal code, and country are combined into a nested address object (PostalAddress) with the correct property names (streetAddress, addressLocality, addressRegion, postalCode, addressCountry).
Each opening-hours row (a day toggle plus open/close times) becomes one entry in an openingHoursSpecification array, with dayOfWeek expanded from the selected day to its full https://schema.org/Monday-style URI automatically.
When To Use Local Business Schema Generator
Setting up structured data for a business with a physical location customers visit, like a restaurant, retail store, or clinic.
Adding machine-readable opening hours so search engines and map listings can show accurate hours without you maintaining them separately in a business-listing dashboard.
Often used alongside Structured Data Validator, Organization Schema Generator and Review Schema Generator.
Features
Advantages
- Builds the nested PostalAddress and openingHoursSpecification structures automatically, both easy to get wrong writing JSON-LD by hand.
- Expands day-of-week values to the full schema.org URI format automatically, rather than requiring you to remember or type it.
- Supports switching between LocalBusiness and four common, more specific subtypes without re-entering any other field.
Limitations
- Only supports one set of opening hours per business; multi-location businesses need one generated schema per location, run separately.
- Doesn't verify the address is a real, deliverable location - that accuracy is a manual responsibility.
- Covers the five most common business subtypes; schema.org defines dozens more specific ones (like Dentist or AutoRepair) not exposed as toggles here, though you can still describe those with the generic LocalBusiness type.
Examples
Best Practices & Notes
Best Practices
- Keep hours in the schema in sync with any hours shown elsewhere (Google Business Profile, the page's own visible hours), since conflicting hours across sources confuses both search engines and customers.
- Use a real, verifiable street address; a P.O. box or virtual address undermines LocalBusiness eligibility and can conflict with map-listing verification.
- Pick the most specific business type available (Restaurant, Store, and so on) rather than defaulting to generic LocalBusiness, since more specific types can unlock more relevant rich-result features.
- Update the schema whenever hours change seasonally (holiday hours, and so on) rather than leaving stale hours in place.
Developer Notes
openingHoursSpecification entries are only included when both opens and closes are filled in for a row, so an incomplete row being edited doesn't produce a broken specification entry in the meantime; dayOfWeek is always expanded to its full https://schema.org/<Day> URI form per the spec's documented format.
Local Business Schema Generator Use Cases
- Adding structured data to a restaurant, retail store, or clinic's website homepage
- Publishing machine-readable opening hours for a business with hours that differ by day
- Marking up multiple business locations, one generated schema per location
Common Mistakes
- Writing dayOfWeek as a bare string like "Monday" instead of the full https://schema.org/Monday URI the spec requires.
- Letting the schema's opening hours drift out of sync with the business's actual current hours after a seasonal change.
Tips
- If your business has identical hours every day, you'll still need one row per day in this generator, since openingHoursSpecification doesn't support a compact day-range shorthand.
- Run the output through the Structured Data Validator tool afterward to confirm the required name and address fields are both present.