Citation.js
citation.js.org
What it is
Citation.js converts reference data into CSL-JSON and formats references in styles such as APA and Vancouver. It accepts inputs including BibTeX, BibJSON, DOI, and Wikidata, as well as identifiers such as ISBN, PubMed and PMC IDs, GitHub repository URLs, and npm package URLs. Supported formats include JSON, CSL-JSON, BibLaTeX, RIS, YAML, CFF, and Zenodo Deposit JSON. Identifier resolvers include DOI Content Negotiation, Google Books, OpenLibrary, NCBI’s Literature Citation Explorer, and the Wikidata MediaWiki API. A modular package structure lets users add format and identifier-source plugins as needed; preloaded styles and locales are available for formatted references. Citation.js supports Node.js and browsers, offers a web interface and API, and includes a command-line interface for reading input files, text, or standard input and writing output files or standard output. Example applications include an HTML API wrapper, a Chrome extension for Dutch NWO ISAAC publication data entry, and a BibTeX generator. It is MIT-licensed open-source software, available free.
Spec sheet
- Purpose
- Citation.js converts reference formats such as BibTeX, BibJSON, DOI, and Wikidata to CSL-JSON and can format references in styles such as APA and Vancouver.Read 5 Oct 2026 · citation.js.org
- License
- The project states that it is MIT licensed.Read 5 Oct 2026 · citation.js.org
- CLI limits
- The documented CLI reads an input file, text, or standard input and writes to an output file or standard output.Read 5 Oct 2026 · citation.js.org
- External metadata sources
- Identifier resolvers include DOI Content Negotiation, Google Books, OpenLibrary, NCBI's Literature Citation Explorer, and the Wikidata MediaWiki API.Read 5 Oct 2026 · citation.js.org
- Integration example
- The site lists an HTML API wrapper, a Chrome extension for publication data entry on the Dutch NWO ISAAC platform, and a BibTeX generator as example applications.Read 5 Oct 2026 · citation.js.org
- Known users
- The site lists users including Forgejo, Gitea, Getty Quire, NASA's General Coordinates Network, the European Environment Agency, USGS, Open Science Framework, and Jupyter Book's MyST.Read 5 Oct 2026 · citation.js.org
- Modular
- Its modular design lets users select which formats to include.Read 5 Oct 2026 · citation.js.org
- Output styles
- It includes preloaded styles and locales for formatted references.Read 5 Oct 2026 · citation.js.org
- Package structure
- The documentation describes a core npm package and separate plugins for formats and identifier sources.Read 5 Oct 2026 · citation.js.org
- Runtime
- The project supports Node.js and browsers and provides a command-line interface.Read 5 Oct 2026 · citation.js.org
- Supported formats
- Listed formats include JSON, CSL-JSON, BibJSON, BibTeX, BibLaTeX, RIS, YAML, CFF, and Zenodo Deposit JSON.Read 5 Oct 2026 · citation.js.org
- Supported identifiers
- Listed identifier inputs include DOI, ISBN, PubMed and PMC identifiers, Wikidata QIDs, GitHub repository URLs, and npm package URLs.Read 5 Oct 2026 · citation.js.org
Plans and prices
Strong points and limits
Strong points
- Formats references in styles including APA and Vancouver
- Supports a wide range of reference formats
- Modular plugins let users select formats
- Runs in Node.js and browsers
- Free and MIT licensed
Limits
- Command-line output is limited to files or standard output
- Some format and identifier sources use separate plugins
Who it suits
Citation.js suits people who need to convert reference data or format citations in a chosen style. Its modular plugins may suit users who want to select the formats and identifier sources they need.
Verdict
Citation.js covers conversion and citation formatting across a broad set of formats, identifiers, and runtimes. Its free, modular structure is useful for users who want to choose which formats to include.
Where Specifiction places it
- Citation Generator Tools#11 of 297.8
- Citation generators#26 of 577.8