Schema Markup Generator

Create Article, Product or Breadcrumb JSON-LD from your own information. Copy the script or download the JSON and check it before publishing.

Additional details (optional)

Schema markup describes page content in a structured format. JSON-LD is the format of the generated data; types such as Article and Product identify what it describes. Screpy’s free Schema Markup Generator turns your supplied article, product or breadcrumb facts into JSON-LD. Choose the matching type, complete the form and review the output before adding it to your website. You can copy a complete script or download the JSON data.

Generation is the first step. The tool does not read your page, check whether a price or author is correct, install the code or submit it to Google. A useful implementation needs accurate facts, the right page placement and a check of the published result.

Choose a schema type that matches the page

Start with what the visitor can actually read or buy on the page, rather than the search appearance you would like to obtain. This generator has three modes, with three article subtypes:

Page content Choose What the output describes
General editorial article Article The article, headline and author
Blog post BlogPosting An article presented as a blog post
News report NewsArticle A news article
One product with an offer Product The product and one current Offer
A page’s navigation trail Breadcrumb An ordered BreadcrumbList

A category listing is not automatically one Product, and a sales page is not a NewsArticle simply because that option exists. Select the type that truthfully represents the content.

For an address, business contact details or opening hours, use the separate Local Business Schema Generator. The current generator does not create every Schema.org type. Keeping the type accurate is more useful than forcing an unrelated form to accept your information.

Prepare accurate article details

Choose Article, BlogPosting or NewsArticle, then enter the page URL, headline and author name. Those are this form’s required inputs. They should not be confused with universal Google requirements: Google’s current Article documentation describes applicable recommended properties rather than a mandatory field list.

The generated author is one Person. Use a real individual’s name and, when available, their identifying profile URL. Do not enter a publisher’s name as a person or combine several authors into one name to fit the form. Organization authors and multiple authors need an implementation that represents those facts correctly; this screen does not generate those author structures.

Additional details include up to three image URLs and actual publication and modification dates. Use relevant images that can be accessed, not invented addresses or a logo merely to remove a warning. The form accepts calendar dates and rejects a modification date earlier than publication. Do not reset publication to today just because you are adding markup.

Missing image or publication-date warnings are prompts to review real information. They do not make fabricated values acceptable, nor do they establish every requirement of a particular search feature.

Describe one real product offer

Product mode requires the product name, page URL, actual price, currency and availability. Choose the real stock state: InStock, OutOfStock, PreOrder, BackOrder or Discontinued. Optional fields include a description, image URL, SKU and brand. The result contains one Product with one Offer, not a product feed, variant system or automatic stock updater.

For a fictional Trail Bottle priced at 29.90 EUR and currently in stock, the basic structure is:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Trail Bottle",
  "url": "https://example.com/products/trail-bottle/",
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/trail-bottle/",
    "price": 29.9,
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock"
  }
}
</script>

These are illustrative values, not a live offer or a validated merchant listing. This shortened example omits an image, which the generator flags for review. Replace every fictional value and supply an appropriate real image when available. The form accepts zero for a genuinely free offer; zero is not a substitute for an unknown price.

Reviews and aggregate ratings are not generated. Do not invent them to remove a warning from another validator. Google’s Product snippet guidance distinguishes the applicable properties and offer requirements; more extensive merchant experiences can require additional implementation beyond this form.

Build breadcrumbs in the right order

Breadcrumb mode creates a navigation trail with two to ten items. Enter the names in the order that makes sense within the site hierarchy. Every item needs a name; all except the final item need a complete URL. The generator assigns positions starting at one and shows a trail preview, but it does not discover your site structure.

For a fictional checklist page, the input might be:

Position Name URL
1 Guides https://example.com/guides/
2 Hiking https://example.com/guides/hiking/
3 Daypack checklist Optional for this final item

Google’s Breadcrumb documentation allows the last item’s URL to be omitted, using the containing page’s URL instead. Install this trail on the checklist page, not on every page with those same final values.

A preview here does not add visible navigation to your website. Keep the markup consistent with the real hierarchy, and verify any separately rendered breadcrumb links. Do not assume generated markup guarantees the same search display on every device.

Copy and install JSON-LD on the matching page

