LocalBusiness Schema Generator — Free JSON-LD

Generate valid LocalBusiness structured data for any industry. Pre-filled templates for 7 common business types — restaurant, dentist, lawyer, plumber, contractor, salon, auto repair — plus the generic LocalBusiness for everything else.

🏪Local Business Schema

Fields marked with * are required for valid schema markup.

JSON-LD Output

<span class=400">"text-gray-500">&lt;script type=400">"application/ld+json"&gt;</span>
{
  400">"@context": 400">"https://schema.org",
  400">"@type": 400">"LocalBusiness"
}
<span class=400">"text-gray-500">&lt;/script&gt;</span>

Copy this code and paste it into the <head> section of your HTML page.

Industry-Specific Generators

Each industry page pre-fills the correct schema.org subtype and explains industry-specific properties.

What is LocalBusiness Schema?

LocalBusiness is the Schema.org type for any business with a physical premises customers visit — a storefront, office, restaurant, clinic. It is a subtype of Organization with additional required properties for the physical location: postal address, geo coordinates, and opening hours.

It's the foundation for Google Maps integration, the local-pack 3-result tile in branded search, and the Knowledge Panel for verified businesses. Without LocalBusiness schema, search engines must guess your location and hours from page content — far less reliable than structured data.

Why LocalBusiness Schema Matters

  • Local pack visibility: The 3-result map pack at the top of local search queries pulls from a combination of Google Business Profile and on-site schema. Schema reinforces the GBP data and helps Google verify your business identity.
  • Maps Knowledge Panel: When users search for your business name, the right-rail Knowledge Panel shows hours, photos, reviews, and direct call/directions buttons. LocalBusiness schema with completeness wins this slot.
  • Voice search: "Find a plumber near me" / "What time does X close" rely on accurate schema. Without it, voice assistants skip your business.
  • Industry-specific rich results: Restaurants get menus and reservation buttons; dentists get insurance and specialty badges; auto shops get service category filters. Specific subtypes unlock specific result features.
  • Mobile experience: Mobile search aggressively shows location, hours, phone, and directions buttons for local businesses. Schema is the primary signal for these features.

LocalBusiness Schema Properties Explained

Required Properties

  • @type: Use the most specific subtype (Restaurant, Dentist, Plumber, etc) rather than generic LocalBusiness when possible.
  • name: Your business name as customers know it.
  • address: Nested PostalAddress with streetAddress, addressLocality, addressRegion, postalCode, addressCountry.
  • telephone: Primary contact phone with country code.

Strongly Recommended Properties

  • image: Hero photo of your business (storefront or interior).
  • url: Your business website URL.
  • priceRange: Dollar signs: $, $$, $$$, $$$$.
  • geo: Nested GeoCoordinates with latitude and longitude.
  • openingHoursSpecification: Array of OpeningHoursSpecification objects.
  • servesCuisine (Restaurant): cuisine type.
  • medicalSpecialty (Dentist, Physician): specialty type.
  • areaServed: For service-area businesses (plumbers, contractors).
  • aggregateRating: Only with genuine first-party reviews.

100+ LocalBusiness Subtypes Supported by Schema.org

Schema.org defines over 100 LocalBusiness subtypes. Pick the most specific one that matches your business — Google rewards specificity. Common subtypes by category:

RestaurantFastFoodRestaurantBarOrPubBakeryBedAndBreakfastHotelMotelHostelResortDentistPhysicianMedicalClinicPharmacyHospitalOpticianAnimalShelterVeterinaryCareLegalServiceNotaryAccountingServicePlumberElectricianHVACBusinessRoofingContractorGeneralContractorMovingCompanyHousePainterLandscapeServiceHairSalonBeautySalonDaySpaTattooParlorNailSalonAutoRepairAutoDealerAutoRentalGasStationCarWashBankFinancialServiceInsuranceAgencyRealEstateAgentClothingStoreFloristFurnitureStoreGardenStoreJewelryStorePetStoreShoeStoreSportingGoodsStoreToyStoreGroceryStoreConvenienceStoreLiquorStoreDryCleaningOrLaundryEmploymentAgencyEventPlannerTravelAgencyChildCareDanceSchoolDrivingSchoolLanguageSchoolMiddleSchoolLibraryMuseumParkPlaceOfWorshipSportsClubMovieTheaterNightClubCasinoAmusementPark

