Free tool

Schema Markup Generator

Fill in your real business details and get clean, correct JSON-LD you can paste into your site — with the exact type for your sector, UK-formatted address, opening hours and profile links. The generator only outputs fields you actually complete: no placeholders, no invented facts, nothing Google could read as spam.

Pick the most specific type that truthfully describes you.

£ to ££££ — only if you are comfortable stating it.

Opening hours (optional)

At a glance

What it does, what it reads, what it cannot see

Every tool on this site states its scope in the same six lines, so you know what a result means before you act on it.

You enter
Business type, name, contact details, address, hours and profile links; only the name is required
You get
A validated JSON-LD script tag containing exactly the fields you supplied
It reads
Nothing beyond the form; nothing is fetched or stored
It cannot see
Whether the details are true: it writes what you type
It takes
Instant
Worked example

This tool’s own output on a fictional business

Generated by the tool at build time
Type
Dentist
Name, phone, address
Meadowbank Dental, 01423 496010, 14 Station Parade, Harrogate HG2 8QT (fictional)
Hours
Mon–Fri 08:30–17:30
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "name": "Meadowbank Dental",
  "url": "https://www.meadowbank-dental.example/",
  "@id": "https://www.meadowbank-dental.example/#localbusiness",
  "telephone": "01423 496010",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "14 Station Parade",
    "addressLocality": "Harrogate",
    "addressRegion": "North Yorkshire",
    "postalCode": "HG2 8QT",
    "addressCountry": "GB"
  },
  "priceRange": "££",
  "sameAs": [
    "https://www.facebook.com/meadowbankdental",
    "https://www.instagram.com/meadowbankdental"
  ],
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "08:30",
      "closes": "17:30"
    }
  ]
}
</script>

How to read it

Only the fields that were supplied appear: no email because none was given, no placeholder coordinates, no rating markup (self-serving ratings on a LocalBusiness are against Google's guidelines). The script tag goes in the page head. Paste it into the schema checker on this site afterwards, then Google's Rich Results Test, and it should come back as one Dentist entity with an address and hours.

Meadowbank Dental is a fictional practice written for these examples: the result above is what this tool’s code produces on that page, regenerated whenever the site is built, and is not a real business’s data.

How it works

What this tool measures, and what it leaves alone

Read this before you act on a result. Every tool here states its method and its limits in the same breath.

How to install the markup

Copy the generated script tag and place it in the <head> of the relevant page — the homepage for the main business entity. On WordPress, use your SEO plugin’s custom-schema slot or a header snippet plugin rather than pasting into theme files. Install it once: duplicate business markup from multiple plugins is a common mess this generator cannot fix.

Then validate: run the page through the Schema.org validator (syntax) and Google’s Rich Results Test (feature eligibility). Both are free and take under a minute.

The one rule that keeps you safe

Every fact in your markup must also be visible on the page. Google’s structured-data policies treat markup describing content that is not on the page as spam, and self-serving review stars on your own business markup can cost you rich-result eligibility entirely. This generator deliberately does not offer review or rating markup for exactly that reason.

Questions

Common questions

Which schema type should I choose?

The most specific type that truthfully describes the business — Dentist rather than MedicalClinic rather than LocalBusiness, if you are a dentist. If nothing specific fits, LocalBusiness (physical premises) or ProfessionalService is correct and safe.

Where do I find my latitude and longitude?

Right-click your premises on Google Maps and the coordinates appear at the top of the menu — click to copy. They are optional, but useful for service-area and multi-location businesses.

Do I need schema on every page?

The business entity belongs on your homepage (and About page). Individual service pages can carry Service markup, and genuine FAQ content can carry FAQPage markup — though note Google no longer shows FAQ rich results, so treat that as machine-readability rather than a search feature. Start with the business entity; it does the most work.

If you need more than the tool

Generated your markup but unsure how to add it to your site — or worried about breaking something? That is the most common place owners get stuck, and you do not have to do it yourself.

Free Snapshot

Not sure the findings matter? A person checks your website and sends three specific, evidenced fixes — free, no call, no obligation.

Website Revenue Audit — £295

The full picture: up to ten pages and your customer journey checked by a person, every finding evidenced, every fix written so you or your developer can do it.

Repair Sprint — £795

We install and validate the markup for you — the right way for your platform, no theme files broken, no duplicate schema — as part of fixing whatever else the audit finds.

And when the whole system needs rebuilding — website, trust evidence, local and AI visibility together — the founder-led HighRegard Authority Transformation (£7,495, 8 weeks, application only) is the complete version.