Skip to content
Convert Filez
Web And SEORuns in your browser5 min readUpdated July 29, 2026

Local Business Schema Generator

This local business schema generator turns your name, address, phone number and opening hours into a LocalBusiness block in JSON-LD, the structured data vocabulary that tells a search engine you are a physical or service area business rather than a purely online brand. Fill in the form and copy out a script tag ready to paste into your homepage or contact page.

Loading the tool interface
Files never leave your deviceNo upload wait and no queueNo signup, watermark or file limit

Local seo structured data exists to remove ambiguity. A search engine can often guess a business's name from a page title, but it cannot reliably guess whether a phone number on the page belongs to the business or to a quoted review, or whether an address in the footer is the business's own location or a shipping partner's. LocalBusiness markup states each fact explicitly, in a format built for machines rather than inferred from prose.

Everything is assembled locally in your browser. Your address and phone number are not sent anywhere before you choose to copy or download the result, which matters for a business that has not yet made its new location public.

Why a local business schema generator asks for exact NAP data

NAP stands for name, address and phone number, and consistency across every place it appears online, your site, your map listing, your directory profiles, is one of the oldest and best supported local ranking signals there is. A LocalBusiness block that disagrees with your map listing, even by an abbreviation like 'St' against 'Street', gives a search engine two conflicting sources for the same fact and weakens the confidence it places in either one.

This tool does not invent formatting rules of its own. It emits exactly what you type, structured correctly, so the accuracy of the underlying NAP data is still your responsibility. Copy it from the same source you use for your map listing rather than retyping it by hand.

Choosing a business type more specific than LocalBusiness

LocalBusiness is a generic type, and schema.org defines dozens of more specific subtypes such as Restaurant, Dentist, ClothingStore and PlumbingService. A search engine that can identify the more specific type has an easier time deciding which rich result treatment, if any, applies, and some subtypes unlock properties LocalBusiness itself does not carry, such as a menu URL on Restaurant.

This generator defaults to LocalBusiness because it is always valid, but the type field accepts any schema.org business subtype. If a closer match to what the business actually is exists, use it instead of the generic fallback.

Opening hours, the property most local business schema gets wrong

Opening hours are expressed as one or more openingHoursSpecification entries, each naming the days of the week it applies to and the opening and closing time in 24 hour format. A business open the same hours Monday to Friday and different hours on Saturday needs two entries, not one entry with every day squeezed into it and a single time range that is wrong for half the week.

A business that is closed on a particular day should simply omit that day from every entry rather than adding a zero length range, since an opens and closes time that are identical is a common source of validator confusion about whether the business is open for zero minutes or not represented at all.

  • Group consecutive days that share the same hours into one entry.
  • Add a separate entry for any day with different hours, including a shorter Saturday.
  • Leave a closed day out of every entry rather than adding a zero length range.
  • Use 24 hour time such as 09:00 and 17:00, not 9am and 5pm.

How this local business schema generator structures the address

Address fields are nested under a PostalAddress object rather than flattened into the LocalBusiness entry itself, because that is the shape schema.org and Google both expect. Street address, city, region, postal code and country each have their own property, which is what lets a search engine parse a Canadian or German address correctly instead of guessing where the city name ends and the region begins inside one long string.

The generator builds that nested object for you from five separate fields, so the resulting LocalBusiness JSON-LD structure is correct even if you have never seen a PostalAddress block before.

Google business schema markup and Business Profile are not the same thing

Adding LocalBusiness JSON-LD to your website does not create, sync with or update your Google Business Profile listing. The two systems are entirely separate. Google business schema markup on your site is a signal a search engine can use to corroborate your listing, not a replacement for maintaining the listing itself through Google's own dashboard.

Keep both current and keep them in agreement. A mismatch between what your website claims and what your Business Profile says is exactly the kind of conflicting signal that erodes trust in both.

How to generate local business schema

  1. 1

    Enter your business details

    Add the legal or trading name, phone number and website URL exactly as they appear on your map listing.

  2. 2

    Add the address

    Fill in street address, city, region, postal code and country. These become a nested PostalAddress object.

  3. 3

    Add opening hours

    Add one row per group of days that share the same hours. Leave closed days out entirely.

  4. 4

    Generate and paste

    Press generate, review the output, then copy the script tag into your homepage or contact page.

Related tools worth bookmarking

Sources and further reading

Frequently asked questions

Common questions about the local business schema generator.

Pick the closest matching subtype schema.org defines, such as Restaurant, Dentist or ClothingStore, whenever one exists. A more specific type gives a search engine a clearer signal about what the business does and, for some subtypes, unlocks additional properties the generic LocalBusiness type does not carry.

No. This tool only produces JSON-LD for your own website. Your Google Business Profile listing is a separate system maintained through Google's own dashboard, and adding markup here has no effect on it. Keep both current and in agreement with each other.

Leave that day out of every openingHoursSpecification entry rather than adding a range with matching opening and closing times. An entry that is present but has a zero length window is a common source of confusion for validators and is not the same as simply not listing the day.

This generator produces one LocalBusiness entry per use, which suits a single location or a site dedicated to one branch. A business with several locations typically needs a separate page per branch, each carrying its own LocalBusiness block with that branch's own address and hours.

No. The entire form is processed in your browser and the JSON-LD is built locally. Nothing is transmitted until you choose to copy or download the result, which is useful for a location that has not been announced publicly yet.

Keep going

More web and seo

View the full category