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

Citation File Format (CITATION.cff)

A CITATION.cff file is a plain-text, YAML-formatted metadata file, conforming to the Citation File Format schema, placed in the root of a code (or dataset) repository to record machine- and human-readable citation information -- authors (ideally with ORCID iDs), title, version, release date, identifiers such as a DOI, and licence -- so tools and humans can produce a correct, consistent citation without guesswork.

ByCASRAI Editorial Board
· Last updated 4 Sept 2026
Share this

Ask CASRAI · included with Regulatory Radar

Ask about Citation File Format (CITATION.cff)

Ask CASRAI answers research-administration questions and cites the passages behind every claim — and says so when the corpus does not cover something, instead of guessing. It comes with a Regulatory Radar subscription at $29 a month, alongside the daily digest of regulatory changes and the dashboard of what changed.

150 questions a day, on this site, over the API, or inside your own tools through the CASRAI MCP server.

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 repository maintainer adds a CITATION.cff to a GitHub repo's default branch; GitHub automatically reads it and shows a 'Cite this repository' panel with a ready-made APA/BibTeX citation.

  • Is an instance

    A software author runs the cffconvert command-line tool against their CITATION.cff to generate a CodeMeta.json or a BibTeX entry for a manuscript, without retyping metadata.

  • Is an instance

    When a GitHub repository is archived through the GitHub-Zenodo integration, Zenodo reads the CITATION.cff metadata (authors, title, version) to pre-populate the deposit record before minting a DOI.

Counter-examples

Looks similar, but isn't

  • Not an instance

    A free-text 'How to cite this software' paragraph in a README is not a CITATION.cff -- it is not machine-readable and GitHub/Zenodo tooling cannot parse it.

  • Not an instance

    Citation-relevant fields inside a package.json, DESCRIPTION, or setup.py are not CITATION.cff files either, even though they may carry overlapping metadata -- they follow their own ecosystem-specific schemas, not the Citation File Format specification.

Editorial commentary

The Citation File Format (CITATION.cff) is a plain-text, YAML-based metadata schema for describing how to cite a piece of software or a dataset. A conformant CITATION.cff file sits in the root of a repository and records structured citation metadata — authors (ideally with ORCID iDs), title, version, release date, identifiers such as a DOI, and licence — so both humans and tooling can generate a correct, consistent citation instead of guessing from a README.

The format is maintained by the citation-file-format project, with development support credited to the German Aerospace Center’s (DLR) Institute for Software Technology, the Netherlands eScience Center, and the Software Sustainability Institute. The current schema version is 1.2.0.

The problem it solves

Before CITATION.cff, ‘how to cite this’ guidance for software lived, if it existed at all, as inconsistent free text scattered across READMEs, wikis, or nowhere. That text couldn’t be parsed by GitHub, Zenodo, reference managers, or citation-graph services, so software citations in papers were frequently incomplete, inconsistent, or missing a version number entirely — undermining the specificity and identification that citation is supposed to provide.

How it is used operationally

GitHub: when a repository’s default branch contains a CITATION.cff, GitHub parses it automatically and displays a ‘Cite this repository’ panel on the repo page, offering a ready-made APA-style citation and a BibTeX snippet.

Zenodo: when a repository is archived through the GitHub-Zenodo integration, Zenodo reads CITATION.cff metadata (authors, title, version) to pre-populate the archive record before minting a DataCite DOI for that specific release.

cffconvert: a command-line tool that converts a CITATION.cff into other formats — BibTeX, RIS, CodeMeta, EndNote, and schema.org JSON-LD among them — so the same source-of-truth metadata can feed multiple downstream systems without manual re-entry.

How it relates to the rest of the software-citation stack

CITATION.cff is the practical, machine-readable implementation layer underneath two higher-level standards. The FORCE11 Software Citation Principles (2016) establish why and what should be cited — importance, credit and attribution, unique identification, persistence, accessibility, and specificity down to the version. The FAIR4RS Principles (2022) extend the FAIR data principles to research software itself. A well-formed CITATION.cff operationalises both at once: it makes citation metadata machine-actionable (satisfying ‘unique identification’ and ‘accessibility’ from the Software Citation Principles) and improves a software repository’s Findability and Reusability under FAIR4RS. It also underpins the software paper workflow used by journals such as JOSS (Journal of Open Source Software), which expects the software under review to carry clear, citable metadata before a paper about it can be accepted.

What this means for a researcher or research office

