Skip to content
Leadee
Free tool

Local business schema generator

Pick your business type, enter the street address, opening hours and phone, and Leadee writes LocalBusiness JSON-LD for that location's page. Google lists name and address as required; the rest helps maps and AI assistants answer "near me" questions correctly. Checked live against schema.org. Free, no sign-up.

Updated

  • No email needed
  • Free, no sign-up

HVACBusiness

  • name and address filled in
  • Opening hours: Monday to Friday
  • Local business feature: eligible

Example result

Run it now

Start from an example (made-up data, replace with your own)

Local business

Required

Address

Recommended

Opening hours

Optional

Coordinates
local_businessNot eligible yet

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "@id": "https://example.com/#localbusiness"
}

At a glance

3 items
What it checks
6
Questions answered
No email needed
To get a result
Can AI read my site?
Answers

What does it check?

  • Name and street address present

    Name and street address present: Google requires both

  • Opening hours written as HH:MM per day

    Opening hours written as HH:MM per day

  • Country as a two-letter code and map pin

    Country as a two-letter code and map pin as numbers

What does a result look like?

HVACBusiness

  • name and address filled in
  • Opening hours: Monday to Friday
  • Local business feature: eligible

Sample from a real run, 14 Nov 2026.

When should I use LocalBusiness markup?

  • A place customers visit

    A clinic, office, shop or trade counter with a street address and opening hours.

  • One page per branch

    Each location page gets its own block with its own phone and hours.

  • "Near me" questions

    Hours, phone and map pin are the details people ask an assistant before they call.

Which fields does LocalBusiness need?

Google requires two properties for LocalBusiness: name and address. Its guide recommends the rest below.

  • Required

    name

    The branch name as shown on the sign and in your Business Profile.

  • Required

    address

    Street and city at least. Add postal code and a two-letter country code.

  • Recommended

    telephone

    The number that rings at this location.

  • Recommended

    openingHoursSpecification

    One row per day with opens and closes in 24-hour HH:MM.

  • Recommended

    geo

    Latitude and longitude of the door, as plain numbers.

  • Recommended

    url, priceRange

    The location page itself, and a rough price band such as $$.

Does Google show LocalBusiness as a rich result?

  • Google status

    Active Google feature

    Google's local business guide is current, with no deprecation notice. It requires name and address. It recommends telephone, opening hours, geo, url and priceRange, and allows ratings only on sites that review other businesses.

  • Source

    Google Search Central

    Read on 14 Nov 2026. Google can change this; check the source before you rely on it.

    Open Google's page
  • schema.org

    LocalBusiness is a current type

    Checked against schema.org release 30.1. Valid markup still helps engines read the page, rich result or not.

What does LocalBusiness markup look like for my industry?

Made-up businesses on example.com addresses. Load any of them into the generator above, then replace every value with your own.

  • Manufacturing

    A factory trade counter

    Installers collect spare parts at a counter by the loading bay. Only that counter page gets LocalBusiness, using the Store subtype.

    {
      "@context": "https://schema.org",
      "@type": "Store",
      "name": "Example Precision Parts — Trade Counter",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "100 Example Industrial Way",
        "addressLocality": "Columbus",
        "addressRegion": "OH",
        "postalCode": "43004",
        "addressCountry": "US"
      },
      "telephone": "+1 555 010 2031",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Monday",
          "opens": "07:00",
          "closes": "15:30"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Friday",
          "opens": "07:00",
          "closes": "12:00"
        }
      ],
      "url": "https://parts.example.com/trade-counter",
      "@id": "https://parts.example.com/#localbusiness"
    }
  • B2B services

    One office of an accounting firm

    Clients book meetings at the downtown office. Its page uses AccountingService with its own hours and phone.

    {
      "@context": "https://schema.org",
      "@type": "AccountingService",
      "name": "Example Ledger Partners — Downtown Office",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "20 Example Plaza, Suite 400",
        "addressLocality": "Denver",
        "addressRegion": "CO",
        "addressCountry": "US"
      },
      "telephone": "+1 555 010 7788",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Tuesday",
          "opens": "09:00",
          "closes": "17:00"
        }
      ],
      "priceRange": "$$",
      "url": "https://accounts.example.com/offices/downtown",
      "@id": "https://accounts.example.com/#localbusiness"
    }
  • Local services

    An HVAC company's north branch

    Homeowners ask an assistant who can fix a boiler nearby. The branch page states hours, phone and the map pin.

    {
      "@context": "https://schema.org",
      "@type": "HVACBusiness",
      "name": "Example Comfort Heating & Cooling — North",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "55 Example Road",
        "addressLocality": "Dayton",
        "addressRegion": "OH",
        "addressCountry": "US"
      },
      "telephone": "+1 555 010 4456",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Saturday",
          "opens": "08:00",
          "closes": "13:00"
        }
      ],
      "sameAs": [
        "https://www.facebook.com/examplecomfort"
      ],
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 39.7589,
        "longitude": -84.1916
      },
      "@id": "https://comfort.example.com/#localbusiness"
    }
  • Print

    A print shop with a walk-in counter

    Customers drop off files and collect orders. schema.org has no print-shop subtype, so plain LocalBusiness is the honest choice.

    {
      "@context": "https://schema.org",
      "@type": "LocalBusiness",
      "name": "Example Print Works — City Counter",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "8 Example Mill Lane",
        "addressLocality": "Leeds",
        "postalCode": "LS1 1AA",
        "addressCountry": "GB"
      },
      "telephone": "+44 113 496 0000",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Wednesday",
          "opens": "08:30",
          "closes": "17:30"
        }
      ],
      "url": "https://print.example.com/visit-us",
      "@id": "https://print.example.com/#localbusiness"
    }

