The Top 20 Schema Json Ld Open Source Projects on Github

No Comments
The top 20 schema json ld open source projects on github

AI Summary

The open source JSON-LD ecosystem splits into five distinct jobs, and most confusion comes from treating them as one category: specification processors, vocabulary repositories, typed builders, site integrations and extraction libraries. Choose by the job you need doing, because a JSON-LD processor and a schema plugin solve completely different problems despite both appearing on the same lists.

  • Processors such as jsonld.js and pyld implement the specification. They do not generate schema.org markup for your site.
  • Typed builders such as schema-dts turn an invalid property name into a build failure instead of a silent production bug.
  • Extraction libraries such as extruct are the fastest way to audit what your own pages already emit.
  • Star counts measure accumulated attention, not maintenance. Check the last commit date before adopting anything.
Open source json-ld and schema. Org projects on github grouped into five jobs: processors such as jsonld. Js and pyld, vocabulary and spec repositories such as schemaorg, typed builders such as schema-dts, site integrations such as next-seo, and extraction tools such as extruct, each with its language and star count.
Twenty open source projects grouped by the job they do rather than by popularity. Star counts were read from the GitHub API on 20 July 2026.

Lists of the top JSON-LD projects on GitHub tend to rank by star count and stop there, which produces a table where a specification processor, a Jekyll plugin and a recipe parser sit next to each other as though they were alternatives. They are not alternatives. They do different jobs, and a practitioner arriving with a specific problem needs the grouping far more than the ranking.

What follows groups twenty genuinely active open source projects by the job they perform, with the metadata that actually predicts whether adopting one will go well. Every figure in the table below was read directly from the GitHub API on 20 July 2026, and star counts move, so treat them as a snapshot rather than a fixed property.

Schema Types and Applications

Before choosing a project, work out which of five jobs you are trying to do. This is the whole decision, and getting it right eliminates most of the list immediately.

  • Processors implement the JSON-LD specification: expansion, compaction, flattening and normalisation of linked data documents. You need one when you are transforming or canonicalising linked data in code. You almost never need one to put schema markup on a website.
  • Vocabulary and specification repositories are the source of truth for what the types and properties actually are. You read these when a validator and a library disagree, or when you want to know whether a property you have seen recommended actually exists.
  • Typed builders give you the schema.org vocabulary as types in your programming language, so mistakes surface at build time. This is the highest value category for most product teams.
  • Site integrations emit markup from a specific framework or CMS. Convenient, and the category most likely to duplicate markup you already have.
  • Extraction libraries parse structured data out of pages. These are auditing tools, and they are consistently underused by SEO teams who own sites they have never actually inspected.

The Projects, Grouped by Job

All values below come from the GitHub API, read on 20 July 2026. The last commit column is deliberately included, because it is a better adoption signal than the star count next to it.

ProjectJobLanguageLicenceStarsLast commit
api-platform/api-platformLinked data APIPHPMIT9,168Jul 2026
garmeeh/next-seoSite integrationTypeScriptMIT8,491Feb 2026
schemaorg/schemaorgVocabulary and specHTMLApache-2.06,179Jul 2026
artesaos/seotoolsSite integrationPHPMIT3,360Mar 2026
RDFLib/rdflibProcessorPythonBSD-3-Clause2,479Jul 2026
hhursev/recipe-scrapersExtractionPythonMIT2,196Jul 2026
digitalbazaar/jsonld.jsProcessorJavaScriptOther1,812Mar 2026
jekyll/jekyll-seo-tagSite integrationRubyMIT1,724May 2026
spatie/schema-orgTyped builderPHPMIT1,502May 2026
google/schema-dtsTyped builderTypeScriptApache-2.01,217Jun 2026
scrapinghub/extructExtractionPythonBSD-3-Clause966Apr 2026
json-ld/json-ld.orgVocabulary and specHTMLOther918Jun 2026
mlcommons/croissantLinked data APIJupyter NotebookApache-2.0878Jul 2026
digitalbazaar/pyldProcessorPythonBSD-3-Clause674Jul 2026
google/react-schemaorgTyped builderTypeScriptApache-2.0520Mar 2026
jsonld-java/jsonld-javaProcessorJavaBSD-3-Clause388Jan 2024
ruby-rdf/json-ldProcessorHTMLUnlicense243Jun 2026
harlan-zw/nuxt-schema-orgSite integrationTypeScriptMIT190Jul 2026
digitalbazaar/jsonld-signaturesLinked data APIJavaScriptBSD-3-Clause138Feb 2026
w3c/json-ld-syntaxVocabulary and specHTMLOther137Jun 2026

Two entries deserve a note. jsonld-java remains a correct and widely embedded implementation, but its last commit is considerably older than the rest of the list, so check that it still meets your requirements before building on it. api-platform and croissant are included because both consume and emit JSON-LD as a core part of what they do, not because they are schema.org SEO tools, and they show how far linked data reaches beyond search.

Implementation Best Practices

JSON-LD is the recommended format for schema markup, and every project above works with it. The practices that matter when adopting one of these tools are mostly about restraint.

