Article Schema Generator
Fill out a form. Get valid Article JSON-LD.
A form-driven builder for schema.org Article markup with a live JSON-LD preview that updates as you type. Handles the required headline, description, and image triple, the three-date pattern (datePublished, dateModified, dateCreated), and nested author and publisher entities. Switch to Full coverage mode for alternativeHeadline, articleBody, wordCount, keywords, @id author attribution, paywall toggle, and mainEntityOfPage. Everything runs in your browser, nothing is sent to XooCode.
Article form
Title of the article. Google truncates at 110 characters. 56/110
Summary of the article. Google truncates at ~160 chars in the SERP.
Images (three aspect ratios)
Google's Article rich result requires images in three aspect ratios: 1:1 (1200x1200), 4:3 (1200x900), and 16:9 (1200x675). All three are recommended for full rich result eligibility.
Square. Minimum 1200x1200px.
Landscape. Minimum 1200x900px.
Widescreen. Minimum 1200x675px.
Canonical URL of the article page.
When the article was first published.
When the article was last updated.
Emits as nested Person. In Full mode you can use @id instead.
Emits as nested Organization.
Live JSON-LD output
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Pediatric Care in Post-War Denmark: A Clinical Framework",
"description": "A clinical framework for pediatric care in post-war Denmark, introducing the triage protocols and nutritional benchmarks that would come to define modern children's medicine across Scandinavia.",
"image": [
"https://roydanmedjournal.dk/images/1945/pediatric-framework-1x1.jpg",
"https://roydanmedjournal.dk/images/1945/pediatric-framework-4x3.jpg",
"https://roydanmedjournal.dk/images/1945/pediatric-framework-16x9.jpg"
],
"url": "https://roydanmedjournal.dk/archive/1945/pediatric-care-post-war-denmark",
"datePublished": "1945-03-15",
"dateModified": "2024-11-01",
"author": {
"@type": "Person",
"name": "Jane Xoo"
},
"publisher": {
"@type": "Organization",
"name": "Royal Danish Medical Journal"
}
}
</script>Updates as you type. Empty fields are omitted from the output. Click the copy icon above to copy the full <script> tag ready for pasting into your HTML head.
How to use the generator
The tool is a two-pane split: a form on the left, a live JSON-LD preview on the right. Type into any field and the preview updates immediately. When you’re done, click the copy icon in the preview header and paste the <script> block into your page’s <head> tag. That’s the whole workflow.
- 1
Start from the seed or start blank
Above the form there’s a Load example button. Click it and every field populates with Jane Xoo’s 1945 pediatric paper, a fictional reference article from the Xoo universe. Use it to see what a fully-populated Article output looks like, then clear and start over for your own content. Or skip the seed entirely and start from a blank form. - 2
Pick your coverage mode
The Coverage dropdown next to the Load example button has two settings. Essential shows the fields Google needs for Article rich results: headline, images, dates, author, and publisher. Full keeps everything from Essential and addsdateCreated,alternativeHeadline,articleBody,wordCount,keywords, the @id author toggle, the paywall toggle, andmainEntityOfPage. - 3
Fill in the image triple
Google requires images in three aspect ratios for Article rich results: 1:1 at 1200×1200, 4:3 at 1200×900, and 16:9 at 1200×675. The form has three separate URL fields, one per aspect ratio. Each image should be at least 1200 pixels wide. Missing an aspect ratio won’t break validation, but it reduces the surfaces where your rich result can appear. - 4
Copy the output
The preview pane shows the full<script type="application/ld+json">wrapper with syntax highlighting. Click the copy icon to grab it and paste into your page head. Test it with Google’s Rich Results Test before publishing to catch value-level issues the form can’t see (broken image URLs, invalid dates, etc).
The three-date pattern
Article markup supports three date properties, and getting them right matters more than most authors expect. datePublished is the only required date. It tells Google and AI crawlers when the article first went live. Without it, your markup is technically valid but practically invisible to any system that filters by recency.
dateModified tells Google the content is actively maintained. When you update an article with new information, setting dateModified to the actual revision date signals freshness without resetting the publication history. Google uses this in ranking for time-sensitive queries: an article published in 2021 but modified last week can outrank a brand-new post on the same topic if the modification is substantive.
dateCreated is the draft date, the moment the document was first authored regardless of when it went public. Most articles don’t need this. It’s useful for academic papers, legal documents, and editorial workflows where the gap between drafting and publication is meaningful. The generator exposes dateCreated only in Full mode.
Google’s three-aspect-ratio image requirement
Article rich results need images in three aspect ratios: 1:1, 4:3, and 16:9. Google’s documentation says “images should be at least 1200 pixels wide,” which translates to 1200×1200 for the square crop, 1200×900 for the 4:3 crop, and 1200×675 for the 16:9 crop.
The three aspect ratios serve different surfaces. The 1:1 square appears in mobile search results and Google Discover on smaller screens. The 4:3 ratio shows up in desktop search snippets and the standard article card layout. The 16:9 widescreen format is used in the Discover feed, Top Stories carousel, and AMP story previews. Each surface picks the best-fit image from your markup. If an aspect ratio is missing, that surface falls back to cropping the next-closest match, which often looks poor and can reduce click-through.
Missing an aspect ratio does not break the markup or invalidate the JSON-LD. The Rich Results Test will still pass. But it reduces your rich result eligibility across surfaces. For maximum coverage, supply all three.
When to use Article vs a subtype
Article is the catch-all type in the schema.org article hierarchy. If your content is written prose intended for a general audience and doesn’t fit a more specific bucket, Article is the correct choice. But schema.org defines several subtypes that carry additional properties and trigger different Google behaviours. Picking the right one matters.
Use NewsArticle for journalism: breaking news, investigative reports, opinion columns with a dateline. NewsArticle inherits everything from Article and adds dateline and print-edition metadata. More importantly, NewsArticle is the type Google requires for Top Stories carousel eligibility. If your site is a registered news publisher, this is the type you want.
Use BlogPosting for personal or company blog content where individual author identity matters. BlogPosting is technically a subtype of SocialMediaPosting, which itself descends from Article. It signals informal, author-attributed content and pairs well with individual author entities that have their own @id, social profiles, and expertise signals.
Use TechArticle for developer documentation, API guides, tutorials, and technical how-tos. TechArticle adds proficiencyLevel (Beginner, Expert) and dependencies properties that help search engines categorise content by reader skill level. If your content assumes technical background knowledge, TechArticle is the better fit.
If none of those subtypes match, plain Article is correct. You lose nothing by using it, and you avoid the risk of misclassifying your content into a subtype whose semantics don’t apply.
What this generator isn't
The Article Schema Generator is a tightly-scoped authoring tool. Knowing what it doesn’t try to do will save you time looking for features that were never supposed to exist.
It IS a full Article JSON-LD builder
It is NOT a NewsArticle builder
It IS Essential/Full aware
It is NOT a headline optimizer
It IS @id author aware
It is NOT a Rich Results Test
Authoritative sources
The generator’s behaviour is sourced from primary documentation. These are the documents to consult when you need to verify anything the tool produces.
- schema.org/Article. The canonical vocabulary definition. Article inherits from CreativeWork which inherits from Thing, so the full property list is much longer than the Article-specific section.
- Google Article structured data documentation. The current required and recommended property lists for Article rich results. Read this when deciding which fields to populate.
- Google Rich Results Test. Run your generator output through this to confirm the markup is valid and eligible for Article rich results. Free and immediate.
- Google paywalled content documentation. Covers the
isAccessibleForFreeproperty and thecssSelectorpattern for marking paywall boundaries in Article markup. Relevant when you toggle the paywall option in Full mode.