Skip to content
Free tools Let's talk

Free tool

JSON-LD schema generator

Pick a type, fill in the fields and copy schema markup ready to paste into your page. Every change is checked as you type against the properties Google documents for that rich result, and you can paste existing JSON-LD to check it too. It all runs in your browser.

1What the page is about

Schema type

2The detailsFields marked Required are needed for the rich result

3Your code

JSON-LD

      
Checks

    "No errors" here means the code is valid JSON and has the properties Google documents for this type. That is not the same as valid Schema.org for every property, a type Google supports for a rich result, or eligibility: valid structured data never guarantees a rich result, and Google decides whether to show one. A quick check written from Google's published documentation, not Google's own test. Before you rely on it, run the live page through the Rich Results Test and the Schema Markup Validator.

    The code is built and checked in your browser. What you type is only shared with DEMARCA if you choose to include your result in an enquiry and submit the form.

    Beyond the tool

    Markup is the easy part. Matching it to the page is the job.

    We audit the structured data across your site, fix what your theme or plugins get wrong and keep the markup true to each page, alongside the rest of your technical and on-page SEO.

    Get an SEO proposalA fixed-price proposal within one working day

    The guide

    Schema Generator: the complete guide

    8 referencesMethodology and limitsUpdated 15 October 2026

    Built and maintained by the designers and marketers at DEMARCA, an award-winning design studio in Portugal.

    On this page
    1. How to generate schema markup
    2. Which schema type each page needs
    3. What Google shows today, and what it stopped showing
    4. Required, recommended, and the rules that matter more
    5. Where to paste the JSON-LD code
    6. How to check schema markup
    7. Methodology and limits
    8. Sources

    How to generate schema markup

    1. Pick the type that matches the page. One page usually has one main subject: your business on the home or contact page, a post on an article page, an item on a product page. The box under the types says what Google does with each one today.
    2. Fill in what the page actually shows. Fields marked Required are the ones Google needs before it can show that rich result; Recommended ones add detail. Leave a field empty rather than invent a value: empty fields are left out of the code.
    3. Read the checks. Errors are things that stop a rich result, such as a missing address or a price with a dollar sign in it. Warnings are optional properties worth adding. Tips are notes about how Google uses the type.
    4. Copy the code into that page. Paste the whole script tag into the page's HTML, then test the published page with Google's Rich Results Test. Rich results can take days or weeks to appear after Google recrawls the page, and Google never promises them.

    The generator writes JSON-LD, the format Google recommends for structured data because it sits in one script block instead of being woven through your HTML. People search for a schema generator, a schema markup generator or a JSON-LD generator; all three mean this kind of tool. It is not a JSON Schema generator, which is a developer tool for describing API data.

    Which schema type each page needs

    Most small business sites need three or four types, each on the pages where it belongs. Marking every page as the same LocalBusiness, or putting product markup on a category page, is the most common mistake we see.

    PageTypeWhat Google can do with it
    Home page of a company or brandOrganization and WebSiteLogo and details for the knowledge panel; the site name shown above your results
    Home or contact page of a business with premises or a service areaLocalBusiness, or a more specific type such as Dentist or PlumberAddress, hours and phone for local results, alongside your Google Business Profile
    Blog post or news storyArticle, BlogPosting or NewsArticleThe right headline, image, author and dates in results, Top stories and Discover
    A single product you sellProduct with an OfferPrice, availability and ratings under the result, and shopping listings
    A concert, class, webinar or open dayEventDate, place and tickets in event results
    Any page deeper than the home pageBreadcrumbListA breadcrumb trail in place of the plain URL line
    An author or team member's pagePersonNo rich result of its own; links the person to the articles they write
    A page of questions and answers you wroteFAQPageRich results only for well-known government and health sites

    Where Google offers a more specific type, use it. A dental practice is better described as Dentist than as a plain LocalBusiness, and a blog post as BlogPosting. The specific type inherits every property of the general one, so nothing is lost.

    What Google shows today, and what it stopped showing

    Many schema generators still offer types that no longer change anything in Google, and some guides still promise FAQ dropdowns. The rules changed several times since 2023:

    • FAQ rich results are limited to well-known, authoritative government and health websites since August 2023. Other sites can keep FAQPage markup, and it does no harm, but the questions will not expand under the result.
    • HowTo rich results were removed from Google Search in 2023, first on mobile and then on desktop. This generator does not offer HowTo, and the checker says so if it finds it.
    • The sitelinks search box, the search field that used to appear under some brand results, was retired by Google in November 2024. A SearchAction in WebSite markup no longer has any effect in Google, so the generator leaves it out.
    • Less used features, such as Course info, Claim review, Estimated salary, Learning video, Special announcement and Vehicle listing, were phased out in 2025 as part of a simplification of the results page.

    What still works: product snippets with prices and review stars, merchant listings, events, articles, breadcrumbs, local business details, organization logos and site names, along with types this page does not cover, such as recipes, job postings and videos. Google keeps the full list in its search gallery, and that page is the one to trust when this list goes out of date.

    Google splits each type's properties in two. Required properties must be there for the rich result to be possible at all: a LocalBusiness needs a name and an address, an Event needs a name, a start date and a location, a Product needs a name and at least one of an offer, a review or a rating. Recommended properties make the result richer and more likely to be chosen. The checks on this page follow those lists for each type.

    Keep four levels apart. Valid JSON means the code parses. Valid Schema.org means the types and properties exist in the vocabulary. A Google-supported type is one listed in Google's search gallery with a rich result of its own; Person, for example, has none, and FAQPage is limited to well-known government and health sites. Eligibility means the page also meets Google's policies, and even then Google chooses whether to show the result. Valid structured data never guarantees a rich result.

    Valid markup is still not enough. Google's structured data policies add rules that no validator can check for you:

    • Describe what is on the page. Every price, date, question and rating in the markup must be visible to visitors on that same page. Markup about content people cannot see breaks the guidelines.
    • No reviews of yourself. Star ratings that a business collects about itself and places on its own site are not eligible for review rich results on LocalBusiness and Organization markup. Ratings belong on products and on things you review, and they must come from real customers.
    • Keep it current. A sold-out product marked InStock, or last year's event date, is misleading. Update the markup when the page changes, or generate it from the same data as the page.

    Breaking these rules can lead to a manual action in Search Console, which removes rich results from the whole site until it is fixed.

    Where to paste the JSON-LD code

    The script tag can go anywhere in the page's HTML. The head is the convention; just before the closing body tag works the same. Each block goes only on the page it describes.

    • WordPress. Yoast, Rank Math and similar plugins already output Organization, WebSite, Article and breadcrumb markup. Check what they produce first, then add only what is missing, through the plugin's custom schema option or a plugin that inserts code into the header of chosen pages.
    • Shopify. Most themes mark up products already. Add other types to the theme template for that kind of page, or to a custom Liquid section, and check the theme's output with the checker here so you do not end up with two Product blocks for one item.
    • Squarespace, Wix and Webflow. Each has a code injection or custom code setting per page. Use the page level setting, not the site-wide one, unless the markup really applies to every page.
    • Google Tag Manager. Google reads JSON-LD that is added with JavaScript, including through a Custom HTML tag, as long as it is in the rendered page. It is slower to be picked up than markup in the HTML, so use it when you cannot edit the site.

    JSON-LD is one of three formats. Microdata and RDFa put the same information in attributes on your HTML elements. Google reads all three, but recommends JSON-LD because it is easier to write and to maintain, and you can mix formats on one page if a plugin uses another.

    How to check schema markup

    There are three different checks, and they answer different questions:

    CheckWhat it tells youWhen to use it
    The checker on this pageBroken JSON with the line, the types found, and missing required or recommended properties for the 9 types aboveWhile you write or edit code, before it goes live
    Google Rich Results TestWhich rich results Google can show for a URL or a code snippet, and Google's own errors and warningsAfter publishing, and whenever a rich result disappears
    Schema Markup ValidatorWhether the markup is valid schema.org, for every type, whether or not Google uses itFor types Google has no rich result for, such as Person

    Once the pages are live, the Enhancements reports in Google Search Console list errors across the whole site for the rich result types it found, which is how you catch a theme update that broke the markup on every product page. Search for a schema validator and you will find many tools; only Google's test reflects what Google itself will show.

    Methodology and limits

    Generating
    Each type writes JSON-LD with "@context": "https://schema.org" and the type you choose. Empty fields are left out, and objects left empty (an address with no lines, for example) are removed. Dates and times are written in ISO 8601 with the UTC offset you pick, which defaults to your device's time zone. Characters that could close the script tag early are escaped.
    Required and recommended
    The Required and Recommended labels and the checks follow Google Search Central's documentation for each feature: Organization, Local business, Article, Product snippets and Merchant listings, Event, FAQ, Breadcrumb and Site names. Person has no Google rich result of its own, so its checks only cover what makes it useful elsewhere: a name, a URL and profiles.
    Value checks
    URLs must be absolute and start with http or https. Dates must be ISO 8601. Prices must be plain numbers with a dot for decimals, currencies three-letter ISO 4217 codes, GTINs 8, 12, 13 or 14 digits with a valid check digit, and ratings inside the best and worst rating (5 and 1 by default). Phone numbers without a country code and example.com addresses left from the sample are flagged.
    Checking pasted code
    Script tags of type application/ld+json are taken from what you paste; if there are none, the whole text is read as JSON. Syntax errors are reported with the line and column from your browser's JSON parser, with hints for the usual causes: trailing commas, curly quotes, single quotes and comments. Top-level items, arrays and @graph lists are checked one by one; nested items are checked as part of their parent.
    Limits
    This is not Google's validator and cannot see your live page, so it cannot tell whether the markup matches the visible content, whether Google will choose to show a rich result, or whether a type outside these 9 is valid. Microdata and RDFa are not read.

    Sources

    Show all 8 sources

    FAQ

    Questions people ask

    What is a schema generator?

    A form that writes schema.org structured data for you. You type the facts about a business, an article, a product or an event, and it returns a JSON-LD script ready to paste into the page. This one also checks the result as you type, against the properties Google documents for each type, so you see what is missing before you publish.

    How can I generate schema for my website?

    Pick the type that matches what the page is about (Organization or LocalBusiness for the home or contact page, Article for a post, Product for a product page, Event for an event), fill in the fields and copy the code. Paste it into that page only, and describe only what a visitor can see on it. Most sites need two or three types, each on the pages where it fits, not one block copied site-wide.

    How do I check if my schema is valid?

    Paste your code into the Check tab above for a quick read: it finds broken JSON, shows the line, and lists missing required and recommended properties for the types it knows. Then run the live page through Google's Rich Results Test, which is the only test that says what Google itself can show, and through the Schema Markup Validator at validator.schema.org for general schema.org errors.

    What does a schema validation error mean?

    Usually one of three things: the JSON is broken (a missing comma, a trailing comma or curly quotes pasted from a word processor), a property Google requires for that rich result is missing, or a value has the wrong format, such as a date that is not ISO 8601 or a price with a currency symbol in it. Errors stop the page from getting that rich result. Warnings only mean optional properties are empty.

    Is this the same as a JSON Schema generator?

    No. JSON Schema describes the shape of data for developers and APIs, so a JSON Schema generator turns sample JSON into validation rules. This tool writes schema.org markup, which tells search engines what a web page is about. The names are similar; the jobs are not.

    Can I generate FAQ schema?

    Yes, FAQPage is one of the types. Since August 2023 Google shows FAQ rich results only for well-known, authoritative government and health websites, so for most businesses the markup will not add the dropdowns under the result. It still describes the questions on the page clearly for any system that reads structured data, and it costs nothing to keep if the questions are visible on the page.

    Does the schema work on Shopify or WordPress?

    Yes. JSON-LD is a plain script tag that any platform accepts. In Shopify, add it to the theme template for that page type or to a custom Liquid section; in WordPress, use your SEO plugin's custom schema option or a plugin that adds code to the header. Check first what the theme or plugin already outputs: Shopify themes usually mark up products, and SEO plugins usually add Organization, WebSite and Article, and two competing blocks of the same type confuse more than they help.

    Will schema markup improve my rankings?

    Not directly. Google says structured data helps it understand a page and can make the page eligible for rich results, such as review stars, prices or event dates under the link. Those can make a result more noticeable, but Google does not promise any rich result, and markup on a weak page does not move it up. Treat it as accurate labelling of good content, not as a ranking trick.

    Where do I paste the JSON-LD code?

    Anywhere in the HTML of the page it describes: inside the head is the convention, before the closing body tag works just as well. Google also reads JSON-LD that is added by JavaScript, including through Google Tag Manager, as long as it is in the rendered page. Put each block only on the page it describes, and update it when the page changes.

    More free tools

    See all 52 tools

    Technical SEO

    Let's make something matter.

    We audit the structured data across your site, fix what your theme or plugins get wrong and keep the markup true to each page, alongside the rest of your technical and on-page SEO. Independent design and marketing studio in Portugal. Senior-led projects, transparent pricing and clearly defined deliverables for international clients.

    • A reply from a designer within one working day
    • A fixed-price proposal before any work starts
    • Senior-led work with clearly defined deliverables
    • Clients in Portugal, across Europe and further afield

    Request a quote

    Prefer email? hello@wearedemarca.com