NewsArticle schema generator
Fill in your article's details and copy the JSON-LD into the page's head. The generator follows Google's article structured data guidelines and flags what's missing as you type. Everything runs in your browser; nothing is sent to us.
Your JSON-LD
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"headline": "City council approves new bike lanes on Main Street",
"description": "The plan adds protected lanes along 2 km of Main Street, with work starting in spring.",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/news/main-street-bike-lanes"
},
"image": [
"https://example.com/photos/bike-lanes-16x9.jpg",
"https://example.com/photos/bike-lanes-4x3.jpg",
"https://example.com/photos/bike-lanes-1x1.jpg"
],
"datePublished": "2026-10-21T09:30:00+00:00",
"dateModified": "2026-10-21T11:05:00+00:00",
"author": [
{
"@type": "Person",
"name": "Jane Doe",
"url": "https://example.com/authors/jane-doe"
}
],
"publisher": {
"@type": "Organization",
"name": "Example News",
"url": "https://example.com",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"articleSection": "Local",
"inLanguage": "en"
}
</script>Paste it into the page's <head>, then check it with Google's Rich Results Test ↗
Checks
All recommended properties are filled in.
Publishing news every day?
Naito delivers each article with NewsArticle JSON-LD already filled in, plus the source credited with a link.
Try Naito free for 7 daysWhat Google asks for
No required fields, a few recommended ones
Google's article guidelines have no required properties. The recommended ones are headline, image, datePublished, dateModified and author with name and url.
Dates with a time zone
Use ISO 8601 and include the time zone. Without it, Google assumes Googlebot's own time zone.
One object per author
List every author shown on the page, each in its own object, with only the name in the name field and a URL that identifies them.
Crediting the source
If your article builds on another outlet's story, isBasedOn points machines to it, alongside the visible credit and link for readers.
Frequently asked questions
Common questions
What's the difference between Article, NewsArticle and BlogPosting?
All three are supported by Google. Use NewsArticle for news, BlogPosting for blog posts and Article for other editorial content.
Where do I put the JSON-LD?
Inside a script tag in the page's head (or body). Then test the page with Google's Rich Results Test.
Does this tool store what I type?
No. The JSON-LD is generated in your browser and nothing is sent to our servers.
More guides
How to get cited by ChatGPT, Perplexity and other AI search engines
Verifiable claims, structured data and clear authorship in every article.
Read the guide→How do you use AI for news without taking other outlets' reporting?
Credit and link the original story, start from your own material, and exclude outlets you don't want to use.
Read the guide→How to publish automatically to WordPress or Ghost
Connect once and articles arrive on their own, as drafts or published.
Read the guide→