Assessment and credit: a repository’s CITATION.cff is what lets downstream systems (GitHub’s citation panel, Zenodo, citation-graph tools) generate a correct, version-specific citation that a researcher can point to in a CV, grant report, or data management plan (DMP) as evidence of a discrete, citable research output — rather than software credit being folded invisibly into the paper that happens to describe it.

DMPs: a DMP addressing software outputs should state whether the software will ship a CITATION.cff, which repository/archive it will be deposited to for a persistent identifier, and who the named authors (with ORCID iDs) will be — the same questions a DMP already asks about datasets, applied to code.

Interaction with ORCID/DataCite/Zenodo: author ORCID iDs recorded in a CITATION.cff carry through when a repository is archived to Zenodo, which mints a DataCite DOI and can push the resulting work back to each author’s ORCID record via DataCite’s auto-update integration — closing the loop from source-code metadata to a persistent, attributed, citable record.

Frequently asked questions

Do I need a CITATION.cff file, or is a ‘How to cite’ section in my README enough?

A README section is better than nothing but isn’t machine-readable: GitHub’s citation panel, Zenodo’s metadata pre-fill, and tools like cffconvert can only act on a schema-conformant CITATION.cff. If the goal is consistent, low-friction citation by others — and interoperability with archiving/identifier services — a CITATION.cff is the mechanism built for that; free text is not a substitute, it’s a fallback.

Does adding a CITATION.cff automatically register a DOI for my software?

No. CITATION.cff only describes how to cite the software; it doesn’t mint an identifier by itself. A DOI is assigned separately when the software is archived through a service such as Zenodo (commonly via the GitHub-Zenodo integration) or figshare. The CITATION.cff’s metadata simply feeds that archiving step so the resulting DOI record is accurate.

How does CITATION.cff differ from CodeMeta?

Both describe software metadata, but CITATION.cff is deliberately citation-focused and human-editable YAML, while CodeMeta is a broader JSON-LD vocabulary (built on schema.org) aimed at general software description and cross-repository interoperability. In practice they’re complementary rather than competing: cffconvert can generate a CodeMeta.json from a CITATION.cff, so a project can maintain one file and derive the other.

Should our institution’s DMP template ask researchers about CITATION.cff?

If the template already asks about software outputs and their persistent identifiers, adding a specific line item for CITATION.cff (or equivalent machine-readable citation metadata) is a low-cost way to make that expectation concrete and checkable, rather than leaving ‘how will this software be citable’ as an open-ended narrative answer.

References

  • citation-file-format.github.io — Citation File Format specification and guidance (schema version 1.2.0).
  • github.com/citation-file-format — reference implementation, schema, and the cffconvert tool.

Machine-readable encodings

Use in your systems

JATS XML <role> element
xml
<role vocab="credit"
      vocab-identifier="https://casrai.org/dictionary/"
      vocab-term="Citation File Format (CITATION.cff)"
      vocab-term-identifier="https://casrai.org/dictionary/term/citation-cff" />
Schema.org DefinedTerm (JSON-LD)
json
{
  "@context": "https://schema.org",
  "@type": "DefinedTerm",
  "@id": "https://casrai.org/dictionary/term/citation-cff",
  "name": "Citation File Format (CITATION.cff)",
  "identifier": "https://casrai.org/dictionary/term/citation-cff",
  "description": "A CITATION.cff file is a plain-text, YAML-formatted metadata file, conforming to the Citation File Format schema, placed in the root of a code (or dataset) repository to record machine- and human-readable citation information -- authors (ideally with ORCID iDs), title, version, release date, identifiers such as a DOI, and licence -- so tools and humans can produce a correct, consistent citation without guesswork.",
  "inDefinedTermSet": "https://casrai.org/dictionary/domain/reproducibility-comp#set",
  "url": "https://casrai.org/dictionary/term/citation-cff",
  "sameAs": [],
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "publisher": {
    "@id": "https://casrai.org/#organization"
  },
  "author": {
    "@id": "https://casrai.org/#editorial-team"
  },
  "datePublished": "2026-08-22T08:44:49",
  "dateModified": "2026-09-04T07:25:28",
  "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 →

Regulatory Radar

Stop finding out after the fact

$29/month, cancel anytime. Daily digest updates from our analysis, a dashboard holding the same items, and a cited assistant for everything they raise.

  • Federal Register, Federal Register+, Grants.gov, Regulations.gov, NSF News, UKRI, plus CASRAI’s own published content.
  • 72,264 indexed passages, and every answer cites the ones it drew on.