Schema Markup Generator
Use cases
Seven schema types: FAQ (FAQPage with Q&A pairs), HowTo (steps), Article (NewsArticle/BlogPosting), Product (pricing/reviews), LocalBusiness (address/hours), Breadcrumb, Video.
Dedicated generation functions per type.
Output wrapped in <script type="application/ld+json"> tags.
Platform
Browser-based (no installation required)
Input
Schema type selection
Required fields (vary by type)
Optional properties per schema spec
Output
JSON-LD wrapped in script tags. Copy to clipboard or download as .html file.
Features
- Seven schema types (no API required)
- FAQPage with multiple Q&A pairs
- HowTo with configurable steps
- Product with pricing and reviews
- Download as .html file
How to use
- 1 Select schema type (FAQ/HowTo/Article/Product/etc.)
- 2 Fill required fields for chosen type
- 3 Add optional properties if needed
- 4 Preview formatted JSON-LD
- 5 Copy code or download .html file
Frequently asked questions
- How do I format time and duration fields like Total Time?
- HowTo Total Time and Video Duration must be in ISO 8601 duration format, not plain text. Write PT30M for 30 minutes or PT5M30S for 5 minutes 30 seconds. The tool passes your value straight into the JSON-LD without converting it, so '30 minutes' would produce invalid markup.
- Why is priceValidUntil appearing in my Product schema when I did not set it?
- The Price Valid Until field is a date picker that defaults to today's date, and the code includes it whenever it has a value, which is always. If you do not actually have a price expiry date, delete the priceValidUntil line from the generated JSON before publishing, otherwise your offer will claim the price expires today.
- Why is dateModified missing from my Article schema?
- The tool only includes dateModified when it differs from datePublished. Both date pickers default to today, so if you leave Date Modified untouched it matches Date Published and gets dropped. Set it to a different date if you want it in the output.
- What happens to fields I leave blank?
- Optional fields are simply omitted from the JSON-LD rather than output as empty strings, with one exception: the Offer url in Product schema is always included and will be an empty string if you leave Product URL blank. Empty FAQ pairs, empty HowTo steps and unnamed breadcrumbs are silently skipped, so the position numbering in the output only counts completed entries.
- What do I need for review stars to appear in Product schema?
- The aggregateRating block is only generated when you fill in both Average Rating and Number of Reviews; providing just one produces no rating markup at all. Best and worst rating default to 5 and 1. Also note Google requires reviews to genuinely exist on the page, so only add these if you actually display them.
- Does the tool validate the markup against Google's requirements?
- No. It builds structurally valid JSON-LD from your inputs but performs no validation of content, URLs or Google rich result eligibility. Run the output through the Google Rich Results Test or the Schema.org validator before deploying, especially for Product and LocalBusiness where Google has extra requirements.
Want me to run this for you?
I run this tool as a managed service, or build something custom around your data. You get the insights without touching the code.
Related Tools
Generate regex patterns from plain English descriptions for SEO tasks.
Identify page templates by analyzing HTML structure patterns.
Find lost URLs via Archive.org and auto-map redirects using fuzzy matching.
Use GPT to generate hierarchical sitemap structures from keywords.
Extract all URLs from XML sitemap indexes and child sitemaps.
Preview how your page appears when shared on social media.
Need something built for your business?
This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.
Tell Me What You Need