Schema Markup Generator (JSON-LD)

Fill in the fields and get JSON-LD you can paste straight into the page head. Nothing you type leaves your browser.

Built and maintained by Faaiz Mahmood · Updated 21 September 2026

What structured data actually does

Structured data does not make a page rank better. It describes what the page is, in a vocabulary Google already understands, so it can be confident about the content rather than inferring it. That confidence is what makes a page eligible for a rich result: the star ratings, the breadcrumb trail above a result, the byline and date on an article.

Eligible is the operative word. Google decides per query whether to show a rich result, and correct markup is a requirement rather than a guarantee. Anyone promising rich results from markup alone is overselling it.

Why JSON-LD rather than microdata

There are three ways to express structured data. Microdata and RDFa weave attributes through your HTML; JSON-LD sits in a single script block, separate from the content.

Google recommends JSON-LD and it is the right choice for a practical reason: you can add, edit or remove it without touching your templates, and when it is wrong you have one block to look at rather than attributes scattered across a page. Everything this tool emits is JSON-LD.

The escaping detail that breaks pages

Here is a bug worth understanding, because almost no generator handles it.

A JSON-LD block lives inside <script> tags. An HTML parser closes that script at the first literal </script> it sees, and it does not care that the sequence happens to be inside a JSON string. So if any field you fill in contains a closing script tag, the block ends early, the rest of your JSON spills into the page as visible text, and the markup is invalid.

That sounds contrived until you are marking up an article about HTML, or a FAQ answer quoting a code sample. The complete fix is to escape every < as <, which is still valid JSON and parses identically. This tool does that to everything it emits, which is why you will see those sequences in the output.

What is here, and what is deliberately not

Article for blog posts and news. BreadcrumbList, which is among the most reliably displayed types and is often the quickest win. Organization, worth doing once on the page that best represents you, and where the sameAs profile links help Google connect your site to the same entity elsewhere.

FAQPage is included with a caveat that other generators leave out. In August 2023 Google restricted FAQ rich results to authoritative government and health sites. On an ordinary site the markup is still valid and still helps Google understand the page, but it will not produce the expandable questions people are usually hoping for. Better to know that before spending an afternoon on it.

HowTo is not here at all. Google deprecated those rich results, so a builder for it would produce valid markup that can never do anything. Building a form for it would waste your time and imply otherwise.

Getting it right

Checking your work

Paste the output into your page, then run the URL through Google's Rich Results Test, which reports both validity and which rich result types the page qualifies for. The Schema.org validator is stricter about the vocabulary itself and useful when you are doing something unusual.

Once the page is live, the Enhancements section of Search Console reports errors across the whole site, which is the only way to catch a template that has been emitting a broken field on four hundred pages.

One thing to note about the Rich Results Test: submitting a URL sends that page to Google. That is fine for a live public page and exactly what you want. It is also why this tool does not offer to pre-fill the test with your data, which would quietly undo the promise that nothing you type here leaves your browser.

Frequently asked questions

Where does the JSON-LD go?

Anywhere in the page, though the head is conventional and easiest to find later. JSON-LD is a script block rather than markup wrapped around your content, which is why Google recommends it over microdata and RDFa: you can add or change it without touching the page itself.

Will this get me rich results?

Valid markup makes a page eligible for rich results. It does not guarantee them. Google decides per query whether to show one, and eligibility also depends on the page being indexed and meeting the requirements for that result type. Correct markup is necessary, not sufficient.

Why is there no HowTo option?

Google deprecated HowTo rich results, so building that markup now would produce something valid that can never do anything. The same reasoning applies to FAQ, which is still offered here but carries a warning: since August 2023 FAQ rich results appear only for authoritative government and health sites.

What is the \u003c escaping in the output?

A literal </script> inside a JSON-LD block ends the script element early and breaks the page. Escaping every < as \u003c prevents that and stays valid JSON, so parsers read it identically. Very few generators do this, and it is the kind of bug that only shows up once a user-supplied string happens to contain a tag.

Should I add Organization markup to every page?

Once is enough, on the page that best represents the organisation, usually the home page or the about page. Repeating it site-wide is harmless but adds nothing.

Who writes this

Faaiz Mahmood is a software engineer with a bachelor's degree in computer science. He works on full-stack projects and as an AWS cloud engineer, and builds and maintains everything on crawlkit.online.

That is the relevant qualification here rather than an SEO one. The rules these tools apply are written down in public specifications: RFC 9309 for robots.txt, the sitemaps protocol, Google's own published documentation. Plenty of free tools built on them implement the details incorrectly. These are written against the specification, and each page sets out the rules it follows so you can check the reasoning instead of trusting the output.

Found something wrong? Tell me and I will fix it.