EVERYTHING XIAOMI
Get listed
Citation.js logo

Citation.js

Citation.js is a free, MIT-licensed tool for converting reference data and formatting citations.

Place
#15 of 29
Score
6.0
Citation.js's website

What Citation.js is

Citation.js is a free, MIT-licensed tool for converting reference data and formatting citations. It can convert formats such as BibTeX, BibJSON, DOI, and Wikidata into CSL-JSON, then apply styles including APA and Vancouver. Other listed inputs include ISBN, PubMed and PMC identifiers, Wikidata QIDs, GitHub repository URLs, and npm package URLs. Supported formats include JSON, CSL-JSON, BibJSON, BibTeX, BibLaTeX, RIS, YAML, CFF, and Zenodo Deposit JSON. Identifier resolvers can retrieve metadata from sources such as DOI Content Negotiation, Google Books, OpenLibrary, NCBI's Literature Citation Explorer, and the Wikidata MediaWiki API. The project separates a core npm package from plugins for formats and identifier sources, letting users select which formats to include. Citation.js supports Node.js and browsers, offers a command-line interface, and includes preloaded styles and locales. Its documented CLI reads input from a file, text, or standard input and writes to a file or standard output.

Good

  • Free and MIT licensed.
  • Supports many reference formats and identifiers.
  • Modular plugins let users choose formats.
  • Works with Node.js, browsers, and a command-line interface.

Watch out

  • The CLI reads from a file, text, or standard input.
  • The CLI writes to a file or standard output.

Who it suits

Citation.js suits researchers, developers, and publishers who need to convert reference data or format citations. Its modular packages and command-line interface may suit users who want to select formats or work in scripts.

Verdict

Citation.js covers reference conversion and formatting across a broad set of listed formats and identifier sources. Its modular approach may suit users who want selected format support rather than a single fixed setup.

Plans and prices

From Citation.js's own pricing page, checked 5 Oct 2001.

All about pricing
PlanPriceWhat it gives you
FreeFreeMIT-licensed open-source software · installable from npm

The facts

Each one read from Citation.js's own pages, with the date it was checked.

What it does

CLI limits
The documented CLI reads an input file, text, or standard input and writes to an output file or standard output.checked 5 Oct 2001
External metadata sources
Identifier resolvers include DOI Content Negotiation, Google Books, OpenLibrary, NCBI's Literature Citation Explorer, and the Wikidata MediaWiki API.checked 5 Oct 2001
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.checked 5 Oct 2001
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.checked 5 Oct 2001
License
The project states that it is MIT licensed.checked 5 Oct 2001
Modular
Its modular design lets users select which formats to include.checked 5 Oct 2001
Output styles
It includes preloaded styles and locales for formatted references.checked 5 Oct 2001
Package structure
The documentation describes a core npm package and separate plugins for formats and identifier sources.checked 5 Oct 2001
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.checked 5 Oct 2001
Runtime
The project supports Node.js and browsers and provides a command-line interface.checked 5 Oct 2001
Supported formats
Listed formats include JSON, CSL-JSON, BibJSON, BibTeX, BibLaTeX, RIS, YAML, CFF, and Zenodo Deposit JSON.checked 5 Oct 2001
Supported identifiers
Listed identifier inputs include DOI, ISBN, PubMed and PMC identifiers, Wikidata QIDs, GitHub repository URLs, and npm package URLs.checked 5 Oct 2001
The full review of Citation.js

Citation.js is a developer-focused toolkit for turning varied reference records into consistent citation data and formatted bibliographies. It is best suited to teams embedding citation handling in Node.js, browser, API, or command-line workflows. Choose it when format breadth and control matter more than a ready-made research workspace.

Overview

Citation.js accepts reference material such as BibTeX, BibJSON, DOI records, and Wikidata data, converts it to CSL-JSON, and renders styles including APA and Vancouver. That end-to-end path is valuable for software that must ingest citations from multiple systems and produce uniform output for users or publications.

The project is a library and command-line tool rather than a standalone bibliography manager. Developers can integrate the core npm package, add only the format and identifier plugins they need, or run the CLI in an automated process. That flexibility rewards technical ownership; readers seeking a visual editor, account-based library, or classroom workflow should consider a different category of product.

