Xerobit

Schema Markup Generator for JSON-LD Structured Data

Select a schema type, fill in the fields and get a ready-to-use JSON-LD script tag. This schema markup generator supports Article, Product, Organization, Person, Event, BreadcrumbList, WebSite, HowTo and VideoObject types. It runs entirely in your browser so no data is uploaded anywhere.

Add any additional schema.org properties, one per line.

JSON-LD Script Tag

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "My Page"
}
</script>

How to use the json-ld generator

  1. Choose a schema type from the dropdown, such as Article, Product or Organization.
  2. Fill in the relevant fields like name, URL, description and author. Leave unused fields blank.
  3. Add any extra schema.org properties in the key: value textarea for fields not shown above.
  4. Click Generate to produce the JSON-LD script tag.
  5. Copy the output and paste it into the <head> or <body> of your HTML page.

What is a schema markup generator?

A schema markup generator creates structured data in JSON-LD format that search engines read to understand your page content. Instead of writing the JSON by hand and risking syntax errors, you fill in plain fields and the tool outputs a complete <script type="application/ld+json"> block.

This json ld generator covers nine common schema.org types: Article, Product, Organization, Person, Event, BreadcrumbList, WebSite, HowTo and VideoObject. Each type maps the input fields to the correct property names defined by schema.org. For example, the price field becomes offers.price inside a Product type, while it is ignored for an Article.

How the JSON-LD output is built

The tool constructs a JavaScript object starting with the required @context set to https://schema.org and the @type matching your selection. Every non-empty field is added using the exact property name from the schema.org vocabulary. Strings are escaped so that quotes, backslashes, control characters and less-than signs do not break the JSON or the script tag. The URL, image, date, price and currency fields are checked before anything is generated.

Consider a Product named "Wireless Mouse" priced at 29.99 USD. The generator builds this structure:

{ "@context": "https://schema.org", "@type": "Product", "name": "Wireless Mouse", "offers": { "@type": "Offer", "price": "29.99", "priceCurrency": "USD" } }

The final output wraps this JSON in a script tag. Because the json ld schema generator handles nesting automatically, you do not need to write the inner offers object yourself.

Supported schema types and their key properties

Each type uses specific properties. Here is a reference table showing which input fields map to which schema.org properties for the most common types.

TypeName field maps toSpecial handling
Articleheadlineauthor nested as Person, datePublished used directly
Productnameprice and currency nested inside an Offer under offers; the author or brand field becomes brand
Organizationnameimage mapped to logo
Personnameno special nesting
EventnamedatePublished mapped to startDate
BreadcrumbListoptional nameuse extra fields for the itemListElement array
WebSitenameurl is the site URL
HowTonameno steps are generated, so add a step array in the extra fields
VideoObjectnameimage mapped to thumbnailUrl

If you need a dedicated FAQ page, use the FAQ schema generator instead. For physical storefronts, the local business schema generator provides the right LocalBusiness properties.

Using the extra fields for advanced properties

The extra fields textarea lets you add any property that does not have a dedicated input. Write each property on its own line in key: value format. The json-ld schema markup generator parses these lines and adds them to the root object.

For example, to add a logo and contact email to an Organization, enter logo: https://example.com/logo.png on one line and email: info@example.com on the next.

Values that look like JSON arrays or objects (starting with [ or {) are inserted as raw JSON rather than quoted strings, and invalid JSON is rejected with an error. Every other value is written as text, so a sku such as 0123 keeps its leading zero. This allows you to build complex structures like itemListElement for BreadcrumbList or step arrays for HowTo without leaving the tool.

Common mistakes when adding structured data

Even with a schema markup generator, placement and validation matter. Paste the script tag into your HTML <head> section or just before the closing </body> tag. Do not place it inside visible content areas where a CMS might strip it.

Another frequent error is providing incomplete data. A Product without a price or an Article without a headline will still generate valid JSON, but search engines may ignore it because required properties are missing. Always check the schema.org documentation for your chosen type to see which properties are recommended.

After generating your markup, test it with a validator. You can paste the JSON into a JSON schema validator to confirm it parses, check property names with the Schema Markup Validator at validator.schema.org, or use Google's Rich Results Test.

Worked examples

ExampleInputResult
Blog articleSchema type: Article; Name or headline: Understanding Structured Data; URL: https://example.com/blog/structured-data; Description: A guide to adding JSON-LD to your website.; Author or brand name: Jane Doe; Date published or start date: 2024-03-10<script type="application/ld+json"> / { / "@context": "https://schema.org", / "@type": "Article", / "headline": "Understanding Structured Data", / "description": "A guide to adding JSON-LD to your website.", / "mainEntityOfPage": "https://example.com/blog/structured-data", / "author": { / "@type": "Person", / "name": "Jane Doe" / }, / "datePublished": "2024-03-10" / } / </script>
E-commerce productSchema type: Product; Name or headline: Wireless Mouse; Description: Ergonomic wireless mouse with USB receiver.; Image URL: https://example.com/mouse.jpg; Price: 29.99; Currency code: USD; Extra fields (key:value per line): brand: TechCo / sku: WM-100<script type="application/ld+json"> / { / "@context": "https://schema.org", / "@type": "Product", / "name": "Wireless Mouse", / "description": "Ergonomic wireless mouse with USB receiver.", / "image": "https://example.com/mouse.jpg", / "offers": { / "@type": "Offer", / "price": "29.99", / "priceCurrency": "USD" / }, / "brand": "TechCo", / "sku": "WM-100" / } / </script>
OrganizationSchema type: Organization; Name or headline: Acme Corp; URL: https://acme.example.com; Extra fields (key:value per line): logo: https://acme.example.com/logo.png<script type="application/ld+json"> / { / "@context": "https://schema.org", / "@type": "Organization", / "name": "Acme Corp", / "url": "https://acme.example.com", / "logo": "https://acme.example.com/logo.png" / } / </script>
EventSchema type: Event; Name or headline: Tech Conference 2024; URL: https://example.com/events/techconf; Date published or start date: 2024-09-15; Extra fields (key:value per line): location: San Francisco, CA<script type="application/ld+json"> / { / "@context": "https://schema.org", / "@type": "Event", / "name": "Tech Conference 2024", / "startDate": "2024-09-15", / "url": "https://example.com/events/techconf", / "location": "San Francisco, CA" / } / </script>

FAQ

What is JSON-LD and why should I use it?

JSON-LD stands for JavaScript Object Notation for Linked Data. It is the structured data format Google recommends because it can be placed anywhere in the HTML without altering the visible page layout.

Does this schema markup generator support all schema.org types?

It covers nine commonly used types including Article, Product, Organization, Person, Event, BreadcrumbList, WebSite, HowTo and VideoObject. For other properties, use the extra fields textarea. Note that Google no longer shows how-to rich results, although HowTo remains valid schema.org markup.

Where do I paste the generated JSON-LD?

Place the entire script tag inside the head section of your HTML document. Alternatively, you can put it at the end of the body. Search engines will find it either way.

Is my data sent to a server?

No. This json ld generator processes everything locally in your browser. Nothing you type is uploaded or stored anywhere.

Can I add properties that are not in the form?

Yes. Use the extra fields textarea and write each property as key: value on a separate line. Values that start with a bracket or brace are treated as raw JSON.

How do I validate the output?

Copy the generated JSON portion and run it through the Schema Markup Validator at validator.schema.org or Google's Rich Results Test. A JSON schema validator only confirms that the text is valid JSON, not that the schema.org properties are right.