ISSN-registered · Peer-reviewed · Open Access
JournalsAboutContact
Open Science

How to Cite Data, Software and Code

DE By Directive Editorial Team, Directive Publications ·15 Aug 2026 ·6 min read
How to Cite Data, Software and Code

Modern research runs on shared datasets and shared code. A single paper may rely on a public cohort, three R packages and an analysis pipeline someone else spent two years building — and then credit none of them, beyond a line in the acknowledgements. That is not just discourteous: it breaks reproducibility, because a reader cannot tell which version of what you actually used, and it denies credit to people whose careers depend on demonstrating impact.

Why formal citation matters

  • Credit that counts. Acknowledgements are invisible to indexers; references are tracked and counted.
  • Reproducibility. "Analysed in R" is not enough — results can differ between versions of a package.
  • Provenance. Readers can find and verify the exact data behind your figures.

Citing a dataset

Include the same elements you would for any source, plus version:

Creator(s). (Year). Title of dataset (Version 2.1) [Data set]. Repository. https://doi.org/10.xxxx/xxxxx

Cite the dataset itself, not only the paper that described it — they are separate objects, and many datasets are reused far beyond their original study. Most repositories display a recommended citation; use it.

Citing software and code

Author(s). (Year). Name of software (Version 1.4.2) [Computer software]. Publisher/Repository. https://doi.org/10.xxxx/xxxxx

Two practical rules. First, always give the version — this is the single most useful element for reproducibility. Second, check whether the developers ask you to cite a specific paper instead; many projects publish one, and their preference is usually stated in a README or CITATION file.

Where these citations go

Name software and versions in the methods so a reader can follow the analysis, and place the full citation in the reference list so it is machine-readable and countable. Your data availability statement then points to the datasets you produced or used.

Making your own outputs citable

  1. Deposit data in a repository that issues DOIs, following the FAIR principles.
  2. Archive a tagged release of your code — linking a code repository to an archiving service produces a DOI for each version.
  3. Add a CITATION file stating exactly how you want to be cited.
  4. Choose an explicit licence so others know what they may do.
  5. Reference your own dataset and code in your paper, so the link between them is discoverable in both directions.

Do this once and your outputs stop being invisible by-products of a paper and become citable contributions in their own right.

Frequently Asked Questions

Should software go in the references or the methods?
Both. Name the software and version in the methods so the work can be reproduced, and add a formal citation to the reference list so the developers receive credit that can be counted.
What if a dataset or tool has no DOI?
Cite what exists: creator, title, version, year, repository or publisher, and a stable URL with the date you accessed it. A DOI is preferable because it is persistent, but its absence is not a reason to omit the citation.
How do I make my own code citable?
Deposit a tagged release in a repository that issues DOIs, such as Zenodo, and include a CITATION file stating how you want it cited. Version DOIs let others cite the exact release they used.
DE
Directive Editorial Team
Directive Publications

The editorial team at Directive Publications — an international open-access publisher of peer-reviewed medical and scientific journals.

Publishing your research?

Directive Publications is an open-access publisher — every article peer-reviewed, Crossref-registered, and free to read under CC BY 4.0.

Submit a manuscript →Read our Open Science policy →