Skip to content
SPECIFICTION
Get listed

Citation.js

citation.js.org

Free plan WebLinuxAPI
Visit citation.js.org
Spec score 7.8 #11 of 29 in Citation Generator Tools

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

Free Free MIT-licensed open-source software · installable from npm Read 5 Oct 2026 · citation.js.org

Every Citation.js plan and price →

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

Alternatives to Citation.jsAll alternatives →