Free tools / localbusiness-schema-generator

Free tool — generator

LocalBusiness Schema Generator

Say where you are, when you’re open and how to reach you — in a form a machine reads. One block of text to paste into your site.

free runs in your browser

Your business

0 fields filled

Example data the grey text in each box below is an example — type your own, and anything left empty is left out of the block

Identity

LocalBusiness is the safe default. Pick a more specific type only if it is literally true — a bookshop is a Store, not a ProfessionalService.

What a customer calls you — the name on your sign, not the one on the lease.

The exact address you serve — the one that does not bounce you somewhere else. A red field means it is not a complete web address.

The number a customer actually reaches. International format, starting with a plus sign.

A rough band a stranger could use to decide whether to come in — not a fixed price. $, $$, $$$, or a range like $10-$30.

One real photo of the place, at a full web address anyone can open. A logo is a different thing — this is a photo of the premises.

Postal address — optional, all parts or none

The two-letter code is safest: GB, US, DE.

Coordinates — optional, both or neither

Only if you know the exact point. One filled in without the other is worse than neither, so this tool asks for both or drops both.

Opening hours — optional, one row per group of days
— or

Real hours only. A row with days but no times, or times but no days, is dropped rather than guessed — this tool will not invent a closing time from a business type.

Profiles that prove you are you — written into the file as “sameAs”
— or

One address per profile, on a site you do not own: your Google Maps listing, Yelp, TripAdvisor, Facebook, Instagram, an industry directory. Not your own pages. Two that are live and correct beat ten that are stale.

Where the rating boxes would be

There are none, on purpose. A star-rating box on a form is an invitation to type a number nobody gave you. A rating in this block asserts, to every machine that reads your page, that real reviews of this place exist.

If you have real reviews, mark them up from the reviews themselves — the text, the reviewer, the date — not from a figure typed into a box here. If you do not have them, the honest block is the one with no rating in it, and that is the only block this tool will write.

localbusiness-schema.json

valid ✓

          

