Free LocalBusiness schema generator.
Use this planning tool to create a LocalBusiness schema outline and connect implementation with local SEO software workflows.
Best next step
Pick the page that matches your workflow, not the tool with the longest feature list.
Build the markup
Fill in what you have. Everything runs in your browser — nothing is sent anywhere, and nothing is stored.
Paste the result into the <head> of your homepage or your location page — not both with the same address.
Which type should you actually use
LocalBusiness is the safe generic. Schema.org defines dozens of more specific subtypes, and Google prefers the most specific one that genuinely fits. Change the @type value in the generated code if one of these is you:
| Business | Use @type |
|---|---|
| Dentist, doctor, physio, clinic | Dentist, Physician, MedicalClinic |
| Restaurant, cafe, bar | Restaurant, CafeOrCoffeeShop, BarOrPub |
| Plumber, electrician, roofer, builder | Plumber, Electrician, RoofingContractor, GeneralContractor |
| Solicitor, attorney, law firm | Attorney or LegalService |
| Salon, spa, barber | BeautySalon, HealthAndBeautyBusiness, HairSalon |
| Shop or showroom | Store, or a subtype like FurnitureStore |
| Gym, studio, club | SportsActivityLocation, ExerciseGym |
| Anything else | Leave it as LocalBusiness |
The four mistakes that make this markup useless
- The NAP does not match Google Business Profile. This is the whole point of the markup. If the schema says "Suite 4, 14 Bridge Street" and your profile says "14 Bridge St #4", you have added a contradiction, not a confirmation. Copy the values from your profile, character for character.
- The same address on every page. One business, one markup block, on the page that represents that location. Repeating it site-wide does nothing and makes multi-location sites ambiguous.
- Inventing aggregateRating. Star ratings you made up are a manual-action risk, and Google ignores self-serving review markup for your own business anyway. Leave ratings out entirely.
- Adding it and never touching it again. Phone numbers and opening hours change. Stale structured data is worse than none, because it disagrees with the source Google trusts more.
What to add after the basics
The generator covers the fields that matter most. Once those are live and correct, these are worth adding by hand:
openingHoursSpecification— structured hours, including seasonal exceptions.geowithlatitudeandlongitude— useful for service-area businesses with no public address.areaServed— the towns you actually cover, if you travel to customers.sameAs— your Facebook, LinkedIn and main directory profiles, which ties the entity together.priceRange— a rough band such as££, not a number.
Validate the finished block in Google's Rich Results Test and the Schema.org validator before deploying. A single trailing comma silently disables the whole thing.
FAQ
Does LocalBusiness schema improve rankings?
Not directly. It helps Google associate your site with the right business entity, which supports the knowledge panel and reduces ambiguity in local results. Treat it as removing a doubt, not adding a boost.
Do I need it if I already have a Google Business Profile?
The profile is the stronger signal. The markup is how your website agrees with it. Agreement is the value; contradiction is the risk.
JSON-LD or microdata?
JSON-LD, which is what this generates. Google recommends it, and it lives in one block instead of being tangled through your HTML.
Where do multi-location businesses put it?
One block per location page, each with that location's own address. Never a list of every branch on the homepage.