TapCub is live — analytics, insights and live chat, free on one platform

Schema type · LocalBusiness Local business schema generator

Create markup for a shop, restaurant, clinic or office that customers visit. Type opening hours the way you would write them on a door, such as Mo-Fr 09:00-18:00, and the tool turns them into openingHoursSpecification.

  • Required and recommended checks
  • Rich-result status as of 2026
  • Runs locally
Generator

Generate LocalBusiness JSON-LD

Name and full address are required. Pick the most specific business type; Restaurant adds a cuisine field.

Pick the most specific one.

A photo of the place.

With country and area code.

e.g. $$ or $10–20 (under 100 characters).

e.g. Ramen, Japanese

Two letters.

At least 5 decimals.

At least 5 decimals.

One rule per line: Mo-Fr 09:00-18:00, Sa,Su 10:00-16:00. Closed days: just leave them out.

No errors or warnings. Check the values against the page once more, then test the live URL.
JSON-LD
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Harbor Noodle Bar",
  "image": "https://example.com/images/dining-room.jpg",
  "url": "https://example.com/",
  "telephone": "+1-206-555-0142",
  "priceRange": "$$",
  "servesCuisine": "Ramen, Japanese",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "1201 Alaskan Way",
    "addressLocality": "Seattle",
    "addressRegion": "WA",
    "postalCode": "98101",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 47.60621,
    "longitude": -122.34012
  },
  "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"
    }
  ]
}
</script>

Paste it into the page’s <head> or <body>. The values must match what visitors can see on that page.

Checks

Errors break eligibility; warnings are recommended properties or likely mistakes.

  • OKRestaurant: all required properties are present, so it can qualify for a Google rich result. Google still decides whether to show one.
Runs entirely in your browser. Nothing you type here is uploaded or stored by TapCub.

Version v1.0Updated Update history

Read the result

What the generator gives you

A code block, a list of checks and three links. Each answers a different question.

The JSON-LD block

A <script type="application/ld+json"> tag with one object. It can go anywhere in the HTML; the head is the usual place. If your CMS already outputs schema for the same thing (many SEO plugins do), replace theirs rather than adding a second, conflicting copy.

Errors

A required property is missing or a value has the wrong format: a date like 11/09/2026, a price written as $59, a currency written as usd. Google ignores an item with errors for rich results, though the page itself still ranks normally.

Warnings

Recommended properties you left out, or things that are valid but risky, such as a relative image URL or a time without a time zone. Add a recommended property only when the information really appears on the page.

Eligible is not the same as shown

“All required properties present” means the item can qualify. Google still decides per query whether to show a rich result, and some types (FAQ, HowTo) are no longer shown at all. The tool says so on those types instead of pretending.

The checks follow schema.org and Google Search Central’s structured data pages as of November 2026. Google’s own Rich Results Test is the final word on eligibility; test the live URL after publishing.

How to use it

Four steps from form to rich result

Most of the work is copying facts that are already on the page.

  1. 1

    Choose the type

    Match the main content of the page: a product page gets Product, a blog post Article, the home or about page Organization. One page can carry several types, each in its own block.

  2. 2

    Fill in the visible facts

    Copy names, prices, dates and ratings exactly as visitors see them. Markup that describes content not on the page breaks Google’s guidelines.

  3. 3

    Clear the errors

    Work down the checks list until there are no errors. Warnings are optional but usually worth fixing.

  4. 4

    Publish and test

    Paste the block into the page template, deploy, then run the live URL through the Rich Results Test and watch the Enhancements reports in Search Console.

Rules

LocalBusiness rules

Name and address are required. The rest is recommended and should match your Google Business Profile and the page.

  • Use the most specific type (Restaurant, Dentist…); additionalType is ignored
  • Coordinates need at least 5 decimal places
  • Ratings are only for sites that collect reviews about other businesses
  • One block per location; chains use one page per branch
LocalBusiness properties
PropertyRequiredFormat
nameYesBusiness name as on the sign
addressYesPostalAddress with street, city, postal code, country
geoRecommendedlatitude / longitude, ≥ 5 decimals
openingHoursSpecificationRecommendeddayOfWeek + opens + closes (24-hour)
telephoneRecommendedWith country and area code
priceRangeRecommendedUnder 100 characters, e.g. $$
Worked example

A noodle bar with weekend hours

A restaurant in Seattle open later at weekends.

Opening-hours lines and the markup they become
You typedayOfWeekopens – closes
Mo-Fr 11:00-22:00Monday … Friday11:00 – 22:00
Sa-Su 10:00-23:00Saturday, Sunday10:00 – 23:00
Mo,We 09:00-12:00Monday, Wednesday09:00 – 12:00

Open 24 hours: write 00:00-23:59. Past midnight (18:00-02:00) is one rule, as Google’s documentation shows.

Common mistakes

Why valid-looking markup gets ignored

Most structured data that never produces a rich result fails for one of these reasons.

Marking up what visitors cannot see

Ratings with no reviews on the page, FAQs that only exist in the code, or prices that differ from the page. Google treats this as spam and can apply a manual action.

Local date and price formats

09/11/2026, 1.299,00 € and ¥199 are normal on a page and wrong in JSON-LD. Use ISO dates and plain numbers.

Two plugins, two copies

A theme and an SEO plugin both output Product or Organization with different values. Keep one source of truth.

Chasing retired rich results

FAQ and HowTo markup no longer produce rich results in Google. Adding them to every page is wasted effort.

FAQ

Schema markup generator questions

Still have a question?

Chat with the team behind TapCub — we usually reply within a few hours on business days.

Do I still need this if I have a Google Business Profile?

The profile is what drives Maps and the local pack. Markup on your own site confirms the same facts and helps when Google reads your site. Keep both consistent: same name, address and phone.

Can I add star ratings for my own business?

You can mark them up, but Google does not show stars for reviews a business hosts about itself (self-serving reviews). Ratings are meant for sites that review other businesses.

How do I show holiday hours?

Add an extra openingHoursSpecification with validFrom and validThrough for the dates. For a day you are closed, Google’s convention is opens and closes both set to 00:00 within that date range.

Changelog

Update history

New features, fixes and data refreshes for this tool, newest first.

  1. · v1.0

    LaunchedFirst release.

Missing something or found an error? Tell us — requests that come up often go into the next update. All tool updates

See your data clearly. Find your growth.

Every click, backed by data. Install one line of code and see your first numbers in a minute.

No credit card · Free plans for analytics and chat · Cookieless analytics