My Tool Studio
SchemaURL-first

Schema Markup Generator

This schema markup generator writes JSON-LD for one page at a time. Paste the page URL and it fills in the name, description, image, author and date, and guesses the type from the page's own markup. Pick from ten types, including Article, Product, LocalBusiness, Event, Person and WebSite, or paste existing JSON-LD to load and fix it. A validation panel lists missing required properties as errors and missing recommended ones as warnings, and the output switches between JSON-LD and microdata. A Validate code tab checks any pasted markup the way a schema validator does. Freelancers use it when a client page goes live with no structured data. For types that need every field, the page links to 22 dedicated generators.

Always freeNo sign upRuns in your browser

Paste one page URL to pre-fill the form, or type the fields yourself. The schema type is guessed from the page's existing markup and og:type, and you can change it.

Import existing JSON-LD(paste code or read it from a URL)

Paste JSON-LD for any of the ten types in the picker (subtypes such as Restaurant or BlogPosting load too). The form switches to that type.

  • ArticleRecommended: add headline.
  • ArticleRecommended: add image.
  • ArticleRecommended: add datePublished.
  • ArticleRecommended: add dateModified.
  • ArticleRecommended: add author.
Output
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": ""
}
</script>
Test in Google Rich Results TestValidate at validator.schema.orgThe test links copy your code first. Paste it into the tester's Code tab.

How to use

01

Fill the form from a URL

On the Single page tab, paste the page address and press Auto-fill from URL, or type the fields yourself. Check the Schema type dropdown, since the guess comes from the page's existing tags.

02

Complete the type's fields

Fill the fields shown for your type, such as price for Product, hours for LocalBusiness or profile links for Person. The Validation panel lists what Google requires as errors and what it recommends as warnings.

03

Copy, test and paste

Choose JSON-LD or Microdata, press Copy script or Download, then use Test in Google Rich Results Test or Validate at validator.schema.org. Paste the block into the page it describes.

Why Schema Markup Generator

Schema types, Google features and the tool for each

Google only uses some Schema.org types for search features, and each has its own required properties. The table lists the common ones, what Google does with them and which generator on this site covers every field.

TypeGoogle search featureRequired by GoogleGenerator
Article, BlogPostingArticle results with headline, image and dateNone strictly; headline, image, author and dates recommendedArticle Schema Generator
ProductProduct snippets and merchant listingsname, plus offers, review or aggregateRatingProduct Schema Generator
LocalBusinessBusiness details such as hoursname, addressLocal Business Schema Generator
EventEvent resultsname, startDate, location with a physical addressEvent Schema Generator
JobPostingGoogle for Jobstitle, description, datePosted, hiringOrganization, jobLocation or remote fieldsJob Posting Schema Generator
VideoObjectVideo results and key momentsname, thumbnailUrl, uploadDateVideo Schema Generator
SoftwareApplicationSoftware app resultsname, offers.price, and a rating or reviewSoftwareApplication Schema Generator
BreadcrumbListBreadcrumb trail on desktop resultsitemListElement with position and nameBreadcrumb Schema Generator
OrganizationLogo and company detailsNone requiredOrganization Schema Generator
CourseCourse listname, descriptionCourse Schema Generator
RecipeRecipe results and carouselsname, imageRecipe Schema Generator
Review, AggregateRatingReview snippet starsauthor, reviewRating, itemReviewed; or ratingValue with a countReview Schema Generator
FAQPageNone since May 2026Not applicableFAQ Schema Generator
HowToNone since 2023Not applicableHowTo Schema Generator

Where to paste JSON-LD on common platforms

A JSON-LD script can sit in the head or the body of the page it describes. Before adding one, check whether your theme or an SEO plugin already outputs the same type, because two conflicting Product or Article blocks on one page make the data harder to trust.

  • WordPress: paste the script into a Custom HTML block on that page, or use a header code plugin limited to the one URL. Yoast and Rank Math already add Organization, WebSite and Article markup, so only add what they do not cover.
  • Shopify: product and article templates in many themes already include JSON-LD. Edit the theme section that outputs it, or add a new snippet to the template, rather than pasting a second copy.
  • Next.js: render a script tag with type application/ld+json in the page component and pass the JSON through dangerouslySetInnerHTML with JSON.stringify.
  • Google Tag Manager: a Custom HTML tag can insert the script. Google can read JSON-LD added by JavaScript, but server-rendered markup is simpler to check, so test the live URL either way.

Common questions

Which schema types can the Schema Markup Generator build on a single page?
Ten: Article, Product, FAQPage, Organization, Person, LocalBusiness, Event, WebSite, WebPage and ContactPage. Each shows the fields that matter for it, such as sameAs profiles for Organization or opening hours for LocalBusiness. For JobPosting, VideoObject, Recipe, Review and the rest, use the dedicated generators listed under the form.
How does the schema generator pick a type when I paste a URL?
It reads the JSON-LD already on the page and the og:type meta tag. Product, FAQPage, ContactPage, Event and LocalBusiness markup map to their own types, Article or BlogPosting markup or og:type article gives Article, a ProfilePage gives Person, and anything else becomes WebPage. You can change the type in the dropdown at any time.
What is the difference between this tool and the Automatic Schema Markup Generator?
This page is built for one page at a time, with a Whole site tab that drafts a basic block for each crawled page. The Automatic Schema Markup Generator is the tool for whole-site work: it covers more types, compares against the JSON-LD your pages already have and includes install guides. Use it when you need a full audit rather than a quick draft.
Can the schema markup generator output microdata instead of JSON-LD?
Yes. The JSON-LD and Microdata buttons switch the output for the same data, turning each property into itemprop attributes inside itemscope elements, and Download saves either one. Microdata works when the spans wrap the visible text on your page, so it takes more editing. Google recommends JSON-LD, and most sites should stay with it.
How do I test generated JSON-LD in Google's Rich Results Test?
Press Test in Google Rich Results Test under the output. It copies your script and opens the tester, where you paste it into the Code tab. Validate at validator.schema.org checks the same code against the Schema.org vocabulary, and Test live URL checks the page once the markup is published.
Does adding schema markup guarantee a rich result in Google?
No. Valid markup makes a page eligible, but Google decides what to show for each search. Some types have no rich result at all, including AboutPage and ContactPage, and FAQ rich results stopped appearing in Google in May 2026.
What do the errors and warnings in the schema generator's Validation panel mean?
Errors are properties Google requires for that type, such as a price, review or rating on a Product. Warnings are properties Google recommends, plus format problems such as a date that is not ISO 8601 or a price with a currency symbol. You can still copy the block, but it may not qualify for a rich result until the errors are fixed.
How does the Validate code tab check JSON-LD I already have?
Paste JSON-LD, script tags or a whole page's HTML, or fetch a URL. Every item is listed with its type, required-property errors, recommended-property warnings and format checks for dates, durations, URLs, prices and rating ranges. Each item can be copied as JSON-LD or microdata, and an Edit in generator link opens the matching dedicated tool.
How does the Whole site tab decide each page's schema type?
It uses the crawler's page type. FAQ pages become FAQPage with their question and answer pairs, product pages become Product, posts become Article with the H1 as headline, contact pages become ContactPage, about pages become Organization and everything else becomes WebPage. These are starting drafts: a crawled Product block has no price, so the warnings will say so.
Can I copy one JSON-LD block onto every page of my site?
Only for sitewide entities such as Organization or WebSite. Page-level blocks like Article, Product or FAQPage must describe the page they sit on, so each page needs its own. Download all in the crawl tab labels every block with its URL for that reason.

More Schema tools

View all