Schema Markup Generator

Fill in a form to generate JSON-LD for Organization, LocalBusiness, Article, Product, FAQ, Breadcrumb, Event and more.

  • Runs in your browser
  • Free, no sign-up
  • Use the most specific business type that applies.
  • Opening hours format: one line per rule, for example "Mo-Fr 09:00-17:00" or "Sa 10:00-14:00".
Details
Address
Location

At least 5 decimal places.

JSON-LD

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "RoofingContractor",
  "name": "Acme Roofing",
  "url": "https://www.example.com/",
  "telephone": "+1-303-555-0100",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "100 Main St",
    "addressLocality": "Denver",
    "addressRegion": "CO",
    "postalCode": "80202",
    "addressCountry": "US"
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "08:00",
      "closes": "17:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Saturday",
      "opens": "09:00",
      "closes": "13:00"
    }
  ]
}
</script>

Checks

  • All required fields in this form are filled

Field levels follow Google’s structured data documentation for Local business (source).

Test before you publish

Paste the script tag into the page’s HTML, then test the live URL. Valid markup makes a page eligible for rich results but does not guarantee them, and the markup must describe content that is visible on the page.Google Rich Results Test Schema.org validator

How to use the schema markup generator

  1. Choose a schema type. Each field is labelled required, recommended or optional based on Google’s documentation.
  2. Fill in the fields that are true for your page. Empty fields are left out of the output.
  3. Check the list of missing required fields and warnings.
  4. Copy the script tag into your page, then test the live URL with Google’s Rich Results Test.

Worked example

Roofing contractor

Choosing Local business with type RoofingContractor, name, street, city, region, postal code, country and hours "Mo-Fr 08:00-17:00" produces a RoofingContractor JSON-LD block with a PostalAddress and an OpeningHoursSpecification listing Monday to Friday, 08:00 to 17:00.

How it works

Form values are mapped to schema.org properties and nested types (PostalAddress, Offer, Brand, Answer, ListItem and so on). Empty values are removed recursively. The result is checked with the same rules module used by our structured data validator: Google’s documented required and recommended properties, ISO 8601 dates, numeric prices, absolute URLs and currency codes.

Assumptions

  • Rules reflect Google Search Central documentation as checked on 2026-09-25 and may change.
  • Date and time fields without a timezone are output as entered.

Frequently asked questions

Will schema markup give me rich results?

Not necessarily. Valid markup makes a page eligible, but Google decides whether to show rich results, and some types (such as FAQ and HowTo) are no longer shown in Google Search.

Can I add star ratings to my product?

Only if the rating summarises genuine reviews that are visible on the same page. The generator includes a rating only when you enter real values and warns you about Google’s review guidelines.

Where do I put the JSON-LD?

Anywhere in the page HTML, usually in the head or at the end of the body. The content it describes must also be visible on the page.

Limitations

  • Covers common types and properties, not every schema.org option.
  • Does not add markup to your site; you paste it in.