JSON-LD generator
Generate structured data (Article, Organization, FAQ) as JSON-LD.
Paste the generated <script> into your page <head>.
Structured data is how a page tells a search engine what it actually is — a news article, a company profile, a list of questions — rather than leaving it to guess from the text. The markup is simple JSON, but the syntax is fussy and one stray comma breaks the whole block. This generator writes it for you: choose a type, fill in the fields you have, and copy the finished script tag.
How it works
What comes out
Pick a Type, fill the boxes, press Generate, and the output box shows a complete block like this:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "…"
}
</script>Empty fields are simply left out rather than written as blanks, so a partly filled form still produces valid markup.
The three types
Article — for a blog post or news page. Takes a headline, an author name (written out as a Person), an image URL, the page URL and a publication date. The URL is used for both url and mainEntityOfPage.
Organization — for an about page or site-wide block. Takes the organisation name, its homepage URL and a logo URL.
FAQPage — takes up to three question and answer pairs and builds a mainEntity list. A pair is only included if both the question and the answer are filled in.
Where it goes and how to check it
Paste the whole <script> block into the page's <head>. It renders nothing, so it is safe anywhere in the document. A single page may carry several blocks — an Article and an Organization together is common. Validate the result with the Schema.org validator or Google's Rich Results Test before you ship it.
A note on FAQ markup
Google stopped showing FAQ rich results in search in May 2026, so FAQPage markup no longer earns the expanded question list it once did. It remains valid schema.org, other consumers still read it, and leaving it in place causes no harm — just don't expect a visual change in Google.
Terms explained
- JSON-LD
- JavaScript Object Notation for Linked Data — structured data written as a JSON block in a script tag, separate from the visible HTML.
- @context
- Declares the vocabulary being used. It is always https://schema.org here.
- @type
- The kind of thing being described: Article, Organization or FAQPage.
- headline
- The title of the article. Keep it close to the title shown on the page itself.
- mainEntityOfPage
- Marks which page this article is primarily about, so the markup is tied to one canonical URL.
- datePublished
- Publication date in ISO 8601 form, such as 2026-09-01 or 2026-09-01T09:00:00+09:00.
Frequently asked questions
Where should the script tag go?
The <head> is the usual place and is what the tool suggests. Putting it in the body also works — search engines read structured data from either location — but keeping it in the head makes it easy to find later.
Does structured data improve my rankings?
Not on its own. It does not act as a ranking signal; what it does is describe the page unambiguously and make it eligible for certain search features. Treat it as clarification, not promotion.
Do FAQ pages still get the expanded answers in Google?
Not any more. Google narrowed FAQ rich results to a small set of authoritative sites in 2023 and removed the feature entirely in May 2026. The markup is still valid and still parsed, so you can leave it in place, but it no longer changes how the result looks.
What date format should datePublished use?
ISO 8601 — year-month-day, optionally followed by a time and time-zone offset. 2026-09-01 works; 1 Sept 2026 does not.
Does the markup have to match the visible page?
Yes, and this matters. Structured data that describes content a visitor cannot see on the page is treated as a violation of the guidelines and can cost you the feature entirely.
Tell us what went wrong and we'll fix it fast. (Leave an email if you'd like a reply.)