Schema Markup Generator (JSON-LD)
Developer ToolsGenerate JSON-LD structured data for Article, FAQ, LocalBusiness, Product, HowTo, and more. Copy the script block into your HTML <head> for rich search results.
What is a Schema Markup?
A Schema Markup Generator is a tool that builds <script type="application/ld+json"> blocks containing structured data in the Schema.org vocabulary. You select a schema type, fill in your page's details, and the generator outputs a ready-to-paste JSON-LD block that you drop into the <head> of your HTML โ no knowledge of the Schema.org specification required.
Structured data is machine-readable metadata that tells Google exactly what a page represents: an article, a product, a local business, a set of frequently asked questions, or a step-by-step guide. Without it, Google infers intent from your visible content and links. With it, you explicitly declare your page's structure, which makes your content eligible for rich results โ enhanced search listings with star ratings, expandable FAQ dropdowns, breadcrumb trails, product prices, and event details.
JSON-LD is Google's recommended format for structured data. Unlike the older Microdata and RDFa approaches, which require you to annotate individual HTML elements, JSON-LD is a self-contained script block that does not touch your visible markup. It is easier to add, update, and validate โ making it the standard choice for developers and non-developers alike.
This generator supports eight schema types used in the majority of rich result implementations: Article, FAQPage, HowTo, LocalBusiness, Product, WebSite, BreadcrumbList, and Person. For complementary SEO technical tags, also see the OG Meta Tag Generator for Open Graph markup and the Robots.txt Generator for crawler access control.
How to use this Schema Markup calculator
- Select your Schema Type from the Schema Type dropdown. Choose the type that matches the primary purpose of the page you are marking up โ for a blog post use Article, for a FAQ section use FAQPage, for a product page use Product.
- Fill in the Name / Title field โ this becomes the
headlinefor Article,namefor LocalBusiness and Product, and the title for HowTo. Use the exact title as it appears on the page. - Enter a Description โ a concise, accurate summary of the page content. Google may use this in snippets; keep it under 160 characters for best results.
- Enter the canonical URL of the page โ the full absolute URL including
https://, matching the<link rel="canonical">in your<head>. - Fill in Author / Publisher Name โ for Article this becomes the
author.namePerson object and thepublisher.nameOrganisation; for Product it maps tobrand.name; for LocalBusiness it is not used. - Enter the Date Published in YYYY-MM-DD format (e.g.
2026-01-15). Required for Article schema to qualify for Top Stories. - Add an Image URL (optional but recommended) โ an absolute URL to the primary image of the page. Google requires a minimum image size of 1200 ร 630 px for Article rich results.
- Review the JSON-LD Script Block output panel โ the complete
<script type="application/ld+json">block appears here, formatted for readability. - Click Copy to copy the block to your clipboard. Paste it inside the
<head>element of your HTML page, after the<title>and<meta>tags. - Validate your implementation using Google's Rich Results Test (search.google.com/test/rich-results) โ paste your page URL or the script block directly to confirm Google can read the schema and that your page is eligible for the specific rich result feature.
Formula & Methodology
JSON-LD structure fundamentals Every JSON-LD block follows a consistent skeleton:json <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Your Article Title", "datePublished": "2026-01-15", "author": { "@type": "Person", "name": "Jane Smith" }, "publisher": { "@type": "Organization", "name": "Jane Smith", "logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" } }, "image": { "@type": "ImageObject", "url": "https://example.com/article-image.jpg" }, "description": "A comprehensive guide to digital marketing fundamentals.", "url": "https://example.com/article/" } </script>@contextdeclares the vocabulary namespace โ alwayshttps://schema.org(notehttps, nothttp, which is deprecated). This tells the parser which vocabulary the@typestrings and property names belong to.@typeis the entity type from the Schema.org hierarchy โArticle,FAQPage,HowTo, etc. Some types have subtypes:LocalBusinesshas subtypes likeRestaurant,MedicalBusiness, andLodgingBusiness;Articlehas subtypesNewsArticleandBlogPosting. Subtypes inherit all parent properties and can be more specific. Nested objects are how JSON-LD expresses relationships. AnArticle'sauthoris not a plain string โ it is an object with its own@type: "Person"andnameproperty. Anofferon aProductis anOfferobject withprice,priceCurrency, andavailability. This nesting is what allows Google to understand entities and their relationships, not just flat key-value pairs. JSON-LD vs Microdata vs RDFa JSON-LD is a standalone<script>block that is decoupled from HTML. Microdata annotates HTML elements withitemscope,itemtype, anditempropattributes โ every piece of structured data is tied to an HTML element, which means your schema and your visible content must always stay synchronised. RDFa uses a similar in-HTML approach withtypeofandpropertyattributes. Both Microdata and RDFa require rewriting HTML to add schema, making them harder to maintain and error-prone when templates change. Google recommends JSON-LD for all new implementations, and it is the only format supported by Google's Rich Results Test for pasted code. Why properties are omitted when empty The generator uses conditional spreading to exclude undefined and empty-string properties. An empty"description": ""or"image": ""in schema does not help Google โ it can trigger validation warnings in the Rich Results Test and may suppress rich result eligibility. Omitting the property entirely is equivalent to not providing it, which is neutral. This is why the generated output varies in length depending on how many fields you fill in. Validating your schema After pasting the generated block into your page: 1. Open Google's Rich Results Test at search.google.com/test/rich-results 2. Enter your page URL (after publishing) or use the "Code snippet" tab to paste the script block directly 3. The tool reports which rich result types your schema qualifies for and flags any missing required fields 4. Address any warnings marked "Required" โ these prevent the rich result from appearing 5. After fixing, wait for Google to recrawl your page (typically 1โ4 weeks for an established site) and check Google Search Console's Rich Results report for impressions
Frequently Asked Questions