# Schema Markup Checker

> Find and test every JSON-LD block on a page. Lists schema.org types, including @graph, flags invalid JSON and missing fields, and counts microdata.

Use it free at https://swipetolaunch.com/tools/schema-markup-checker

## How to use it

1. **Paste a URL.** The page whose structured data you want to see.
2. **Check schema.** We extract every application/ld+json script, parse it, and walk @graph and nested objects for types.
3. **Review each block.** Invalid JSON is flagged with the parser's error. Valid blocks show their types, warnings and pretty-printed JSON.

## What schema markup does

Schema markup is structured data, written in the schema.org vocabulary, that tells search engines exactly what a page is about: this is a Product with a price, this is an Article by this author, these are the questions in an FAQ. Google uses it to show rich results such as star ratings, breadcrumbs and product details, and AI answer engines read it to understand entities. It does not directly raise rankings, but it makes the result more informative, which can lift clicks.

## JSON-LD, microdata and RDFa

There are three ways to add structured data. **JSON-LD** is a script block in the page and is what Google recommends. **Microdata** puts `itemscope` and `itemtype` attributes on the HTML itself. **RDFa** is similar and rare today. This checker parses JSON-LD in full and counts microdata types so you can see if a theme is adding old markup alongside the new.

## Common problems the checker catches

- **Invalid JSON.** A trailing comma or an unescaped quote breaks the whole block, and search engines then ignore all of it. The error message points at the cause.
- **No @context.** Without `"@context": "https://schema.org"`, the types do not resolve.
- **Missing required properties.** An Article without a headline, a Product without a name, an Event without a start date.
- **Duplicate entities.** Two Organization blocks from two plugins, often with conflicting details.

## @graph and nested types

Many sites put several entities in one `@graph` array: WebSite, Organization, WebPage and BreadcrumbList together. The checker lists every type it finds, including nested ones like an ImageObject inside a logo, so you can see the full picture.

## Passing this check is not the same as earning a rich result

Valid markup is required, but Google decides whether to show a rich result based on the page, the query and its own policies. Use Google's Rich Results Test for eligibility once the JSON is clean. To write new markup, use the [schema markup generator](/tools/schema-markup-generator) or the [FAQ schema generator](/tools/faq-schema-generator).

## What you get

- Every application/ld+json block, parsed
- Types from @graph, arrays and nested objects
- Invalid JSON flagged with the parser error
- Required-field warnings for common types
- Microdata itemtype counts

## Questions

### How do I check if a page has schema markup?

Paste its URL above. The tool lists every JSON-LD block it finds and every microdata type. If nothing shows, the page has no structured data in its HTML.

### Is JSON-LD better than microdata?

Google recommends JSON-LD because it sits in one script block, separate from the visible HTML, which makes it easier to add and maintain. Both work if they are valid.

### Why is my schema not showing in Google?

Valid markup is necessary but not enough. Google shows rich results only for supported types, when the page meets its content guidelines, and when it judges the result useful for the query. It can also take weeks after a recrawl.

### Does this replace Google's Rich Results Test?

No. This tool is a fast way to see and debug the raw JSON-LD on any page. Google's test checks eligibility for specific rich result features after rendering the page.