If your business doesn't match any specific subtype, use generic LocalBusiness. The tool above lets you set any @type value, including subtypes not listed here.

Step-by-Step Implementation

Step 1: Pick the Most Specific Subtype

A hair salon should use HairSalon, not generic LocalBusiness. A coffee shop is CafeOrCoffeeShop. A dental practice is Dentist. Specificity tells Google more about your business and enables industry-specific rich results.

Step 2: Verify Address Accuracy

Your schema address must match exactly: Google Business Profile, business license, mailing address used in other directories. Mismatches trigger "data inconsistency" signals that hurt local rankings.

Step 3: Add Geo Coordinates

Find your business's exact latitude/longitude by right-clicking on Google Maps. Geo coordinates make your location pin pixel-accurate and enable "near me" matching.

Step 4: Document Opening Hours Precisely

Use 24-hour time in opens/closes. Closed days don't need an entry. Holiday-specific hours can be added via specialOpeningHoursSpecification. Update immediately when hours change.

Step 5: Place on Homepage and Contact Page

LocalBusiness schema belongs on your homepage (canonical entity definition) and your contact / location page. Single-location businesses use one entity definition. Multi-location use a separate entity definition on each location page.

LocalBusiness Schema Best Practices

  • Use the most specific subtype available in schema.org's LocalBusiness tree.
  • Keep schema address identical across Google Business Profile, Yelp, Bing Places, and your schema.
  • Update opening hours immediately when they change — stale schema reduces trust.
  • Include geo coordinates with at least 4 decimal places of precision.
  • List your highest-volume telephone first; secondary phones via additional ContactPoint objects.
  • Use accurate priceRange ($-$$$$) — over-claiming hurts conversion; under-claiming hurts revenue.
  • For service-area businesses (plumbers, contractors), use areaServed instead of jobLocation to express the geographic radius you serve.
  • Add industry-specific properties when available (servesCuisine for restaurants, medicalSpecialty for dentists).

Common Mistakes to Avoid

  • Using generic LocalBusiness when a specific subtype exists (always prefer Restaurant over LocalBusiness for restaurants).
  • Address mismatch between schema and Google Business Profile.
  • Outdated opening hours (especially after pandemic-era changes).
  • Using a fake or shared geo coordinate (e.g., city center) instead of your actual location.
  • Adding LocalBusiness schema to pages that aren't actually about a physical location (FAQ pages, blog posts).
  • Mixing multiple business entities in one schema (one location = one schema).
  • Phone number without country code (works locally, fails for international searches).

Frequently Asked Questions

What's the difference between LocalBusiness and Organization schema?

LocalBusiness is a subtype of Organization with additional required properties for physical location: address, geo coordinates, opening hours. Use LocalBusiness if customers visit a physical premises; Organization for fully online or service businesses with no walk-in location.

Should I use LocalBusiness or a specific subtype like Restaurant?

Always use the most specific subtype available. Restaurant, Dentist, Plumber, HairSalon are subtypes of LocalBusiness that inherit all its properties plus add industry-specific ones (servesCuisine for Restaurant, medicalSpecialty for Dentist). More specific schema = better Google understanding.

How does LocalBusiness schema affect Google Maps?

Google Maps pulls business information from a combination of Google Business Profile (primary) and on-site schema (secondary). Your LocalBusiness schema validates and reinforces what's in GBP. Mismatches between your schema and GBP can confuse Google — keep them consistent.

What's the format for openingHoursSpecification?

Array of OpeningHoursSpecification objects, each with dayOfWeek (Monday-Sunday), opens (24-hour time), and closes. Closed days don't need an entry. For 24/7 businesses, use opens: '00:00' and closes: '23:59' for all 7 days.

Do I need separate schema for each location?

Yes — each physical location gets its own dedicated location page with its own LocalBusiness schema. For multi-location businesses, create /locations/[city-slug]/ pages with location-specific schemas, then link to them all from a /locations/ index page.

Will LocalBusiness schema get me a Knowledge Panel?

It's necessary but not sufficient. Knowledge Panel for local businesses requires LocalBusiness schema + verified Google Business Profile + sufficient search interest. Without schema, you cannot earn a panel; with it you become eligible.

Related Schema Generators

Try our AI tools