Key features

  • Broad format conversion: JSON, CSL-JSON, BibJSON, BibTeX, BibLaTeX, RIS, YAML, CFF, and Zenodo Deposit JSON are supported. This helps connect heterogeneous repositories, while the modular package structure avoids forcing every project to ship every format.
  • Identifier lookup: DOI, ISBN, PubMed and PMC identifiers, Wikidata QIDs, GitHub repository URLs, and npm package URLs can serve as inputs. Resolvers use DOI Content Negotiation, Google Books, OpenLibrary, NCBI's Literature Citation Explorer, and the Wikidata MediaWiki API, giving applications several routes to retrieve metadata.
  • Style and locale output: Preloaded styles and locales support formatted references, including APA and Vancouver. This is useful for applications serving different publication requirements, although teams remain responsible for selecting and presenting the appropriate style.
  • Developer runtimes: Node.js and browser support, an API-oriented design, and a command-line interface cover both embedded web features and automated pipelines. The CLI reads a file, text, or standard input and writes to a file or standard output, fitting shell scripts and build jobs rather than point-and-click editing.
  • Integration examples: Documented applications include an HTML API wrapper, a Chrome extension for publication entry on the Dutch NWO ISAAC platform, and a BibTeX generator. Listed users such as Forgejo, Gitea, NASA's General Coordinates Network, USGS, the European Environment Agency, Open Science Framework, and Jupyter Book's MyST indicate practical use across software and research publishing contexts.

Pricing

Free — free. Citation.js is MIT-licensed open-source software installable from npm, with identifier lookup, URL import, and BibTeX export included. There are no paid tiers, seat charges, or stated usage quotas. The saving is substantial for teams able to maintain an integration, but the trade-off is engineering responsibility: setup, interface design, and ongoing operation sit with the adopter rather than a hosted vendor.

Platforms

Citation.js runs in browsers and Node.js, exposes an API, and includes a command-line interface. It is therefore a strong fit for web applications, server-side services, and Unix-style automation. It is not presented as a finished native desktop or mobile citation app.

Who it's for

Choose Citation.js if you are building software that must import identifiers and reference files, normalize them, and emit styled citations under your own control. It also suits open-source projects that value an MIT license and selective plugin inclusion. It is less appropriate for students or writers who want an immediately usable bibliography workspace without programming or deployment work.

Pros and cons

Pros

  • Extensive interoperability: Many file formats and identifier types reduce custom conversion work.
  • Selective architecture: Modular plugins let projects include the formats and resolvers they actually need.
  • Flexible delivery: Browser, Node.js, API, and CLI options cover embedded and automated workflows.
  • Open licensing: MIT licensing and a zero-cost npm installation remove subscription and seat barriers.

Cons

  • Not a finished workspace: There is no presented account-based library or standalone editing environment, so teams must build the surrounding experience.
  • Integration overhead: Choosing plugins, configuring resolvers, and operating the CLI requires developer involvement.
  • Resolver dependence: Metadata retrieval relies on external services, making source selection and operational handling part of an implementation.

Alternatives

For a consumer-facing citation service with Android, iOS, browser extension, and web access, choose Cite This For Me; its free account is limited to Harvard style, advertising, and seven-day citation storage.

CitePlain is a freemium extension and web option for users who prefer a simpler hosted tool. BibGuru suits educators and browser users, with a free educator Plus offering. CitApp is the better fit when browser capture, Google Docs insertions, and many styles are priorities, despite weekly free caps.

Citation[Z] offers a hosted generator, converter, and bibliography builder with five styles on its free plan. CiteMe is another extension and web alternative with 60-plus styles but monthly limits on checking, storage, projects, PDF conversion, and exports. Editor World Citation Generator is appropriate for free web-only generation and export without an account. Grafiati fits users wanting online bibliography management, starting with a free bibliography capped at 20 references for seven days.

See the Citation Generator Tools list for more options.

Verdict

Citation.js is the right choice for developers who need broad reference conversion, identifier resolution, and style output inside software they control. Its MIT license and modular plugins are the main reasons to choose it. Look elsewhere if you want a polished, ready-to-use citation workspace rather than a toolkit that becomes useful through integration.

Alternatives to Citation.js

All alternatives
  1. 1BibGuru logo

    BibGuru

    Free planWebExtensionmacOSWindows
    7.6From $4.99 a month
  2. 2CitePlain logo

    CitePlain

    Free planWebExtension
    7.3From $3.25 a month
  3. 3

    Citation Machine

    Free planWeb
    7.2From $9.95 a month
  4. 4Cite This For Me logo

    Cite This For Me

    Free planAndroidiOSWebExtension
    7.2From £6.99 a month
  5. 5Petal logo

    Petal

    Free planWebExtension
    6.9From $2.55 a month
  6. 6Bibcitation logo

    Bibcitation

    Free planWebExtension
    6.6Free plan