Skip to content
See guides

SEO Tools · Attract

Schema Generator

Schema is structured data you add to a page so Google can understand it. This tool builds JSON-LD (a script you paste in the HTML) for types like Article, FAQ, HowTo, Organization or Product.

The tool

Try it here

Use this when the page is real and the facts are true. Schema that does not match the page can get ignored or cause a rich-result issue.

JSON-LD you can paste

JSON-LD

Paste in the page. Invalid JSON will not help rich results.

Why it helps

Why you need a Schema Generator

JSON-LD is the format Google prefers: a JSON block in a script tag. You paste it. You do not have to wrap every HTML element in extra attributes.

The type has to match the page. FAQ schema on a page with no FAQs is a mismatch. Article schema on a thin pricing table is a mismatch.

Schema is not a ranking cheat. It describes what is already on the page. Write the content first. Then mark it up.

JSON-LD IS A LABEL, NOT RANKING MAGICJSON-LD IS A LABEL, NOT RANKING MAGICTypeFAQ / ArticleJSON-LDin the pageVisible copymust matchSchema that is not on the page is spam. FAQ JSON must match visible Q&A.Invalid JSON is ignored. Paste, then validate.
Rich results are optional. Clear titles are not.

When

When to use it

  • When you publish an article, a how-to, or a product page that should be explicit to Google.
  • When the page already has FAQs and you want FAQ schema that matches those questions.
  • When Search Console reports a structured-data issue you can fix with valid JSON-LD.
  • Together with the page analyzer, before go-live.

How

How to use it

  1. 1Pick the type that matches the page: Article, FAQ, HowTo, Organization or Product.
  2. 2Fill only fields that are true and visible (name, URL, description, questions you actually answer).
  3. 3Generate the JSON-LD. Copy the block.
  4. 4Paste it in the page (often in the head or before </body>). Do not paste two conflicting types for the same thing.
  5. 5Test in Google’s Rich Results Test if you are claiming a rich result.

Example

Example: JSON-LD for Acme’s demo page

https://acme.com/demo is a software demo booking page. Paid traffic from google-in-demo-exact-2026q3 lands here. Schema should describe the software, not a news article.

You put in

Type
SoftwareApplication
Name
Acme
URL
https://acme.com/demo
Description
30-minute product demo. Book a slot. Free to browse.

You get

{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Acme",
  "url": "https://acme.com/demo",
  "description": "30-minute product demo. Book a slot. Free to browse."
}

Paste that JSON-LD on /demo. It restates facts already on the page. Do not mark this URL as NewsArticle. If you add FAQ schema, the questions must appear on the page too.

Result

What this changes for you

Google can read the page type, the headline, the FAQ, or the product more clearly. You may get richer results. You always get cleaner markup than a guess in the CMS.

Common mistakes

  • Marking up offers, ratings or FAQs that are not on the page. That can violate Google’s guidelines.
  • Pasting three JSON-LD blocks that disagree (Organization name vs Product name vs leftover test data).
  • Using Article schema on a tool or calculator page. Pick a type that fits, or skip it.
  • Treating schema as a substitute for a real title, H1 and content. Markup cannot save an empty page.

FAQ

Schema Generator FAQ

What is schema markup?

Schema markup is structured data that describes a page in a way search engines can parse. Common types include Article, FAQ, HowTo, Product and Organization.

What is JSON-LD schema?

JSON-LD is a JSON script you paste into the page. Google recommends it for schema. It sits in a script tag and does not change how the page looks.

Does schema help SEO rankings?

Schema is not a magic ranking boost. It helps Google understand the page and can enable rich results when you follow the guidelines. The content still has to be good.

Where do I paste JSON-LD schema?

In the HTML of that URL, usually in the head or near the end of the body, inside a script type="application/ld+json" tag. Keep it on the page it describes.