Free LocalBusiness Schema Generator

Generate LocalBusiness JSON-LD structured data to improve your local search visibility. Help Google display your business hours, address, phone number, and reviews in local search results and Maps.

← Back to JSON-LD Generator

What is LocalBusiness Schema?

LocalBusiness schema is structured data markup designed for businesses that serve customers at a physical location or within a defined service area. It communicates critical business information to search engines, including your address, opening hours, contact details, service areas, accepted payment methods, and customer reviews. This markup directly influences how your business appears in local search results, Google Maps, and the local pack.

Schema.org offers many specialized subtypes of LocalBusiness, including Restaurant, MedicalBusiness, LegalService, FinancialService, Store, and dozens more. Using the most specific subtype for your industry provides additional context and can unlock industry-specific rich result features. For example, a Restaurant subtype allows you to include menu information and cuisine type.

Why Use LocalBusiness Schema? Benefits for SEO and AI Visibility

LocalBusiness schema is one of the most impactful structured data types for businesses with physical locations:

  • Local pack ranking signals: Structured business data reinforces your Google Business Profile and helps you appear in the local 3-pack for relevant queries.
  • Knowledge panel accuracy: Schema markup ensures Google displays correct hours, address, and contact information in your business knowledge panel.
  • Voice search for local queries: AI assistants use LocalBusiness schema to answer queries like "what time does [business] close" or "is [business] open now."
  • AI-powered recommendations: When users ask AI for local business recommendations, structured data helps AI systems understand your services, location, and reputation.
  • Multi-location clarity: For businesses with multiple branches, LocalBusiness schema on each location page prevents confusion between locations.

Required and Recommended Properties

Required Properties

  • @type: "LocalBusiness" or a more specific subtype
  • name: The official business name
  • address: Full postal address as a PostalAddress object
  • telephone: Primary contact phone number

Recommended Properties

  • openingHoursSpecification: Detailed opening hours by day
  • geo: Latitude and longitude coordinates
  • image: Photos of the business or storefront
  • priceRange: General price range (e.g., "$$" or "$10-$50")
  • aggregateRating: Overall customer rating
  • areaServed: Geographic area the business serves
  • paymentAccepted: Accepted payment methods
  • url: The business website URL

JSON-LD Code Example for LocalBusiness Schema

Here is a complete LocalBusiness schema example for a local restaurant:

{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "The Garden Kitchen",
  "image": "https://example.com/images/garden-kitchen-storefront.jpg",
  "url": "https://example.com",
  "telephone": "+1-555-123-4567",
  "priceRange": "$$",
  "servesCuisine": "Mediterranean",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "456 Oak Avenue",
    "addressLocality": "Portland",
    "addressRegion": "OR",
    "postalCode": "97201",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 45.5155,
    "longitude": -122.6789
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "11:00",
      "closes": "22:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Saturday", "Sunday"],
      "opens": "10:00",
      "closes": "23:00"
    }
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "156"
  }
}

Common Mistakes to Avoid

Inconsistent NAP information

Your Name, Address, and Phone number in schema must exactly match your Google Business Profile and other citations. Even minor formatting differences (like "St." vs "Street") can create confusion.

Using the generic LocalBusiness type when a specific subtype exists

If you are a dentist, use Dentist. If you run a gym, use HealthClub. Specific subtypes unlock additional properties and provide clearer signals about your business category.

Missing opening hours

Opening hours are critical for local search. Without them, Google cannot answer "is [business] open now" queries, and AI assistants cannot provide accurate availability information to users.

Omitting geo coordinates

While address alone may work, adding latitude and longitude coordinates removes ambiguity, especially for businesses in areas where street addresses are imprecise or shared between buildings.

Curious how your local business website performs for AI search? Try our free Agent readiness check to evaluate your AI optimization.

Frequently Asked Questions

Should I use LocalBusiness schema if I already have a Google Business Profile?

Absolutely. Your Google Business Profile and website schema work together. The schema on your website reinforces the data in your profile, creating consistency signals that boost local ranking. They serve complementary purposes and should always be used together.

How do I handle multiple business locations?

Create a separate page for each location and add unique LocalBusiness schema to each page with its specific address, phone number, and hours. Do not put multiple location schemas on a single page. Each location deserves its own dedicated page and markup.

What LocalBusiness subtype should I use for my industry?

Check the schema.org LocalBusiness page for the full list of subtypes. Common ones include Restaurant, Dentist, Plumber, AutoRepair, Bakery, BarberShop, BeautySalon, and LegalService. If no specific subtype matches, use the general LocalBusiness type.

Can service-area businesses without a storefront use LocalBusiness schema?

Yes. For service-area businesses (plumbers, electricians, mobile services), use LocalBusiness schema with the areaServed property instead of a physical address. You can define your service area by city, region, or radius from a central point.