Need several types on one page? The full schema markup generator links them with @id.

How do I read and fix the result?

Name and address come first; without them Google will not use the block. Then add hours and phone, since those are what people ask an assistant before they call or visit.

  1. Choose the closest subtype: Dentist, LegalService, HVACBusiness, AutoRepair, Store or plain LocalBusiness.

  2. Enter the address exactly as it reads on the location page and on your Google Business Profile.

  3. Add one opening-hours row per day the doors are open.

  4. Add the local phone number and the page URL for this location.

  5. Paste the block on that location's page. Repeat for each branch with its own address.

Who is it for?

An engineer in a hard hat and safety vest reading a tablet on the shop floor

Manufacturers

Product and spec pages AI engines need to parse correctly.

Three consultants reviewing a document on a tablet

Professional services firms

Service pages that need clear Organization and entity markup.

A businessman in a suit shaking hands with a supplier in an office

B2B suppliers

Catalogue and partner pages AI crawlers must be able to read.

What are the limits?

Good to know

What are the limits?

One block per location. The generator does not read or update your Google Business Profile, and it cannot add reviews of your own business: Google ignores self-written ratings on LocalBusiness.

Questions

Which LocalBusiness subtype should I pick?

The most specific one schema.org offers for what customers come in for: Dentist, MedicalClinic, LegalService, AccountingService, HVACBusiness, AutoRepair or Store. If none fits, plain LocalBusiness is fine. A wrong subtype is worse than a general one.

Do I need one block per branch?

Yes. Each branch has its own address, phone and hours, so each branch page gets its own LocalBusiness block. Link them to one Organization with parentOrganization if you also run the Organization generator.

Is this the same as my Google Business Profile?

No. Your Business Profile lives in Google's own systems. LocalBusiness markup sits on your website. Keep the name, address and phone identical in both so search engines and AI assistants see one consistent business.

Can I add star ratings to my LocalBusiness markup?

Not ratings of yourself. Google's review snippet rules exclude a business reviewing itself, so the generator warns you if you try. Ratings only count when your site collects reviews of other businesses.

What if we serve customers at their address and have no shop?

You can still use LocalBusiness with the address you trade from. Mention the towns you cover in the visible page text. If you do not want a street address public, an Organization block may suit you better.

Should a factory use LocalBusiness?

Only for a part of the site customers can visit, such as a trade counter or showroom with set hours. The factory as a company is better described with Organization.

Can GEO guarantee results?

No. AI answer engines change their output frequently, and no vendor — including Leadee — can guarantee a ranking or a mention. Leadee publishes confidence intervals on every metric so you can see how much a result can vary run to run.

How does Leadee measure AI visibility?

Leadee runs your prompt set against each AI engine on a weekly to daily schedule, depending on plan, through official vendor APIs (OpenAI, Gemini, Perplexity, Anthropic, DataForSEO) — never by scraping consumer chat interfaces — and reports mention rate, citation rate, average position, share of voice and sentiment with a 95% confidence interval.

Who do I talk to?

Email support@leadee.ai or use Talk to an expert at https://leadee.ai/contact-sales — the Netbase JSC team behind Leadee replies by email or WhatsApp — or WhatsApp the CEO directly at https://wa.me/84937869689.

Which tools go with this one?

  • Free tool

    Organization Schema Generator

    Build Organization JSON-LD for your homepage: legal name, logo, official profiles and contact details, checked live against schema.org and Google's logo rules.

    Learn more
  • Free tool

    Breadcrumb Schema Generator

    List the steps of your breadcrumb trail and get BreadcrumbList JSON-LD with positions filled in. Google shows breadcrumbs in desktop results only since 2025.

    Learn more
  • Free tool

    Schema Markup Validator

    Paste a URL or code and check every JSON-LD, microdata and RDFa item against schema.org and Google's rich-result rules, with corrected code to copy.

    Learn more
  • Leadee product

    Fix plans

    Turn Audit, Tracker and Citation Graph findings into fix tickets — schema, FAQs, briefs — then Leadee re-measures to confirm each one worked.

    Learn more

See whether AI assistants recommend you nearby.

Leadee asks AI assistants the "near me" questions your customers ask and shows where your business is missing.