Skip to main content
Back to Standards

Citation File Format

CFF

A human- and machine-readable file format for providing citation metadata for software and datasets, stored in plain text CITATION.cff files using YAML syntax. Developers include these files in code repositories so others can correctly cite their work. Natively supported by GitHub (rendering citation info and BibTeX on repository pages), Zenodo (populating metadata on publication), and Zotero (importing references via browser plugin). The format enables structured citation metadata including authors with ORCID identifiers, DOIs, version numbers, and release dates.

Overview

The Citation File Format (CFF) provides a straightforward, human- and machine-readable way for software developers to supply citation metadata for their code. By placing a simple CITATION.cff file in a repository, developers give others the precise information needed to cite their software correctly — solving a persistent problem in research software attribution where the name, version, and authorship of software are often ambiguous.

Background

CFF was created by Stephan Druskat, with development supported by the Institute for Software Technology at the German Aerospace Center (DLR), the Netherlands eScience Center, and the Software Sustainability Institute. The format was first released in 2017 and has evolved to version 1.2.0, which uses YAML syntax for its human-friendly readability.

The format emerged from the recognition that while papers have title pages with clear citation information, software and datasets lack an equivalent convention. Researchers wanting to cite software often cannot reliably determine the correct name, version identifier, or author list — information that the software's creator could easily provide in a standardized file.

Purpose & Scope

CFF enables software developers and researchers to:

  • Provide unambiguous citation metadata for their software
  • Specify the correct name, version, authors (with ORCID identifiers), and DOIs
  • Record references to related works that the software builds upon
  • Enable automated metadata harvesting by platforms and tools

A CITATION.cff file is a plain text YAML file placed in the root of a code repository. Its simplicity is intentional — creating one requires no special tools, though generators and validators are available.

Key Fields

A CITATION.cff file supports structured metadata including:

Field Description
cff-version Version of the CFF format used
message How users should cite the software
authors List of authors with names and ORCID identifiers
title The software's name
version Version identifier
date-released Release date
identifiers DOIs and other persistent identifiers
references Works that the software cites or builds upon

Platform Support

CFF has achieved broad platform integration:

  • GitHub — Automatically renders citation information on repository pages and provides a BibTeX snippet for users to copy. CITATION.cff files in the default branch are linked from the repository landing page.
  • Zenodo — When publishing a GitHub release to Zenodo via the GitHub-Zenodo integration, Zenodo uses CITATION.cff metadata to populate the publication entry.
  • Zotero — The Zotero browser plugin imports references from CITATION.cff files directly into the user's reference library.

Serializations & Technical Formats

CITATION.cff files use YAML syntax. The format is validated against a JSON Schema. Tools exist to convert CFF to other citation formats including BibTeX, RIS, CodeMeta, and others, enabling integration with existing scholarly communication workflows.

Governance & Maintenance

CFF is maintained as an open-source project on GitHub by its community. Contributions are welcomed through the project's contribution guide. The specification, schema, and tooling are all openly developed.

Tools

Several tools support the CFF ecosystem:

  • cffinit — A web-based form for creating CITATION.cff files from scratch
  • cff-converter-python — Converts CFF to BibTeX, RIS, CodeMeta, and other formats
  • Additional tools exist for specific environments and use cases

Related Standards

  • CodeMeta — Complementary software metadata vocabulary; CFF can be converted to CodeMeta
  • DataCite — CFF metadata maps to DataCite's schema for DOI registration

Further Reading

Resources & Links