Local Business Schema Generator
Type in your business name, address, phone and opening hours. The tool writes the code that tells Google those facts directly, and previews the business panel those details feed.
Your details
Opening hours
Google business panel preview
The panel itself is driven by your Business Profile; this markup confirms it
Your business name
Local business
Paste the block anywhere inside <head> or <body>, then confirm it parses with the schema validator.
Short answer
LocalBusiness schema is a block of JSON-LD stating what your business is, where it is, when it is open and how to reach it, in a format search engines read literally instead of inferring from your page copy. It corroborates your Google Business Profile rather than replacing it: the Profile is the primary source for local results, and the markup is how your website agrees with it. The prerequisite is NAP consistency. If your name, address and phone read three different ways across your site, your Profile and the directories listing you, marking that up means stating the inconsistency precisely.
What the markup does, and what it does not replace
Search engines read your website the way a stranger reads a shop window. They can see the words, but they are guessing at what those words mean. Is "Kings Road" an address or the name of a product? Is "9 to 5:30" your opening hours? Usually they guess right. Sometimes they do not, and on a local business that guess decides whether you appear when somebody searches for what you do near where they are standing.
Schema removes the guessing. It states the same facts in a format built for machines, which Google, Bing, Apple Maps and the assistants people now ask for recommendations all read directly.
It corroborates, it does not replace
Your Google Business Profile is the primary source for the map pack and local results. This markup is how your own site confirms the same facts, and reconciling the two is a step in the local SEO audit guide. If you only have time for one, claim and complete the Profile. The schema is what stops your website contradicting it.
NAP consistency is the prerequisite
The most common local SEO problem is not missing schema. It is a business name, address or phone number that reads several different ways across the places that list you. Marking that up makes the inconsistency machine-readable, which is worse than leaving it implicit.
The differences that count are smaller than people expect:
| Field | One version | The other version |
|---|---|---|
| Name | Harbourview Dental | Harbourview Dental Ltd |
| Street | 42 Harbour Road | 42 Harbour Rd |
| Unit | Suite 3 | Ste 3 |
| Phone | +44 117 946 0958 | 0117 946 0958 |
| Postcode | BS1 4RN | BS14RN |
None of these are wrong in isolation. Together they make it fractionally harder for Google to be confident that four listings describe one business. Pick one canonical form of each, use it everywhere, and then generate the markup.
How to add LocalBusiness schema
Six steps, starting with the one that is not about markup at all.
- 01
Settle your NAP before you generate anything
Name, address and phone have to read identically across your site, your Google Business Profile and every directory that lists you. Marking up an inconsistent version means telling Google the wrong thing precisely.
- 02
Pick the most specific business type
Dentist rather than LocalBusiness, Plumber rather than HomeAndConstructionBusiness. The specific types inherit everything from LocalBusiness and add meaning. If nothing fits well, LocalBusiness is a safe fallback; do not pick a type that overstates what you do.
- 03
Give the full postal address with an ISO country code
Street, locality, region, postal code and a two-letter country code. GB rather than UK, US rather than USA. A partial address is much weaker than a complete one, because it leaves Google geocoding from fragments.
- 04
Add geo coordinates when the address is ambiguous
New builds, units inside larger complexes and rural addresses all geocode badly. Coordinates tell Google exactly where you are rather than leaving it to infer. Right-click your location in Google Maps to get them.
- 05
Enter opening hours as one slot per continuous period
A restaurant open 12:00 to 14:30 and again 18:00 to 22:30 needs two Monday entries, not one spanning entry. Each slot becomes its own OpeningHoursSpecification.
- 06
Put the block on the location's own page
One LocalBusiness per location, on that location's page. Multi-location businesses should never pile every branch into one block on the homepage.
Multi-location businesses
A chain of twelve branches is twelve LocalBusiness entities, not one with twelve addresses. Getting this wrong is the most common structural mistake in local markup.
One page per location
Each branch needs its own page with its own address, hours, phone number and LocalBusiness block. A location finder that loads addresses into a single page through JavaScript gives Google nothing to attach to an individual branch.
Make the location pages genuinely different
Twelve pages generated from one template with only the address swapped is thin duplicate content, and thin location pages are a well-known reason local landing pages fail to rank. Parking details, local staff, directions from nearby landmarks and services specific to that branch all give the page a reason to exist.
Connect them to the organisation
The parent brand is an Organization; each branch is a LocalBusiness. Linking them with parentOrganization or branchOf lets Google understand a group of shops rather than twelve unrelated businesses that happen to share a name.
- One LocalBusiness block per location page, never a combined blob
- Each block carries that branch's own NAP and hours
- Each page carries content that is genuinely about that location
- Every branch has its own Google Business Profile, matching its page
Then check what shipped
Confirm the markup parses on the live page with the schema validator, and check the location pages are not accidentally canonicalising to one another with the canonical tag checker, which is a common template bug on generated location pages.
What this tool generates
Twenty business types
Dentist, Restaurant, Attorney, Plumber and more
PostalAddress
Street, locality, region, postcode, ISO country code
GeoCoordinates
Latitude and longitude emitted as numbers, not strings
Opening hours
Multiple slots per day for split trading hours
Contact details
Telephone, email, website URL and photo
Business panel preview
How the details would read in a Google business panel
Get your NAP consistent before you ship this
Frequently asked questions
What does LocalBusiness schema actually do?
It tells search engines what your business is, where it is, when it is open and how to contact it, in a format they can parse without guessing. Google uses it to corroborate knowledge panels and local results, and it feeds the same understanding into AI Overviews and assistants answering 'is this place open now' style questions.
Is schema a substitute for a Google Business Profile?
No, and this is the most important thing to understand about it. The Business Profile is the primary source for local results and the map pack; the schema on your site corroborates it. If you only do one, do the Business Profile. The markup is what makes your website agree with it.
Which business type should I pick?
The most specific one that genuinely fits. A dental practice should use Dentist rather than the generic LocalBusiness, because the specific type inherits everything from LocalBusiness and adds meaning on top. If nothing fits well, LocalBusiness is a safe fallback. Do not pick a type that overstates what you do.
Does the schema need to match my Google Business Profile?
Yes, exactly. Name, address and phone should be character-for-character identical across your schema, your Business Profile, your website footer and any directory listing. Inconsistent NAP data is one of the most common reasons local rankings stall, and it is entirely avoidable.
What counts as a NAP inconsistency?
Smaller differences than people expect. Suite versus Ste, Road versus Rd, a phone number with and without the country code, a business name with and without Ltd. Each of those makes it fractionally harder for Google to be confident two listings describe the same business. Pick one canonical form and use it everywhere.
Are geo coordinates required?
No, they are optional, but they resolve ambiguity. If your street address is hard to geocode, such as a new build, a unit inside a larger complex, or a rural address, coordinates tell Google precisely where you are instead of leaving it to infer. Take them from Google Maps by right-clicking your location.
How do I mark up hours that split across the day?
Add two slots for the same day. A restaurant open 12:00 to 14:30 and again 18:00 to 22:30 on Monday needs two Monday entries, not one spanning entry. This tool lets you add as many slots as you need, and each becomes its own OpeningHoursSpecification.
How do I mark up a business open 24 hours?
Set opens to 00:00 and closes to 23:59 for each day it applies to. Schema.org has no dedicated always-open value that Google reads reliably, so the full-day range is the conventional approach.
What about bank holidays and special hours?
Those are specialOpeningHoursSpecification with validFrom and validThrough dates, which this generator does not emit. In practice most businesses manage holiday hours through their Google Business Profile, which is more visible and easier to update than site markup.
Where does the markup go on a multi-location site?
On each location's own page, marking up only that location. Do not put every branch into one blob on the homepage. If you have a location finder, each individual location page carries its own LocalBusiness block with its own address, hours and phone number.
What is priceRange and does it matter?
A rough cost indicator written as one to four currency symbols, such as $$. Google shows it in some local results and it is one of the few properties that maps directly to something a searcher sees. It is optional and it is cheap to add, so add it.
Will this get me rich results straight away?
Valid markup makes you eligible, it does not guarantee anything. Google decides whether to show enhanced results based on the query, the quality of your listing and its own confidence in the data. Treat schema as removing a blocker rather than as a lever you can pull.
Other schema tools
Product Schema Generator
Give Google your price, stock status, and star rating so they can show under your listing in search. Fill in the product details, copy the code.
Use toolFAQ Schema Generator
Mark up your questions and answers so search engines and AI assistants can lift them as direct answers. Unsupported HTML is stripped for you.
Use toolEvent Schema Generator
Get your event date, venue, and ticket link into Google's event listings and Maps. Handles in-person, online, and hybrid events correctly.
Use toolBreadcrumb Schema Generator
Replace the raw URL under your search result with a readable trail like Home > Guides > Technical SEO. Enter each level, copy the code.
Use toolArticle Schema Generator
Tell Google who wrote your article, when, and for whom. The author link is the part that carries E-E-A-T, and most sites leave it out.
Use toolRead up on structured data
A tool tells you what is wrong. These explain what to do about it.
Google Killed FAQ Rich Results (May 2026): The Hot Take That Replaces Them Is Wrong Too
Read guideEcommerce SEO Checklist 2026 (Free Template, Complete Store Optimization)
Read guideSEO Checklist for Blog Posts 2026 (Free Template, Pre & Post Publish)
Read guideTerms this tool checks
- Schema Markup
Schema markup is a standardized vocabulary (developed by Schema.org and supported by Google, Bing, Yahoo, and Yandex) used to annotate web content with structured data.
- Structured Data
Structured data is code (typically JSON-LD format) added to web pages that helps search engines understand the content in a machine-readable way.
- Rich Results
Rich results (formerly called rich snippets) are enhanced search result formats that display additional visual information beyond the standard title, URL, and description.
Schema is one check out of two hundred
CrawlRaven crawls every page on your site, validates the structured data it finds, and ranks what to fix by the clicks and impressions each page already earns in Search Console.