JSON-LD Schema Generator: Structured Data Without Writing Code
Pick a schema type, fill in the form and copy a ready-to-paste JSON-LD script tag for your page.
What do you want to mark up?
Fields marked * are required.
Address
Two letters (ISO 3166-1), e.g. US, FR, MA.
Address
Two letters (ISO 3166-1), e.g. US, FR, MA.
Opening hours
Google prefers several aspect ratios (16:9, 4:3, 1:1), at least 1200 px wide.
Offer
From the home page to the current page. The last item’s URL is optional.
Offset of the venue from UTC.
Venue
Two letters (ISO 3166-1), e.g. US, FR, MA.
Organizer, performer and tickets
Keep {search_term_string} where the query goes.
Only use questions and answers that are visible on the page.
Runs entirely in your browser — nothing you type is sent to our servers.
Paste the script into the <head> or <body> of the page it describes. Copy includes the script tag; the download is the plain JSON.
Check a live page with the schema validator Google Rich Results Test
Writing JSON-LD by hand is fiddly: one missing comma or misspelled property and the whole block fails to parse. Most pages need only a handful of well-chosen properties, filled in accurately, to describe what they are about.
This schema markup generator gives you a form for ten common types (Organization, LocalBusiness, Article, Product, BreadcrumbList, Person, Event, WebSite, SoftwareApplication and FAQPage) and turns your answers into a JSON-LD script tag you can copy into your page. It runs entirely in your browser.
How to generate schema markup
Choose a type
Pick the type that matches the page: Product for a product page, Article for a post, LocalBusiness for a shop or office.
Fill in the form
Enter details exactly as they appear on the page, with full URLs for images, logos and social profiles.
Copy and paste
Copy the script tag into the page’s HTML, publish, then test the live URL with the schema validator.
Which schema type fits which page
| Page | Type | Key properties |
|---|---|---|
| Home page | Organization + WebSite | Name, logo, official profiles, site name |
| Shop, office, restaurant | LocalBusiness | Address, phone, opening hours |
| Blog post, news story | Article | Headline, author, dates, image |
| Product page | Product | Offer with price, currency, availability |
| Any page below the home page | BreadcrumbList | The same trail as the visible breadcrumb |
| Author or team page | Person | Name, job title, sameAs profiles |
| Concert, webinar, class | Event | Start date, location or online status |
| App or SaaS page | SoftwareApplication | Category, operating system, price |
| Questions and answers | FAQPage | Valid, but Google stopped showing FAQ rich results in 2026 |
WebSite markup is now mainly how you suggest your preferred site name to Google; the sitelinks search box it once powered was retired in 2024.
A LocalBusiness example
Here the generic LocalBusiness type has been swapped for the more specific schema.org subtype Bakery, which Google also accepts:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Bakery",
"name": "Atlas Bakery",
"url": "https://www.example.com/",
"image": "https://www.example.com/img/storefront.jpg",
"telephone": "+1-555-0100",
"address": {
"@type": "PostalAddress",
"streetAddress": "12 Market Street",
"addressLocality": "Springfield",
"postalCode": "12345",
"addressCountry": "US"
},
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "07:00",
"closes": "18:00"
}]
}
</script>
Google requires a name and address for LocalBusiness and recommends telephone, url, opening hours and geo coordinates (Google’s LocalBusiness documentation). Use the same name, address and phone number as your Google Business Profile and site footer; our local SEO checklist covers the rest.
Where to paste the code
JSON-LD can sit in the <head> or the <body>; Google reads both.
- Hand-coded site: add it to the page template, just before
</head>. - WordPress: first check what your SEO plugin already outputs. Yoast and Rank Math add Organization, WebSite, Article and BreadcrumbList on their own, so add only what is missing.
- Shopify: many themes already include Product markup in the product template; edit it there rather than adding a second block.
- Tag manager: Google can read JSON-LD injected with JavaScript, but crawlers that don’t render scripts won’t see it.
When a page describes several entities, connect them with @id so they read as one graph instead of unrelated duplicates:
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Organization", "@id": "https://www.example.com/#org",
"name": "Atlas Bakery", "logo": "https://www.example.com/logo.png" },
{ "@type": "WebSite", "@id": "https://www.example.com/#website",
"url": "https://www.example.com/", "name": "Atlas Bakery",
"publisher": { "@id": "https://www.example.com/#org" } }
]
}
More on the vocabulary in our schema markup glossary entry.
Tips for schema that helps
- Mark up only what visitors can see on the page; hidden or invented details break Google’s guidelines.
- Use absolute URLs for url, image, logo and sameAs, and a logo of at least 112 × 112 pixels.
- Update the markup whenever prices, opening hours or event dates change; stale structured data is worse than none.
- Describe your brand with one Organization entity, using the same name and logo across the site.
- Don’t add review or rating markup for reviews you wrote about your own business; Google won’t show stars for them.
Limits to keep in mind
The generator builds JSON-LD from what you type and runs entirely in your browser; it can’t see your page, so keeping the markup consistent with the visible content is up to you. It covers the ten types listed above; for Recipe, VideoObject, JobPosting and other types, follow Google’s structured data gallery. Generated markup makes a page eligible for rich results but doesn’t guarantee them, so always test the published page with the schema markup validator.
Last updated Oct 30, 2026 by the Yes SEO team.
Schema Generator: frequently asked questions
Where do I put JSON-LD on my page?
Anywhere in the HTML, usually in the head or just before the closing body tag; Google reads it in either place. Keep it in the server-rendered HTML when you can, so every crawler can read it.
Can I use more than one schema type on a page?
Yes. A product page might carry Product, BreadcrumbList and Organization. Use separate script tags or a single @graph, and connect related entities with @id so they aren’t read as duplicates.
Will schema markup improve my rankings?
Not by itself. Structured data isn’t a general ranking factor, but it makes pages eligible for rich results and helps search engines understand entities such as your business, products and authors.
Is FAQPage schema still worth adding?
Only if you have other reasons to. Google stopped showing FAQ rich results in 2026, so FAQPage no longer earns extra space in Google results, although it remains valid schema.org markup.
Does it work alongside Yoast or Rank Math?
Yes, but check for overlap first. Those plugins already output several types, so use the generator for what they don’t cover, such as Event or a detailed LocalBusiness, and avoid a second, conflicting Organization block.
Is the information I enter stored?
No. The generator runs in your browser and builds the code locally, so nothing you type is sent to our server.