LocalBusiness Schema Markup Generator
Generate valid JSON-LD structured data for your local business in seconds. Pick your Schema.org type, fill in your details, and copy clean markup ready for your website.
Fill in your business details and click Generate to create your schema markup.
Key Takeaways
- LocalBusiness schema markup tells search engines exactly what your business is, where it is, and when it's open — removing ambiguity from your local SEO.
- Google uses structured data to populate Knowledge Panels, map results, and rich snippets, giving properly marked-up businesses more prominent visibility.
- JSON-LD is Google's recommended format for structured data because it separates markup from your visible HTML, making it easier to maintain.
- Choosing the most specific Schema.org subtype (e.g. Dentist instead of generic LocalBusiness) strengthens entity signals and can improve category relevance.
- Consistent NAP (Name, Address, Phone) data across your schema, Google Business Profile, and directory listings reinforces trust signals for local ranking.
How it works
Four steps to structured data.
- 01
Pick your business type
Choose the most specific Schema.org subtype that matches your business — Restaurant, Dentist, LawFirm, AutoRepair, and 40 more.
- 02
Fill in your details
Enter your business name, address, phone, website, hours, geo coordinates, and social links. Only name is required — add as much as you have.
- 03
Generate your markup
Click Generate and get clean, validated JSON-LD output instantly. The generator only includes properties you've filled in — no empty fields cluttering your code.
- 04
Paste into your site
Copy the output and add it inside a script tag on your page. Test with Google's Rich Results Test or Schema Markup Validator, then publish.
Structured data basics
What is LocalBusiness schema markup and why does it matter?
LocalBusiness schema markup is a specific vocabulary from Schema.org that you add to your website's code to explicitly describe your business to search engines. Instead of relying on Google's algorithms to infer your business name, address, hours, and category from page content, structured data hands that information over in a machine-readable format that eliminates ambiguity.
When Google's crawler encounters a properly structured JSON-LD block, it can confidently populate your Knowledge Panel, display your hours in search results, and associate your website with your Google Business Profile entity. This entity reconciliation is the foundation of modern local SEO — it connects the dots between your website, your GBP listing, your Apple Maps entry, and every directory citation you've built.
For local businesses competing in the Map Pack, schema markup acts as a trust signal. It doesn't replace backlinks or reviews, but it removes friction from Google's understanding of what you are. A plumber in Denver with clean LocalBusiness markup, consistent NAP data, and a verified GBP listing sends a far stronger entity signal than one who relies on Google to scrape contact info from footer text.
JSON-LD (JavaScript Object Notation for Linked Data) is Google's explicitly recommended format. Unlike Microdata or RDFa, JSON-LD lives in a standalone script tag — completely separate from your visible HTML. That means you can add, update, or remove structured data without touching your templates or risking layout regressions. Most CMS platforms, static-site generators, and frameworks (WordPress, Shopify, Next.js, Squarespace) make it straightforward to inject a JSON-LD block into the page head.
Schema.org types
How do you choose the right Schema.org business subtype?
Schema.org defines a hierarchy of business types. At the top sits 'LocalBusiness' — a generic catch-all. Below it sit dozens of more specific subtypes: Restaurant, Dentist, LawFirm, AutoRepair, HairSalon, RealEstateAgent, and many more. Each subtype inherits all the properties of LocalBusiness (name, address, telephone, openingHours) but may add type-specific fields.
The rule is simple: pick the most specific type that accurately describes your business. A pizza restaurant should use 'Restaurant' (or even 'PizzaPlace' if appropriate), not the generic 'LocalBusiness'. A dental practice should use 'Dentist', not 'MedicalBusiness'. Specificity tells Google's entity model exactly what category you belong to, which strengthens the association between your website and the corresponding Google Business Profile category.
If you operate a business that spans multiple categories — say a day spa that also does hair — pick the primary revenue driver as your @type. You can't stack multiple types in a single JSON-LD block without using an array or multiple blocks. For most small businesses, one well-chosen type is enough.
This generator supports over 40 of the most common local business subtypes. If your exact niche isn't listed, use the closest parent type. 'LocalBusiness' is always valid as a fallback, but you're leaving specificity on the table.
Google's documentation explicitly states that using a more specific type helps the search engine understand and display your business more accurately in search features. Rich results, Knowledge Panels, and Map Pack entries all benefit from precise typing.
Implementation guide
What are the best practices for LocalBusiness JSON-LD?
Getting your schema markup right means following a handful of non-negotiable rules that align with Google's structured data guidelines and the broader entity optimization strategy for local SEO.
Essential rules for local schema markup
- 01Match your NAP exactly. The name, address, and phone in your JSON-LD must be character-for-character identical to what appears on your Google Business Profile and top directory listings. '123 Main St' vs '123 Main Street' counts as a mismatch in entity-resolution systems.
- 02Include geo coordinates. The latitude and longitude fields remove any ambiguity about your physical location, especially in dense urban areas where multiple businesses share a building or street number.
- 03Specify opening hours per day. Use the OpeningHoursSpecification format with explicit day-of-week arrays. Google uses this data to show 'Open now' badges and hours directly in Knowledge Panels.
- 04Use sameAs for entity linking. List your official social profiles, Yelp page, Apple Maps link, and any other authoritative URLs. This helps Google confirm your entity across the web.
- 05Keep it on every relevant page. Most businesses should include LocalBusiness schema on their homepage and every location-specific landing page. Don't limit it to just one page.
- 06Validate before publishing. Run your output through Google's Rich Results Test (search.google.com/test/rich-results) and the Schema Markup Validator (validator.schema.org) to catch errors before they go live.
- 07Update when details change. Moved offices? Changed hours? Updated your phone number? Your JSON-LD must reflect the change immediately — stale structured data is worse than no structured data because it actively sends conflicting signals.
Troubleshooting
What mistakes do businesses make with local schema markup?
Even experienced developers and SEO practitioners make errors with LocalBusiness schema that silently undermine their structured data's effectiveness. Here are the most frequent problems and how to avoid them.
Frequent schema markup errors
Using the generic LocalBusiness type
If your business fits a specific subtype (Restaurant, Dentist, Plumber, etc.), using the generic LocalBusiness type wastes an easy specificity signal. Always pick the most granular type that applies.
NAP inconsistencies between schema and GBP
Your JSON-LD says '123 Main Street, Suite 4A' but your Google Business Profile says '123 Main St #4A'. These tiny differences weaken entity reconciliation. Audit for exact matches.
Missing or incorrect geo coordinates
Copying coordinates from an inaccurate source or omitting them entirely. Use Google Maps to verify your exact lat/lng — especially important in strip malls, office parks, or dense downtown blocks.
Forgetting sameAs links
The sameAs property is your opportunity to connect your entity across the web. Omitting it means Google has to infer those connections from link graphs alone.
Stale opening hours after a schedule change
Businesses update their Google Business Profile hours but forget the JSON-LD on their website. Conflicting hours data confuses both Google and potential customers.
Putting schema only on the homepage
Multi-location businesses need unique LocalBusiness blocks on each location page with that location's specific NAP, hours, and geo. One global block doesn't cut it.
Glossary
Schema markup terms explained.
- JSON-LD
- JavaScript Object Notation for Linked Data. Google's preferred format for structured data — lives in a <script> tag, separate from visible HTML.
- Structured data
- Machine-readable code added to a web page that explicitly describes its content to search engines, enabling rich results and Knowledge Panels.
- LocalBusiness
- A Schema.org type representing a physical business with a fixed location or service area. Parent type for subtypes like Restaurant, Dentist, LawFirm.
- Schema.org
- A collaborative vocabulary (maintained by Google, Microsoft, Yahoo, Yandex) that defines the types and properties search engines understand.
- Rich results
- Enhanced search listings that display extra information (hours, reviews, FAQs) pulled from your structured data. Also called 'rich snippets'.
- Knowledge Panel
- The info box that appears on the right side of Google search results for recognized entities — businesses, people, places. Fed partly by structured data.
- NAP
- Name, Address, Phone — the three core identity fields for local SEO. Must be consistent across your website schema, GBP, and all directory listings.
- sameAs
- A Schema.org property listing URLs that unambiguously identify the same entity (social profiles, directory pages, Wikipedia). Strengthens entity signals.
- OpeningHoursSpecification
- The Schema.org type for defining business hours per day-of-week, including open and close times. Powers 'Open now' badges in search.
- GeoCoordinates
- Latitude and longitude values that pinpoint a business's exact physical location. Critical for disambiguating businesses at the same address.
- BreadcrumbList
- A Schema.org type for site navigation breadcrumbs. Helps search engines understand your site hierarchy and display breadcrumb trails in results.
- Entity reconciliation
- The process by which Google confirms that your website, GBP listing, Apple Maps entry, and directory citations all refer to the same real-world business.
FAQ
Questions, answered.
Generate your schema in thirty seconds.
No signup, no credit card. Build valid LocalBusiness JSON-LD for your website — tested, validated, ready to paste.
Generate schema markup