Check what your site already emits before installing anything. This is the single most common failure in the site integration category. WordPress sites frequently run an SEO plugin, a theme and a reviews plugin that each emit their own Organization or Article node, producing contradictory claims about the same page. Adding a fourth source makes it worse. Extraction libraries are the right tool for this audit.

# Audit what a page actually emits, before adding another emitter
import extruct, requests

html = requests.get("https://example.com/product/widget/").text
data = extruct.extract(html, syntaxes=["json-ld", "microdata", "rdfa"])

for block in data["json-ld"]:
    print(block.get("@type"), block.get("@id"))

# Two nodes typed Organization means you have a consolidation job,
# not an implementation job.

Prefer build time failure over runtime silence. The argument for a typed builder is not elegance, it is that a mistyped property name becomes a failed build instead of markup that validates as syntactically fine while communicating nothing. On a site where markup is generated from dynamic data across many templates, that difference compounds.

Keep the graph connected regardless of which tool you use. No library will decide your entity relationships for you. Whether you generate markup by hand or through a builder, the nodes still need identifiers and references so the page, the organisation and the primary entity relate to one another, which the guide to JSON-LD graph nesting covers in detail. If the underlying format is still unfamiliar, the JSON-LD reference entry is the shorter starting point.

Rich Results Impact

No library on this list will earn you a rich result. Tools help you produce correct, complete and consistent markup at scale, and correctness is a precondition for eligibility, but Google still decides whether to render any treatment based on the query, the device and the quality of the page.

The realistic benefit of adopting good tooling is a reduction in the failure modes that quietly cost you eligibility: missing required properties, drift between the rendered value and the marked up value, and duplicate nodes contradicting each other. Those are exactly the problems that surface months after launch, and they are the ones that the guide to validating and debugging structured data works through when valid markup produces no visible result.

How to Read a GitHub Star Count

Stars are a lagging popularity measure. They accumulate, they rarely decrease, and they say nothing about whether a project still tracks the current specification. Three checks give you far more signal for the same effort.

Look at the last commit date, which is in the table above. Look at whether open issues are being triaged or merely accumulating. And check which version of the specification the project targets, since JSON-LD 1.1 introduced changes that older libraries may not implement. A project with a tenth of the stars and a commit from last month is usually the safer dependency.

A Practical Toolchain for an SEO Team

For most teams the useful combination is small. Use an extraction library to audit what the site currently emits and to catch duplicates, which is the highest value first step on almost every site. Use whichever site integration your stack already implies, configured to be the single source of truth rather than an additional emitter. Add a typed builder if your team works in TypeScript, PHP or another language with one available and generates markup from dynamic data.

Then read the vocabulary repository when something is ambiguous. Reach for a specification processor only when you are genuinely transforming linked data in code, which for most SEO work is never. As structured data increasingly feeds systems that never render a search listing at all, the note on schema markup for AI search covers where this output is being consumed beyond Google.

Frequently Asked Questions

What is the difference between a JSON-LD processor and a schema markup plugin?

A processor implements the JSON-LD specification itself, performing operations such as expansion, compaction and normalisation on linked data documents. A plugin or site integration simply emits schema.org markup into your pages. Most SEO work needs the second kind, and reaching for a processor when you wanted a plugin is a common early mistake.

Which library should I use to generate schema.org markup in TypeScript?

schema-dts provides TypeScript type definitions for the schema.org vocabulary, so an invalid property name or a wrong value type fails at compile time rather than silently shipping. react-schemaorg wraps the same types for React components. Both are maintained by Google and licensed under Apache 2.0.

How do you audit the structured data a page already emits?

Use an extraction library rather than reading the source by hand. extruct parses JSON-LD, Microdata, RDFa and Open Graph out of an HTML document in one pass, which makes it straightforward to crawl your own site and find duplicate or conflicting nodes. That duplicate detection is usually more valuable than adding new markup.

Are GitHub stars a good way to choose a schema library?

Not on their own. Stars measure attention accumulated over time, not current maintenance, and a popular project that has not been committed to in two years is riskier than a smaller actively maintained one. Check the last commit date, the open issue count and whether the project tracks the current JSON-LD specification version.

Do I need a library at all to add schema markup?

No. JSON-LD is just a script block, and for a handful of templates writing it by hand is perfectly reasonable. Libraries earn their place when markup is generated from dynamic data across many templates, because that is where typos, missing required properties and drift between the rendered page and the markup start to appear.

Is the schemaorg repository the same thing as the schema.org website?

Yes, it is the source. The schemaorg repository on GitHub holds the vocabulary definitions and the software that builds the schema.org site, so it is where new types and properties are proposed and discussed. When documentation elsewhere is ambiguous, the repository and its issue tracker are the authoritative reference.

The ranking on lists like this matters far less than the grouping. Identify the job first, then pick the actively maintained project in that category that fits your stack, and check the commit history before the star count.

Source: https://awesomeopensource.com/projects/json-ld/schema?mode=desktop&ref_=m_ft_dsk

Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.

    About SEO ProCheck

    Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.

    Work With Me

    Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.

    Subscribe to our newsletter!

    More from our blog