Citation.js converts formats like BibTeX, Wikidata JSON and BibJSON to CSL-JSON to convert to other formats like APA, Vancouver, RIS and back to BibTeX.

Read the paper "Citation.js: a format-independent, modular bibliography tool for the browser and command line" on PeerJ Computer Science.

SiteRepoGetting StartedDocumentationDemo

NPM version NPM total downloads Build Status devDependencies Status License JavaScript Style Guide Join the chat at



Core functionality:

  • Cite: reference manager
  • plugins: plugins manager
  • util: several utility functions and classes
  • version



Usage: citation-js [options]

  -V, --version                   output the version number
  -i, --input <path>              Input file. If all input options are omitted, it uses stdin
  -t, --text <string>             Input text. If all input options are omitted, it uses stdin
  -u, --url <string>              Deprecated in favor of -t, --text. If all input options are omitted, it uses stdin
  -o, --output <path>             Output file (omit file extension). If this option is omitted, the output is written to stdout
  -R, --output-non-real           Output as a text file
  -f, --output-type <option>      Output structure type: string, html, json (default: "json")
  -s, --output-style <option>     Output scheme. A combination of --output-format json and --output-style citation-* is considered invalid. Options: csl (Citation Style Lanugage JSON), bibtex, citation-* (where * is any formatting style) (default: "csl")
  -l, --output-language <option>  Output language. [RFC 5646]( codes (default: "en-US")
  -h, --help                      output usage information


Plugin Description
plugin-bibjson Plugin for BibJSON formats for Citation.js
plugin-bibtex Plugin for BibTeX formats for Citation.js
plugin-csl Plugin for CSL output for Citation.js
plugin-doi Plugin for DOI input for Citation.js
plugin-ris Plugin for RIS formats for Citation.js
plugin-wikidata Plugin for Wikidata for Citation.js