Free tool · 40+ business types · No signup

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.

Select a result to auto-fill address, phone, website, hours, and coordinates.

Street address
Opening hours
–
Social / directory links

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.

  1. 01

    Pick your business type

    Choose the most specific Schema.org subtype that matches your business — Restaurant, Dentist, LawFirm, AutoRepair, and 40 more.

  2. 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.

  3. 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.

  4. 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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. It sits in a script tag, separate from the visible page.
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.