TooTechWeb Design & Local SEOFree Audit
Free tool

Free Local Business Schema Generator (JSON-LD)

Create valid LocalBusiness structured data in seconds: business type, address, hours, geo, service areas and profiles, with built-in checks against Google’s guidelines. Free, no sign-up, runs in your browser.

Load an example:

Rich Results Test ↗

Runs entirely in your browser; nothing is sent to us. Also validate at validator.schema.org. Need it implemented for you? See technical SEO.

Guide

How to Use the Local Business Schema Generator

  1. Choose the most specific business type that matches your Google Business Profile primary category (for example Restaurant, Plumber or RoofingContractor). Use LocalBusiness only if nothing more specific fits.
  2. Enter your name, address and phone exactly as they appear on your Google Business Profile and website. Consistency matters more than formatting.
  3. Add opening hours in the format Mo-Fr 09:00-17:00, Sa 10:00-14:00. Leave it empty if you are open by appointment only.
  4. Add latitude and longitude if you have a physical location customers visit. You can copy them from Google Maps by right-clicking your location.
  5. List your profiles, one per line: your Google Maps link, Facebook, Instagram, Yelp or industry directories. These become sameAs links.
  6. Copy the JSON-LD and paste it into your homepage or main location page, then test it with the Schema Markup Validator or Google’s Rich Results Test.

Common Schema Mistakes

  • Using a different business name or phone number than your Business Profile
  • Adding review or rating markup for reviews about your own business (not eligible for star snippets)
  • Marking up a virtual office or an address customers cannot visit
  • Adding the same LocalBusiness markup to every page with different details

Need it added, validated and connected to the rest of your site? That is part of our technical SEO and Local SEO services.

Reference

LocalBusiness Schema Property Glossary

Google requires only name and address; the rest are recommended or extra properties that help search engines and AI tools understand your business (Google documentation).

PropertyGoogle statusFormat / tip
nameRequiredYour real business name, matching your Google Business Profile
addressRequiredPostalAddress: streetAddress, addressLocality, addressRegion, postalCode, addressCountry
telephoneRecommendedInclude country and area code, e.g. +1 512 555 0142
urlRecommendedThe page for this specific location
geoRecommendedLatitude and longitude with at least 5 decimal places
openingHoursSpecificationRecommendedDays, opens, closes; use 00:00–23:59 for 24 hours
priceRangeRecommendedUnder 100 characters, e.g. $$ or £10–25
imageRecommendedHigh-resolution photos or logo, at least 50K pixels
servesCuisine, menuRecommended (food)Cuisine names and a link to your HTML menu
@id, sameAs, areaServed, hasMapschema.org (not a rich-result field)Helpful for entity clarity: unique ID, profile links, service areas, Maps link
aggregateRating, reviewNot for your own businessPages about your own business are not eligible for review stars
Examples

Local Business Schema Examples by Industry

Use the buttons at the top of the generator to load any of these examples, then replace the details with your own.

