Dev Resources
Cytoscape.js favicon

Cytoscape.js

Library/Programming

Graph theory / network library for analysis and visualisation - compatible with CommonJS/Node.js/Browserify/Webpack, AMD/Require.js, npm, Bower, jspm, Meteor/Atmosphere, jQuery, and plain JS/JavaScript.

Cytoscape.js's website screenshot

About Cytoscape.js

Cytoscape.js is an open-source JavaScript library for graph theory (network) visualization and analysis, created at the University of Toronto's Donnelly Centre and published in Oxford Bioinformatics. It renders interactive graphs in the browser using stylesheets to separate presentation from data, layouts for automatic or manual node positioning, and selectors for filtering and querying graph elements. It supports standard touch and desktop gestures such as pinch-to-zoom, box selection, and panning, and can run headlessly on Node.js for server-side or terminal-based graph analysis. Graphs are fully serializable and deserializable via JSON, and the library includes built-in graph theory algorithms such as BFS and PageRank.

The library is written in pure JS with no external dependencies, is compatible with all modern browsers as well as legacy browsers with ES5 and canvas support, and is distributed under the MIT license for the core library and its first-party extensions. It is available through npm, yarn, bower, and jspm, and supports ES modules, UMD, CommonJS/Node.js, globals, and AMD/Require.js module systems. It also has bindings for the R language via RCyjs and can render graph images on Node.js through Cytosnap.

Cytoscape.js is used in both commercial and open-source projects, and is designed for both front-facing application use cases and developer use cases involving graph analysis. It is used by organizations including Amazon, Google, IBM, Microsoft, Meta, Cisco, and research institutions and bioinformatics resources such as Ensembl, FlyBase, and the Gene Ontology Consortium. The project maintains a weekly patch and monthly feature release cadence and is listed by Zenodo for per-version DOIs.

Key features

  • Interactive graph visualisation and analysis with layouts, styling, and selectors
  • Graph theory algorithms including BFS and PageRank
  • Touch and desktop gesture support out-of-the-box (pinch-to-zoom, box selection, panning)
  • Headless usage on Node.js for server-side graph analysis and image rendering via Cytosnap
  • Fully serialisable/deserialisable via JSON with extensible plugin architecture
  • Runs in all modern browsers and legacy browsers with ES5 and canvas support

Frequently asked questions

Is Cytoscape.js free to use?

Yes, it is released under the permissive open-source MIT license for the core library and all first-party extensions.

What platforms and browsers does it support?

It works in all modern browsers and legacy browsers with ES5 and canvas support, and it can also run headlessly on Node.js.

How do I install Cytoscape.js?

It's available via npm, yarn, bower, and jspm, and also supports ES modules, UMD, CommonJS/Node.js, and AMD/Require.js module systems.

Who uses Cytoscape.js in production?

It's used by companies like Amazon, Google, Microsoft, IBM, and Cisco, government agencies like NASA-adjacent NOAA and NHS, and research institutions such as Stanford and Harvard.

Who is Cytoscape.js designed for?

It's designed for both developers building front-facing app use cases and those doing graph analysis, and is used across commercial and open-source projects.

Advertise here

Featured products

  • SerpApi - Search API favicon
  • CoreClaw favicon

Show your product to thousands of developers

· 100k monthly pageviews
· 7k newsletter subscribers

Advertise your product