The fastest way to learn schema markup is by example. This guide includes ready-to-use JSON-LD examples for every common business type and page type. Copy the template, fill in your details, and validate before deploying.
Organization schema
For any company, brand, or institution. Powers knowledge panels in Google Search.
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Acme Corporation",
"url": "https://www.acme.com",
"logo": "https://www.acme.com/logo.png",
"description": "Leading provider of innovative solutions",
"sameAs": [
"https://twitter.com/acme",
"https://www.linkedin.com/company/acme"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-555-123-4567",
"contactType": "customer service"
}
}
Free Organization Schema Generator
Schools, NGOs, corporations, and similar entities. Generate valid JSON-LD in seconds.
When to use: Homepage, about page, or any page that represents the organization itself.
LocalBusiness schema
For businesses with a physical location. Powers local search results and Google Maps listings.
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Joe's Coffee Shop",
"image": "https://joescoffee.com/storefront.jpg",
"url": "https://joescoffee.com",
"telephone": "+1-555-987-6543",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "Seattle",
"addressRegion": "WA",
"postalCode": "98101",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 47.6062,
"longitude": -122.3321
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "07:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "08:00",
"closes": "16:00"
}
],
"priceRange": "$$"
}
Free Local Business Schema Generator
Physical business locations with hours and contact. Generate valid JSON-LD in seconds.
When to use: Location pages, contact pages, or homepage for single-location businesses.
For businesses with multiple locations, create a separate LocalBusiness schema for each location page. Don't put all locations in a single schema.
Article / BlogPosting schema
For blog posts, news articles, and editorial content. Powers article rich results with author, date, and thumbnail.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Build a Successful Startup in 2026",
"image": "https://example.com/images/startup-guide.jpg",
"datePublished": "2026-03-15T08:00:00+00:00",
"dateModified": "2026-03-15T10:30:00+00:00",
"author": {
"@type": "Person",
"name": "Jane Smith",
"url": "https://example.com/authors/jane-smith"
},
"publisher": {
"@type": "Organization",
"name": "Example Blog",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"description": "A comprehensive guide to building a successful startup, from ideation to launch.",
"mainEntityOfPage": "https://example.com/blog/startup-guide"
}
Free Article Schema Generator
News articles and blog content. Generate valid JSON-LD in seconds.
When to use: Blog posts, news articles, opinion pieces, tutorials. Use BlogPosting instead of Article for blog-specific content — both work for Article rich results.
Product schema
For product pages in e-commerce. Powers product rich results with price, availability, and ratings.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Premium Wireless Headphones",
"image": "https://store.com/images/headphones.jpg",
"description": "Noise-canceling wireless headphones with 30-hour battery life",
"brand": {
"@type": "Brand",
"name": "AudioTech"
},
"sku": "AT-WH-PRO-100",
"offers": {
"@type": "Offer",
"price": "199.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://store.com/headphones/premium-wireless"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "1247"
}
}
Free Product Schema Generator
Goods and services with offers and reviews. Generate valid JSON-LD in seconds.
When to use: Individual product pages. The offers property is required for product rich results — without a price, Google won't show the enhanced listing.
FAQPage schema
For pages with frequently asked questions. Creates expandable FAQ dropdowns in search results.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is schema markup?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup is a standardized vocabulary of tags that you add to your HTML to help search engines understand your content. It can result in rich snippets in search results."
}
},
{
"@type": "Question",
"name": "How do I add schema markup to my website?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The easiest way is to add JSON-LD script tags to your HTML. You can generate the markup using a schema generator, then paste it into your page's head or body section."
}
}
]
}
Free FAQ Page Schema Generator
Frequently asked questions on webpages. Generate valid JSON-LD in seconds.
When to use: FAQ pages, support pages, and any page with question-answer content that's visible on the page.
Google requires that FAQ content in schema markup must also be visible on the page. Hidden FAQs (not visible to users) are a policy violation and can result in manual actions.
Event schema
For events, conferences, workshops, and concerts. Powers event listings in search results.
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Tech Conference 2026",
"description": "The biggest tech conference of the year",
"startDate": "2026-06-15T09:00:00-07:00",
"endDate": "2026-06-17T17:00:00-07:00",
"location": {
"@type": "Place",
"name": "Moscone Center",
"address": {
"@type": "PostalAddress",
"streetAddress": "747 Howard St",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94103",
"addressCountry": "US"
}
},
"image": "https://techconf.com/images/banner.jpg",
"offers": {
"@type": "Offer",
"price": "299.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://techconf.com/tickets"
},
"organizer": {
"@type": "Organization",
"name": "TechConf Inc",
"url": "https://techconf.com"
}
}
When to use: Event listing pages, conference pages, workshop sign-up pages.
Recipe schema
For recipe pages. Creates rich recipe cards with cook time, ratings, and nutrition.
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "Classic Chocolate Chip Cookies",
"image": "https://recipes.com/images/cookies.jpg",
"description": "Soft, chewy chocolate chip cookies that are ready in under an hour.",
"prepTime": "PT15M",
"cookTime": "PT12M",
"totalTime": "PT27M",
"recipeYield": "24 cookies",
"recipeIngredient": [
"2 1/4 cups all-purpose flour",
"1 cup butter, softened",
"3/4 cup sugar",
"2 large eggs",
"2 cups chocolate chips"
],
"recipeInstructions": [
{
"@type": "HowToStep",
"text": "Preheat oven to 375°F (190°C)."
},
{
"@type": "HowToStep",
"text": "Mix flour, butter, and sugar until creamy."
},
{
"@type": "HowToStep",
"text": "Fold in chocolate chips. Drop spoonfuls onto baking sheet."
},
{
"@type": "HowToStep",
"text": "Bake for 9-12 minutes or until golden brown."
}
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.9",
"reviewCount": "342"
}
}
When to use: Individual recipe pages. Google shows recipe rich results with image, time, and rating — high visibility in search.
HowTo schema
For step-by-step guides. Shows instructions directly in search results.
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Install a Smart Thermostat",
"description": "Install a smart thermostat in your home in 6 easy steps.",
"totalTime": "PT30M",
"step": [
{
"@type": "HowToStep",
"name": "Turn off power",
"text": "Turn off the power to your HVAC system at the circuit breaker."
},
{
"@type": "HowToStep",
"name": "Remove old thermostat",
"text": "Remove the faceplate and note the wire connections before disconnecting."
},
{
"@type": "HowToStep",
"name": "Install mounting plate",
"text": "Level and mount the new thermostat's base plate to the wall."
},
{
"@type": "HowToStep",
"name": "Connect wires",
"text": "Connect each wire to the corresponding terminal on the new thermostat."
},
{
"@type": "HowToStep",
"name": "Attach thermostat",
"text": "Snap the thermostat display onto the mounting plate."
},
{
"@type": "HowToStep",
"name": "Restore power and configure",
"text": "Turn the power back on and follow the on-screen setup wizard."
}
]
}
When to use: Tutorial pages, installation guides, DIY instructions, any step-by-step content.
Validating your schema markup
After copying any of these examples and filling in your details, always validate before deploying:
Free Schema Markup Validator
Check your structured data for errors, warnings, and rich result eligibility. No sign-up required.
Common issues to watch for:
- Relative image URLs (use full
https://URLs) - Missing required fields (each type has different requirements)
- Date formats (use ISO 8601:
2026-03-15T08:00:00+00:00) - Price format (use string, not number:
"199.00"not199.00)
Multiple schemas on one page
Most pages need more than one schema. A product page might include:
- Product — for the product itself
- BreadcrumbList — for navigation trail
- Organization — for the seller
You can include multiple <script type="application/ld+json"> blocks, or use a @graph container:
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Product", "name": "..." },
{ "@type": "BreadcrumbList", "itemListElement": [...] }
]
}
Automating schema markup
Manually adding JSON-LD to every page gets tedious fast. For sites with more than a handful of pages, consider automating it.
Stop writing schema markup by hand
Schema Pilot scans your pages, generates valid JSON-LD, and serves it automatically. No code changes required.
Schema Pilot scans your pages, generates the right schema type for each one, and serves valid JSON-LD automatically. No templates to maintain, no manual validation, no missed pages.