What we checked

    Runs entirely in your browser. Nothing you type leaves this page. (checkable — open your network tab)

    Why this tool exists

    This is what tells an assistant you are open, and where

    is northlight kitchen in bristol open right now

    Northlight Kitchen usually closes around 6pm on weekdays.

    Wrong closing time. The real kitchen serves until 10pm on weekdays — nothing on the page stated its hours in a form a machine could read, so this is a guess dressed as an answer.Example data

    An Organization block says who you are. This one says where you are, when you are open, and how much a visit costs — the facts a general description never carries, and the ones an assistant needs before it can safely answer a question that starts with “near me” or “right now.”

    Most of it your page already states in prose somewhere: hours printed in a footer, a phone number in a banner, a price band implied by the menu. Writing it into one fixed shape does not add a fact you did not have — it puts the facts you do have somewhere a machine can read them without inferring anything from a layout, a font size, or a sentence that assumes a human reader.

    Be exact about what that buys you. None of this makes an assistant recommend you — nothing typed into a form on your own site does. What it fixes is the narrower, more common failure: an assistant that is already trying to answer about your kind of place, and has nothing better to go on than a guess.

    Box by box

    What to fill in, and what is just box-ticking

    These are the boxes on the form. They are not equally worth your time, and one of them is not on the form at all.

    01

    Business type

    LocalBusiness is the honest default. A more specific type — Restaurant, Store, ProfessionalService — is worth choosing only when it is literally, unambiguously true of you.

    02

    Name, website, phone

    The name on your sign, the address you actually serve, and the number that a customer reaches when they call it. Three facts, and all three are cheap to get right.

    03

    Address

    All of it or none of it — a city with no country, or a postcode with no street, is worse than leaving the block out entirely. Fill it in only if someone could actually visit or post to it.

    04

    Opening hours

    Real hours, updated when they change. A holiday closure typed in here in January and never revisited is a wrong answer with a timestamp on it.

    05

    Price range

    A band, not a menu. $$ tells a stranger what to expect before they arrive; it is not a promise about any one item’s price.

    06

    Photo

    One real photo of the place itself, at an address that opens for anyone. Worth more here than a logo, which belongs in the Organization block instead.

    07

    Coordinates

    Both or neither. Exact latitude and longitude are worth adding if you have them; a guessed pair is worse than an empty field.

    08

    Profiles that prove you are you

    Your Google Maps listing, Yelp, TripAdvisor, Facebook — addresses on sites you do not own. Two that are live and correct beat ten that are stale.

    Northlight Kitchen Example data
    • google.com/maps/place/Northlight-Kitchen-example
    • yelp.com/biz/northlight-kitchen-bristol-example
    • facebook.com/northlightkitchen.example
    Three addresses on three platforms the business does not control. Each one can be opened and checked by anybody, which is the only reason a “sameAs” entry is worth anything at all.

    What you get

    One block of text, and where it goes

    This is the shape of the output once every box above is filled in — the same text the copy button puts on your clipboard.

    localbusiness-schema.json 1 opening-hours block Example data
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Restaurant",
      "@id": "https://northlight.example/#business",
      "name": "Northlight Kitchen",
      "url": "https://northlight.example",
      "telephone": "+44 117 496 0100",
      "priceRange": "$$",
      "image": "https://northlight.example/storefront.jpg",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "14 Bridge Street",
        "addressLocality": "Bristol",
        "postalCode": "BS1 4DJ",
        "addressCountry": "GB"
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 51.4545,
        "longitude": -2.5879
      },
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "https://schema.org/Monday",
            "https://schema.org/Tuesday",
            "https://schema.org/Wednesday",
            "https://schema.org/Thursday",
            "https://schema.org/Friday"
          ],
          "opens": "08:00",
          "closes": "22:00"
        }
      ],
      "sameAs": [
        "https://www.google.com/maps/place/Northlight-Kitchen-example",
        "https://www.yelp.com/biz/northlight-kitchen-bristol-example"
      ]
    }
    </script>

    No rating, no review count, no region left half-filled. Empty boxes are left out entirely rather than written in as blanks or defaults.

    1. Paste it into one page — your homepage or your location page, not both. A chain with several branches needs one block per branch, on that branch’s own page.
    2. Point later blocks at it rather than repeating it. This block carries a name others can refer back to.
    3. Come back and generate it again when something changes — new hours, a moved address, a disconnected phone line. Stale hours are a wrong answer with your name on it.

    There is no step where you wait for anything. The text is finished the moment you have typed your details in, and it takes effect as soon as the page carrying it is live.

    What this checks, and what it cannot

    The honest limits of a tool
    that never leaves your tab

    Every rule the validate button runs is listed below. The line that matters is the last one: nothing on this page fetches anything, so it can tell you that a field is written properly and never that it is still true.

    What we checked

    • PASSa name is present, and the website address is a complete web address
    • PASSthe output parses as valid JSON, and every profile address is well formed
    • PASSthe output survives being pasted inside a script block — text you type cannot close it early and spill onto your page
    • WARNa phone number without a country code, or a price range in an unfamiliar shape
    • FAILonly one of latitude or longitude is filled in — both are required, or neither
    • WARNan address is part-filled — a city or country is missing while another part is present
    • WARNan opening-hours row has days but no times, or times but no days — that row is dropped
    • WARNthe profile list is empty, has a duplicate in it, or points back at your own site
    • NOTEno rating or review boxes on this form, so there is nothing of that kind to check — the absence is the point, not an oversight
    • NOTEstructure only — nothing here is fetched, so it cannot confirm an address, a phone line or a set of hours is still correct

    Why there are no rating or review boxes

    A rating in this block asserts, to every machine that reads your page, that real reviews of this place exist. If you have them, mark them up from the reviews themselves — the text, the reviewer, the date. If you do not, the honest block is the one without a rating in it, and that is the only block this tool will write.

    Limitations, stated plainly

    This tool checks that the block is put together correctly, not that it is true. It can see that an address is written properly; it cannot open it, and it cannot confirm your hours are still what you typed six months ago. It only handles the block about your business as a place — questions and answers, organization and product details have their own generators, linked below. And no block of this kind, from any tool, makes an assistant recommend you.

    Sources: schema.org/LocalBusiness and Google’s local business structured data guidelines.

    Fair questions

    Short answers.

    We use our own tool on this page.

    What is this block actually for?

    It tells any machine reading your site that this page belongs to a physical place: its name, address, phone number, hours and a rough price band. Search engines use it for map and knowledge panels; AI assistants use it to answer “near me” and “is it open” questions without guessing from a footer or a sentence written for a human reader.

    Which business type should I pick?

    LocalBusiness if you are not certain. A more specific type — Restaurant, Store, ProfessionalService, MedicalBusiness, HomeAndConstructionBusiness — is worth choosing only when it is literally true of you, because it is what tells a machine which more specific facts to expect.

    Why are there no star-rating or review boxes on this form?

    Because a rating box is an invitation to type a number nobody gave you. A rating in this block asserts that real reviews of this place exist, and that assertion is published on your own site under your own name. If you have real reviews, mark them up from the reviews themselves — the text, the reviewer, the date. If you do not, the honest block is the one without a rating in it.

    Will this get me into AI’s “near me” answers?

    No — and be suspicious of any tool that says it will. It makes the facts about your place readable by machines; it does not decide what an assistant recommends. What it fixes is the case where an assistant is already trying to answer about a place like yours and has nothing but a guess to go on.

    Where does my data go when I use this?

    Nowhere. Everything happens inside your own browser tab — what you type is never sent to a server, and nothing is stored. That is checkable: open your browser’s network panel while you use it.

    Writing it is the easy part

    Keeping it true is where
    this usually goes wrong.

    A LocalBusiness block that says you open at 8am when a holiday sign says 10 is worse than no block at all — it is a specific wrong answer instead of a vague one. The AI Readiness Score checks six things your live page actually does, not what a form once said.

    Read my page back Check it

    free · no card