Restaurant schema example
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Example Sushi House",
  "servesCuisine": ["Japanese", "Sushi"],
  "hasMenu": "https://example.com/menu",
  "acceptsReservations": true,
  "priceRange": "$$",
  "telephone": "+1 512 555 0142",
  "address": {"@type": "PostalAddress", "streetAddress": "210 Congress Ave", "addressLocality": "Austin", "addressRegion": "TX", "postalCode": "78701", "addressCountry": "US"}
}
Plumber (service-area business) schema example
{
  "@context": "https://schema.org",
  "@type": "Plumber",
  "name": "Example Plumbing Co",
  "telephone": "+1 214 555 0199",
  "areaServed": [{"@type": "City", "name": "Dallas"}, {"@type": "City", "name": "Plano"}],
  "openingHoursSpecification": [{"@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"], "opens": "00:00", "closes": "23:59"}],
  "address": {"@type": "PostalAddress", "streetAddress": "55 Elm St", "addressLocality": "Dallas", "addressRegion": "TX", "addressCountry": "US"}
}
RoofingContractor schema example
{
  "@context": "https://schema.org",
  "@type": "RoofingContractor",
  "name": "Example Roofing",
  "telephone": "+1 404 555 0110",
  "areaServed": [{"@type": "City", "name": "Atlanta"}, {"@type": "City", "name": "Marietta"}],
  "address": {"@type": "PostalAddress", "streetAddress": "900 Peachtree St", "addressLocality": "Atlanta", "addressRegion": "GA", "addressCountry": "US"}
}
Dentist (UK) schema example
{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "name": "Example Family Dental",
  "telephone": "+44 20 7946 0958",
  "geo": {"@type": "GeoCoordinates", "latitude": 51.50135, "longitude": -0.14189},
  "address": {"@type": "PostalAddress", "streetAddress": "12 High Street", "addressLocality": "London", "postalCode": "SW1A 1AA", "addressCountry": "GB"}
}
HVACBusiness (Canada) schema example
{
  "@context": "https://schema.org",
  "@type": "HVACBusiness",
  "name": "Example Heating & Air",
  "telephone": "+1 416 555 0175",
  "areaServed": [{"@type": "City", "name": "Toronto"}, {"@type": "City", "name": "Mississauga"}],
  "address": {"@type": "PostalAddress", "streetAddress": "100 King St W", "addressLocality": "Toronto", "addressRegion": "ON", "addressCountry": "CA"}
}
LegalService (Australia) schema example
{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "name": "Example Law Firm",
  "telephone": "+61 2 9374 4000",
  "address": {"@type": "PostalAddress", "streetAddress": "1 Martin Place", "addressLocality": "Sydney", "addressRegion": "NSW", "postalCode": "2000", "addressCountry": "AU"}
}

For law firms, use LegalService: schema.org marks the older Attorney type as deprecated.

Implementation

How to Add Local Business Schema to Your Website

WordPress

Paste the code into your SEO plugin’s custom schema field (Rank Math or Yoast), a header-scripts plugin, or your theme’s wp_head. Check that your SEO plugin is not already outputting a conflicting LocalBusiness or Organization block.

Google Tag Manager

Create a Custom HTML tag with the generated script and fire it on your homepage or location page. Server-side placement in the page HTML is more reliable, so prefer it when you can.

Wix, Squarespace and Shopify

Use the platform’s custom code or structured data settings to add the script to the page head of your homepage or location page.

Multiple Locations and Service-Area Businesses

Give each location its own page with its own LocalBusiness block, name, address, phone and hours. Service-area businesses can list the cities they serve in areaServed, matching the service areas in their Google Business Profile. Learn more about Google Business Profile optimization.

FAQ

Frequently Asked Questions

What is local business schema?

LocalBusiness schema is structured data (usually JSON-LD) that describes your business type, name, address, phone, hours, location and profiles in a format search engines and AI tools can read reliably.

Where should I put local business schema?

Add it to your homepage or the main page for each location, inside the page head or body. Each location page should describe only that location.

Should local business schema be on every page?

No. Add the full LocalBusiness block to the homepage or location page. Repeating it with different details on many pages can confuse search engines.

Does LocalBusiness schema help with Google Maps rankings?

Not directly. Maps rankings depend on your Google Business Profile, relevance, distance and prominence. Schema helps search engines and AI tools understand and trust your business details.

Which business type should I choose?

Choose the most specific schema.org type that matches your Google Business Profile primary category, such as Restaurant, Plumber or RoofingContractor. Use LocalBusiness only if nothing more specific fits.

How do I find my latitude and longitude?

Right-click your location in Google Maps and click the coordinates to copy them. Google recommends at least five decimal places.

What is priceRange in LocalBusiness schema?

A short indication of how expensive you are, such as $$ or £10–25. Google ignores values of 100 characters or more.

Can I add review stars to my own LocalBusiness schema?

No. Google does not show star ratings for pages where a business marks up reviews about itself, so leave aggregateRating out of your own schema.

Should I use JSON-LD or Microdata?

Google recommends JSON-LD because it is easier to add and maintain without changing your page layout.

How do I test my schema markup?

Paste the code or URL into Google’s Rich Results Test and the Schema Markup Validator at validator.schema.org, then fix any errors before publishing.