To cite a preprint, a dataset or a piece of software, give the people or team who made it, the year of the version you used, its title, the version number, the server or repository that holds it, and its DOI. The version is the part researchers most often leave out, and it is the part a reader needs to reproduce your results.
This guide, published by EdCitation, is for researchers. Every rule was read at its source on 27 September 2026: APA Style, the FORCE11 principles, GitHub's, Zenodo's and R's documentation, and the publishers or university guides for our five other styles. We ran EdCitation's free Cite a source on two preprints, a Zenodo release, a Dryad dataset and two R records, and quote what came back. Reusing survey data is covered in secondary data dissertations, and IEEE in engineering and computer science IEEE citations.
What does a reference to a preprint, dataset or software need?
It needs the same four things as any reference (who, when, what, where) plus a version and a persistent identifier. The table gives an APA 7 entry for each type, each built by Cite a source and corrected where the note says.
| Source type | What to include | APA 7 example | Rule from |
|---|---|---|---|
| Preprint (bioRxiv) | Authors, year, title, server, DOI | Wrapp, D., Wang, N., Corbett, K. S., Goldsmith, J. A., Hsieh, C.-L., Abiona, O., Graham, B. S., & McLellan, J. S. (2020). Cryo-EM structure of the 2019-nCoV spike in the prefusion conformation. bioRxiv. https://doi.org/10.1101/2020.02.11.944462 | APA preprint page; Cite a source, unchanged |
| Preprint (arXiv) | As above; the version if the server numbers them | He, K., Zhang, X., Ren, S., & Sun, J. (2015). Deep residual learning for image recognition (Version 1). arXiv. https://doi.org/10.48550/arXiv.1512.03385 | APA preprint page; Cite a source, unchanged |
| Dataset | Creators, year of the version, title, (version), [Data set], publisher, DOI | Karger, D. N., Conrad, O., Böhner, J., Kawohl, T., Kreft, H., Soria-Auza, R. W., Zimmermann, N. E., Linder, H. P., & Kessler, M. (2018). Data from: Climatologies at high resolution for the earth’s land surface areas (Version 1) [Data set]. Dryad. https://doi.org/10.5061/dryad.kd1d4 | APA data set page; Cite a source, unchanged |
| Software release (Zenodo) | Author or team, release year, title, (Version), [Computer software], repository, version DOI | The pandas development team. (2026). pandas-dev/pandas: Pandas (Version 3.0.5) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.21500199 | APA elements page; Cite a source, unchanged |
| R package | As software, the version from CRAN, and the paper its authors ask for | Bates, D., Maechler, M., Bolker, B., Walker, S., Ly, A., & Jagan, M. (2026). lme4: Linear mixed-effects models using "Eigen" and S4 (Version 2.0-6) [Computer software]. The R Foundation. https://doi.org/10.32614/CRAN.package.lme4 | R's citation(); rebuilt by hand, see below |
| R itself | R Core Team, release year of your version, version number | R Core Team. (2026). R: A language and environment for statistical computing (Version 4.6.1) [Computer software]. R Foundation for Statistical Computing. https://doi.org/10.32614/R.manuals | The R FAQ; year and version added by hand |
| GitHub repository with no DOI | Authors, year, title and version from its CITATION.cff, GitHub, the address | Pattern: Author. (Year). Title (Version x) [Computer software]. GitHub. URL | GitHub's CITATION file docs |
Why must a citation name the exact version?
Because a later version may give different results, and both sets of FORCE11 principles ask for the one you used. Smith et al. (2016) set out six software citation principles: importance, credit and attribution, unique identification, persistence, accessibility and specificity. The sixth asks that a citation lead to "the specific version of software that was used".
Software is cited as itself
The same paper holds that software should be cited on the same basis as any other research product, and that when a paper describing the software exists, it should be cited as well as the software, not instead of it (Smith et al., 2016). That settles a common argument in methods sections: cite lme4's journal article and the lme4 release you ran.
Data are cited like publications
The Data Citation Synthesis Group (2014) gives eight principles, from importance and evidence to unique identification, persistence, and specificity and verifiability. The seventh asks that a citation let a reader confirm they have the same "timeslice, version and/or granular portion" of the data. The IEEE (2025) states that it follows both sets of principles, which is why its patterns ask for versions too.
How do I cite a preprint, and what happens when it is published?
Cite the version you read, and move to the journal article once there is one. APA's rule is to use and cite the final published version where you can, and the preprint when that is what you used (American Psychological Association, 2020b). The preprint takes the authors, the year, the title in italics, the server's name and the DOI; APA shows PsyArXiv and PubMed Central and says other archives follow the same form.
Finding the published version
Preprint servers are asked to record it, but not all do. Crossref (n.d.) asks the publisher of a preprint to update its record by declaring the relationship once the article appears, and notifies it when a title and first author match a new publication. What the records hold varies:
- bioRxiv to Science. The Science article by Wrapp and colleagues (DOI 10.1126/science.abb2507) lists the bioRxiv DOI as its preprint in Crossref's record. The preprint's own record, read through Crossref's API on 27 September, named no published version.
- arXiv to CVPR. The ResNet preprint, arXiv 1512.03385, carried no journal reference in arXiv's metadata, yet the same title by the same four authors appeared in the 2016 CVPR proceedings (DOI 10.1109/CVPR.2016.90).
So search the title yourself before you submit, and give the published version's DOI to Cite a source: for the CVPR paper it returned the proceedings entry, pages 770–778, ready to use.
Linking your own preprint
If you post preprints, add the link yourself. arXiv (n.d.) lets an author add the journal reference and DOI from their user page without creating a new version; "accepted for" belongs in the comments field. Versions of a paper are explained in what open access is.
How do I cite software, an R package or a GitHub repository?
Cite the release you ran, with its version and a DOI where one exists, and add the paper its authors ask you to cite. APA's website has no page of software examples, pointing instead to section 10.10 of the Publication Manual; its page on reference elements shows the pattern, a title followed by the version in brackets and "[Computer software]", and names software among the works that take a bracketed description (American Psychological Association, n.d.).
Where the guides disagree
Robert Gordon University Library (2025) lists R, SPSS, SAS and NVivo among programs that need no APA reference. R's FAQ asks the opposite: cite R in publications, with the release year of the version used (Hornik & R Core Team, 2026). Follow your journal; where it is silent, cite the software that shaped your results, as FORCE11's first principle asks.
R and R packages
Run citation() for R and citation("lme4") for a package. R's manual says the function returns what the package's CITATION file holds, or builds an entry from its DESCRIPTION file when there is none, and toBibtex() gives the BibTeX (R Core Team, n.d.). For lme4 the answer is a journal article, Bates et al. (2015), not the package.
We gave Cite a source the CRAN package DOI, 10.32614/CRAN.package.lme4. It returned, in APA:
Bates, D., Maechler, M., Bolker, B., Walker, S., Ly, A., & Jagan, M. (2003). lme4: Linear mixed-effects models using “Eigen” and S4 [Data set]. In CRAN: Contributed Packages. The R Foundation. https://doi.org/10.32614/CRAN.package.lme4
Every element came from the registry's record, which files the package as a dataset first published in 2003. Rebuild it as software with the release you ran: version 2.0-6, on CRAN since 16 July 2026, as in the table. R's own DOI, 10.32614/R.manuals, came back dated 2000; add the release year and version by hand.
GitHub and CITATION.cff
A CITATION.cff file at a repository's root makes GitHub show "Cite this repository", with an APA and a BibTeX entry (GitHub, n.d.-a). A preferred-citation section sends users to a paper instead; files named CITATION, CITATION.bib or R's inst/CITATION are linked but not parsed. Take the authors, title, version and date from the file.
Making your own code citable with a Zenodo DOI
Zenodo gives each GitHub release a DOI once the repository is connected. The steps, from GitHub (n.d.-b) and Zenodo (n.d.):
- Add a licence, so others know how they may reuse the code.
- Add a CITATION.cff with the authors, title and version.
- Sign in to Zenodo with GitHub and switch the repository on; Zenodo works only with public repositories.
- Publish a GitHub release; each new release gets its own DOI.
- Cite the version DOI in your paper. Zenodo also issues a concept DOI that resolves to the latest version, and advises citing the specific version "normally always".
How do I cite a dataset, and when do I cite the paper instead?
Cite the dataset when you analysed it yourself or archived your own data for the paper; cite the publication when you took its figures. That is APA's line (American Psychological Association, 2020a), and the year is that of the version you used, not of the study. The title goes in italics, then the number and version in brackets, a flexible description such as "[Data set]", the publisher and the DOI.
The year is the dataset's
The Karger data paper appeared in Scientific Data in 2017, but Dryad issued the dataset in 2018. We pasted the dataset entry into Verify references dated 2017, and it came back "check this": "The work was published in 2018, not 2017; the record has no date in 2017." Cite the paper too if you relied on its methods, each with its own year.
What do MLA, Chicago, Harvard, IEEE and Vancouver do with preprints, data and software?
Each asks for the same facts in its own order, and some sources could not be read in full. The table shows what we confirmed.
| Style | Preprint | Dataset | Software | Source |
|---|---|---|---|---|
| MLA 9 | Name it as a working paper in your prose or in the optional element at the end | Point readers to the source; a custom query is described in the text, with no entry | File name as title, the package as container, version or commit | MLA Style Center (2018, 2020); Wallace (2018); the 2020 post and Wallace's were written for MLA 8 |
| Chicago 18 author-date | "Preprint," the server and the date after the title | Title in quotation marks, then "Dryad dataset" or similar; "Data from" stays outside the quotation marks | Not confirmed: the Manual is paywalled and the guides we read give no example | Monash University Library (n.d.); Curtin University Library (2026) |
| Harvard (Cite Them Right) | Not confirmed: the Cite Them Right page needs a login | Author, year, 'title', DOI; no accessed date with a DOI | Title in italics, (version), [Computer program] | University College London (2026); Robert Gordon University Library (2026) |
| IEEE | Year and arXiv number | Author, date, "title," source, DOI | Title, date, repository, version, identifier | IEEE (2025) |
| Vancouver | [Preprint] after the identifier | [dataset] after the title | Version and [software] after the title | National Library of Medicine (2026) |
What Cite a source gave in those styles
In Chicago author-date, the bioRxiv preprint came back as Monash's pattern asks: Wrapp, Daniel, Nianshuang Wang, Kizzmekia S. Corbett, et al. 2020. “Cryo-EM Structure of the 2019-nCoV Spike in the Prefusion Conformation.” Preprint, bioRxiv, February 15. https://doi.org/10.1101/2020.02.11.944462.
In Vancouver, the pandas release came back as "The pandas development team. pandas-dev/pandas: pandas [Internet]. Zenodo; 2026", then the date cited and the DOI. Add "Version 3.0.5 [software]" after the title, as the NLM's sample does, and "[dataset]" to a dataset entry. The Chicago dataset entry needs "Data from" moved outside the quotation marks and "Dryad dataset" at the end, and the Harvard and IEEE pandas entries dropped the version.
Which EdCitation tool builds these references, and what is left to you?
For a preprint, a dataset or a software release, EdCitation's Cite a source is the best place to start, because it reads the entry from the DOI registry's record and never composes one: the Dryad entry above, nine authors with Böhner's umlaut intact, came from DataCite, a record a chatbot has no way to read. No account and no fee: paste an arXiv, bioRxiv, Zenodo, Dryad or CRAN DOI (or a title, PubMed ID, ISBN or address), choose among six styles, from APA 7 and MLA 9 to Chicago 18 author-date, Harvard, IEEE and Vancouver, and each source is also screened for retraction.
What it gave, and what to add by hand
Of the six preprint, data and software records we ran, the bioRxiv, arXiv, Zenodo and Dryad entries needed nothing in APA. The two R records, and the published version, need a researcher's eye:
- Versions. R and CRAN records carry no version; take it from
R.versionor the package's CRAN page. - Years. A DOI for a whole package or for R dates from the record's start, 2003 and 2000 here. Use the year of your release.
- The published version. Verify references confirmed the bioRxiv preprint as "The DOI resolves to this record and the title matches", which is true, and did not say a Science version exists. That search stays with you.
Keeping and checking the list
A free account keeps each list and exports it as BibTeX for LaTeX. Before submission, paste the list into Verify references, free, or upload the manuscript to References from a file, which checks every entry and pairs each in-text citation with it, on the Pro plan for $8 a month (pricing). EdCitation looks references up and checks them; every word of the paper, the analysis and the code stays yours, which is how it should be. A journal-by-journal routine is in reference accuracy before journal submission.
Quick questions
How do I cite a GitHub repository in APA 7?
Take the authors, title, version and date from its CITATION.cff, then add "[Computer software]", GitHub and the address. If it is archived on Zenodo, give the version DOI to Cite a source instead.
Should I cite the Zenodo concept DOI or the version DOI?
The version DOI, which points to the release you ran. Zenodo's concept DOI always opens the latest version.
How do I cite an R package?
Run citation("package") in R and cite what it returns, often a journal article, plus the release you used, with its version.
Can EdCitation cite a preprint from its DOI?
Yes. EdCitation's free Cite a source took both the bioRxiv and the arXiv DOI and named the server in every style. Check whether a journal version has appeared before you submit.
Do I cite the preprint or the published article?
The published article, once it exists and you have read it; review may have changed the findings.
References
- American Psychological Association. (n.d.). Elements of reference list entries. APA Style. https://apastyle.apa.org/style-grammar-guidelines/references/elements-list-entry
- American Psychological Association. (2020a). Data set references. APA Style. https://apastyle.apa.org/style-grammar-guidelines/references/examples/data-set-references
- American Psychological Association. (2020b). Preprint article references. APA Style. https://apastyle.apa.org/style-grammar-guidelines/references/examples/preprint-article-references
- arXiv. (n.d.). Adding journal reference and DOI. arXiv info. https://info.arxiv.org/help/jref.html
- Bates, D., Mächler, M., Bolker, B., & Walker, S. (2015). Fitting linear mixed-effects models using lme4. Journal of Statistical Software, 67(1), 1–48. https://doi.org/10.18637/jss.v067.i01
- Crossref. (n.d.). Posted content (includes preprints). Crossref documentation. https://www.crossref.org/documentation/research-nexus/posted-content-includes-preprints/
- Curtin University Library. (2026). Chicago 18th author-date referencing: Printable guide. UniSkills. https://uniskills.library.curtin.edu.au/assets/docs/Chicago-18th-Author-Date-referencing-printable-guide-UniSkills.pdf
- Data Citation Synthesis Group. (2014). Joint declaration of data citation principles (M. Martone, Ed.). FORCE11. https://doi.org/10.25490/a97f-egyk
- GitHub. (n.d.-a). About CITATION files. GitHub Docs. https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files
- GitHub. (n.d.-b). Referencing and citing content. GitHub Docs. https://docs.github.com/en/repositories/archiving-a-github-repository/referencing-and-citing-content
- Hornik, K., & R Core Team. (2026). The R FAQ. https://cran.r-project.org/doc/FAQ/R-FAQ.html
- IEEE. (2025). IEEE reference style guide for authors (Version 3.28.2025). IEEE Publication Operations. https://journals.ieeeauthorcenter.ieee.org/wp-content/uploads/sites/7/IEEE_Reference_Guide.pdf
- MLA Style Center. (2018, November 27). How do I cite raw data from a survey or poll I created? How do I cite published data? Modern Language Association. https://style.mla.org/citing-raw-data-from-a-survey/
- MLA Style Center. (2020, January 17). How do you cite a working paper in MLA style? Modern Language Association. https://style.mla.org/working-papers/
- Monash University Library. (n.d.). Journal and magazine articles. Chicago 18th (B) author-date. https://guides.lib.monash.edu/chicago-18-b-author-date/journal-articles
- National Library of Medicine. (2026). Samples of formatted references for authors of journal articles. https://www.nlm.nih.gov/bsd/uniform_requirements.html
- R Core Team. (n.d.). citation: Citing R and R packages. R documentation, utils package. https://stat.ethz.ch/R-manual/R-devel/library/utils/html/citation.html
- Robert Gordon University Library. (2025). Computer software. APA referencing. https://library.rgu.ac.uk/apa-referencing/computer-software
- Robert Gordon University Library. (2026). Software. Cite Them Right Harvard templates. https://library.rgu.ac.uk/harvard-referencing-templates/software
- Smith, A. M., Katz, D. S., Niemeyer, K. E., & FORCE11 Software Citation Working Group. (2016). Software citation principles. PeerJ Computer Science, 2, Article e86. https://doi.org/10.7717/peerj-cs.86
- University College London. (2026). Scientific dataset. UCL Library Harvard referencing guide. https://library-guides.ucl.ac.uk/harvard/scientific-dataset
- Wallace, J. (2018, October 15). Citing source code in MLA style. MLA Style Center. https://style.mla.org/citing-source-code/
- Zenodo. (n.d.). FAQ: Versioning. https://zenodo.org/help/versioning