Copy script gives you the complete HTML script element, including its JSON-LD content. Download gives you schema.json, containing the JSON object without the HTML wrapper. These outputs serve different insertion methods: a CMS field that expects raw JSON needs the data, while an HTML template can accept the complete script.

Google’s structured data introduction describes JSON-LD inside a script element in the page head or body. Use your site’s appropriate template, structured-data field or plugin mechanism. Pasting code into an ordinary paragraph editor may show it as text or remove it instead of installing markup.

Before adding another block, inspect what your CMS or theme already generates. An existing Article and BreadcrumbList can describe different aspects of the same page; the problem is contradictory descriptions of the same article, product or trail. Update the responsible implementation rather than leaving an old price or author alongside a new conflicting version.

The generator safely serializes supplied values for its script block, but it cannot confirm what your CMS ultimately publishes. Save the page, inspect the served output and verify that the intended values remain present. Copying or downloading alone changes nothing on your site.

Validate code, facts and search eligibility separately

Check the installed output in layers:

  1. Confirm that the JSON parses and the script is present on the intended page.
  2. Review the declared types and properties, including any nested objects.
  3. Compare names, prices, dates, images and navigation with the actual page.
  4. Check the current requirements for the search feature you want to support.

Use Structured Data Checker to inspect installed JSON-LD, parsing errors, entities and its selected property checks. Its coverage is limited. A nested Person or Offer, or an article subtype, can fall outside those checks and appear unsupported or partial. That status alone does not mean the generated structure is invalid; review the specific findings and use broader validation where necessary.

Use Google’s Rich Results Test for supported search features. Treat missing recommended information as a review task, not an invitation to add invented ratings, images or dates. Correct syntax also cannot establish that a real person wrote an article or that an offer is still available.

Google’s general structured data guidelines require relevant, accurate, current page information and applicable feature rules. Even correctly marked-up pages are not guaranteed a rich result. A property count in this generator measures output size, not completeness or an SEO score.

Keep the markup synchronized with future changes

Regenerate or update the responsible template when a price, stock state, author, meaningful article date or page hierarchy changes. Publish the visible facts and their markup together, then inspect the page again. This generator does not monitor later changes or update an existing installation automatically.

For translated pages, use the matching language’s headline, product description and breadcrumb labels, along with that version’s correct URLs and actual offer details. Keep technical property names such as headline and priceCurrency unchanged. A different interface language does not translate the facts you enter or create localized page versions for you.

Save the reviewed inputs and installation location with your own release notes. That makes the next update a concrete change to a known source instead of another isolated script that can drift away from the page.

Schema markup generator questions

Create Article, Product or Breadcrumb JSON-LD from your own information. Copy the script or download the JSON and check it before publishing.

Where do I install the result?

Add the copied script to the corresponding page template and inspect the published HTML. Copying or downloading does not change your website. Keep the facts synchronized with the page.

Can I generate product reviews or ratings?

No. Product mode uses the actual offer price, currency and stock status. It does not invent reviews or aggregate ratings and does not replace a merchant feed or full listing configuration.

Should I invent an image or date to remove a warning?

No. Use relevant real images and accurate dates when they apply. A warning asks you to review missing information; supplying a fabricated value does not establish valid or eligible markup.

Can I use an organization or several people as the article author?

The current article form generates one Person author. Organization authors and multiple authors need markup that models those facts correctly. Do not put an organization or a comma-separated list of people into one Person name merely to fit the form.

Which schema types can I generate?

Article, BlogPosting, NewsArticle, Product with a single Offer, and BreadcrumbList. Local business information uses the separate Local Business Schema Generator.

How should I use schema on translated pages?

Use the matching page language for headlines, descriptions and breadcrumb labels, and the correct URLs and real offer details for that version. Keep technical JSON-LD property names unchanged. The generator does not translate inputs automatically.

Does generating the script guarantee a Google rich result?

No. The generator builds code from your inputs without checking the live page or all eligibility requirements. Validate the installed markup and follow the current rules for the selected type.

What is the difference between copying the script and downloading JSON?

Copy script includes the HTML script element. The downloaded schema.json contains the JSON object only. Use the format expected by your template or CMS field and verify the published output.