Skip to main content
v2026.11,858 entries · CC-BY 4.0
Dictionary termTrack Proposedv2026.1

CodeMeta

A standardized, machine-readable software metadata vocabulary and JSON-LD schema based on Schema.org, designed to establish a common crosswalk across code repositories, language registries, and scholarly data archives for research software discovery, preservation, and attribution.

ByCASRAI Editorial Board
· Last updated 7 Nov 2026
Share this

Ask CASRAI · free to try

Ask about CodeMeta

Ask your first 2 questions free below. Subscribers get 150 a day for $29 a month.

An AI assistant specialized in research administration. It cites the sources behind every answer, labels web answers and says when it can't answer.

Answers draw on CASRAI's guides and dictionary plus the federal and funder documents we index: Federal Register, Grants.gov, Regulations.gov and UKRI.

Works on this site and inside Claude, Cursor and the AI tools you already use.

Everything CASRAI publishes — this page, the dictionary, the guides and the news — stays free to read, with no account and no card.

Examples

Worked examples

  • Is an instance

    A research group publishing a computational biology package places a 'codemeta.json' file in the root repository directory containing the software name, version, persistent identifier (DOI), author ORCIDs, open-source license identifier, and funding grant details mapped directly to Schema.org properties.

  • Is an instance

    A scholarly software archive such as Zenodo or Software Heritage ingests repository source code and parses its 'codemeta.json' file to automatically extract structured citation metadata and author attribution without requiring manual descriptive re-entry.

Counter-examples

Looks similar, but isn't

  • Not an instance

    A plain text README.md file that contains unstructured installation instructions, markdown badges, and informal authorship notes, which lacks standardized JSON-LD schema markup and cannot be automatically parsed as structured Linked Data.

  • Not an instance

    A language-specific package manifest (such as package.json in Node.js or setup.py in Python) that specifies runtime software dependencies and build instructions but omits academic citation properties, funding metadata, and scholarly crosswalk mappings.

Editorial commentary

CodeMeta is a standardized, machine-readable metadata schema and vocabulary designed to improve the discovery, attribution, and citation of scientific and research software. Developed as an academic community initiative and catalyzed by the National Science Foundation, CodeMeta addresses a core challenge in modern computational practice: software authors routinely describe their tools using disparate, siloed formats—ranging from code repository descriptors and language-specific packaging files to institutional repository records—that historically prevented automated cross-platform indexing.

Rather than introducing an isolated, competing metadata standard, CodeMeta functions as an open “Rosetta Stone” crosswalk. It extends the widely adopted computer science linked data vocabularies of Schema.org (specifically the SoftwareSourceCode and SoftwareApplication types) using JSON-LD (JavaScript Object Notation for Linked Data). By establishing unambiguous mappings across existing software metadata dialects, CodeMeta allows research software to achieve parity with papers and data under the FAIR4RS principles and the FORCE11 software citation guidelines.

Structure and Core Properties

A CodeMeta document is formally stored as a codemeta.json file located in the root directory of a software source code repository. The file references a standard JSON-LD context URI (such as https://w3id.org/codemeta/3.0) and combines standard Schema.org terms with specialized properties developed for scientific workflows:

  • Identification and Source: name, version, description, identifier (such as a DOI), and codeRepository (the URL of the public version control repository).
  • Attribution and Roles: author and contributor objects enriched with persistent researcher identifiers such as ORCID URIs, institutional affiliations, and specific contributor roles.
  • Scholarly Context: citation or referencePublication properties linking directly to peer-reviewed papers or benchmark articles describing the computational theory or methodology implemented by the tool.
  • Governance and Legal Terms: license (typically expressed using SPDX license identifiers), developmentStatus (indicating whether the package is active, suspended, or mature), and issueTracker for bug reporting.
  • Sponsorship: funding and funder fields capturing grant identifiers and supporting institutions, such as awards from the NSF CISE Directorate.

Relationship to CITATION.cff and Repository Crosswalks

Researchers often compare CodeMeta with the Citation File Format (CITATION.cff). While CITATION.cff utilizes human-readable YAML tailored specifically for reference generation and GitHub/Zenodo citation buttons, CodeMeta provides a comprehensive, semantic Linked Data representation encompassing the entire software lifecycle, build dependencies, and continuous integration environments.

Major scholarly repositories and software archives—including Software Heritage, Zenodo, and the Python/R packaging ecosystems—leverage CodeMeta crosswalk tables to translate metadata between formats losslessly. Software packages like codemetar enable automated generation and synchronization of codemeta.json directly from repository build configurations, ensuring that computational artifacts remain permanently discoverable and citeable.

Sources

Machine-readable encodings

Use in your systems

JATS XML <role> element
xml
<role vocab="credit"
      vocab-identifier="https://casrai.org/dictionary/"
      vocab-term="CodeMeta"
      vocab-term-identifier="https://casrai.org/dictionary/term/codemeta" />
Schema.org DefinedTerm (JSON-LD)
json
{
  "@context": "https://schema.org",
  "@type": "DefinedTerm",
  "@id": "https://casrai.org/dictionary/term/codemeta",
  "name": "CodeMeta",
  "identifier": "https://casrai.org/dictionary/term/codemeta",
  "description": "A standardized, machine-readable software metadata vocabulary and JSON-LD schema based on Schema.org, designed to establish a common crosswalk across code repositories, language registries, and scholarly data archives for research software discovery, preservation, and attribution.",
  "inDefinedTermSet": "https://casrai.org/dictionary/domain/publishing#set",
  "url": "https://casrai.org/dictionary/term/codemeta",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "publisher": {
    "@id": "https://casrai.org/#organization"
  },
  "author": {
    "@id": "https://casrai.org/#editorial-team"
  },
  "datePublished": "2026-11-07T21:00:04",
  "dateModified": "2026-11-07T21:00:04",
  "inLanguage": "en-GB",
  "isAccessibleForFree": true
}

Referenced across the research world

University of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logoUniversity of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logo
  • University of Cambridge logo
  • Columbia University logo
  • Crossref logo
  • University of Edinburgh logo
  • Harvard University logo
  • University of Oxford logo
  • Princeton University logo
  • Stanford School of Medicine logo
  • University College London logo
  • ORCID logo

View CASRAI adoption →