RunLocalTools

JSON-LD Schema Generator — Free Structured Data Builder, Validator & Repair Tool

Build, import, repair and validate schema.org JSON-LD for articles, products, local businesses, events, jobs and more. Free, runs in your browser, no signup.

What it does

Build schema.org structured data from simple forms, then copy it as JSON-LD, Microdata, RDFa, a WordPress snippet, a GTM tag or a Next.js component. You can also paste an existing page or JSON-LD block to find what is wrong with it, repair it, and keep editing. Everything is checked against Google’s current requirements as you type.

It covers 24 types: Organization, Local business (40+ subtypes), Person, Profile page, Service, WebSite, WebPage, Breadcrumbs, Article, FAQ, How-to, Q&A, Recipe, Video, Dataset, Book, Movie, Item list, Product (with variants, shipping and returns), Software app, Course, Review, Event and Job posting. A custom JSON node handles anything else.

How it works

Each page is a set of linked nodes. Add an Organization, a WebSite and an Article, and the tool connects them with @id references (an Article’s publisher points at your Organization node instead of repeating it). Output is a single @graph, or one script block per node if you prefer.

Validation runs locally as you type. It checks required and recommended properties, absolute URLs, real calendar dates, ISO 8601 durations, currency and country codes, rating scales, and rules that span fields, such as an event ending before it starts or a product with no offer, review or rating. Problems are marked on the field itself.

Each type carries a Google status badge (active, limited, vocabulary only, or retired) so you know whether the markup can still earn a rich result. Output is escaped so a stray </script> or <!-- in your text cannot break the page.

How to use it

  1. Pick a preset, or add nodes from the menu. Fill in the required fields first, then the recommended ones.
  2. Link nodes together: choose “Link to” on fields like author or publisher, or fill them in inline.
  3. Fix anything marked red. Warnings are worth reading but will not break the markup.
  4. Choose a format and indent, then copy or download. Use the WordPress, GTM or Next.js tabs for ready-to-paste wrappers.
  5. To fix an existing page, open Import & repair and paste the JSON or the page’s HTML. Straight quotes, trailing commas and http://schema.org are fixed for you, and a report lists every change.
  6. For many pages, open Bulk CSV, drop a file, check the column mapping and download one file per row. The CSV cleaner is useful first if your export has stray whitespace or odd encodings.

Once you publish, check your social sharing tags too: the OG / social preview checker & generator covers Open Graph and Twitter cards, which are separate from schema.org. If an import fails and you need to find the broken spot by hand, the JSON formatter helps.

Supported formats

  • Output: JSON-LD (script tag), raw JSON, Microdata, RDFa, WordPress wp_head snippet, GTM Custom HTML, Next.js / React.
  • Import: JSON-LD from .json, .jsonld, .html files or pasted text, including pages with several blocks and @graph. Microdata and RDFa pages are detected but not imported.
  • Bulk: CSV, TSV or semicolon-separated files with a header row. Use | to separate several values in one cell.

Limitations

  • Microdata and RDFa output is generated from your data using meta and link tags. Google expects structured data to match what visitors can see on the page, so make sure it does.
  • Google changes which rich results it shows. The status badges were last reviewed on 2026-10-02; check Google’s documentation before relying on one.
  • Multiple authors in an imported page are kept exactly as they were but shown under “Extra properties” rather than as separate form fields.
  • The search-result previews are rough mock-ups, not Google’s real rendering.

FAQ

Does FAQ markup still give me rich results?

No. Google stopped showing FAQ rich results on 7 May 2026 and removed them from its Rich Results Test and Search Console reports. How-to rich results ended in 2023. The markup is still valid schema.org and this tool still builds it, but it is labelled as retired so you do not expect a search result change.

JSON-LD, Microdata or RDFa: which should I use?

JSON-LD. Google recommends it, it sits in one block instead of being woven through your HTML, and it is easier to maintain. Microdata and RDFa are offered for sites that already use them or whose templates cannot hold a script block.

Required means Google will not consider the page for that rich result without it. Recommended means the result is richer and more likely to be useful with it. Article has no strictly required properties, so most of its fields are recommended.

Do I need an @id for every node?

No. Leave it blank and the tool assigns one only when another node refers to it. Set your own (like #organization) if you want stable references across pages. Fill in the site base URL in the sidebar to get full URLs instead of fragments.

Will importing change or lose my existing markup?

Imported properties the form doesn’t know are kept as-is, as are types without a form (loaded as Custom JSON). The auto-fix report lists everything that was changed, such as casing, http to https, and plain-text authors converted into objects.

Is the generated markup guaranteed to be accepted by Google?

No tool can promise that. This one catches the common errors locally. For a final check, use Google’s Rich Results Test or the Schema.org validator; the links next to the output copy your markup first so you can paste it there.

Privacy

Almost everything runs locally in your browser. Your forms, imports, CSV files and output are never sent to a server. They are saved in this browser (IndexedDB and local storage) so a refresh does not lose your work, and the Clear all saved data button in the sidebar removes all of it. Bulk ZIP downloads load a small ZIP library from a public CDN the first time; none of your data is sent when it does.

Two optional features use the internet, and both are off until you tick a box:

  • Fetch a live page (Import tab): the URL you enter is sent to this site’s server, which downloads that page and returns its HTML. Nothing else is sent.
  • Check image URLs: your browser loads each image directly from where it is hosted, so those hosts see the request. Nothing else leaves your browser.

The two Google and Schema.org links are ordinary links to other sites. They send nothing unless you paste your markup there.