
Sigma.js
A JavaScript library for drawing graphs with thousands of nodes and edges in the browser.
- Stars
- 12.2k
- Forks
- 1.6k
- Licence
- MIT
- Language
- TypeScript
- Last update
- 10 days ago
- Type
- Library
What it is
Sigma.js is an open-source JavaScript library for displaying network graphs (nodes connected by edges) in a web page. It uses WebGL, a browser technology for fast graphics, so it can show graphs with thousands of nodes and edges. It is built on top of graphology, a companion library for storing graph data.
- Embed an interactive network graph of relationships in a web page
- Add a background map (Leaflet or MapLibre) behind a graph using companion packages
- Render nodes as images or pie charts using the node-image or node-piechart packages
- Export a snapshot of a graph as an image with the export-image package
Great for
- Web developers who need to display large network graphs in a browser
- Data analysts building interactive graph visualizations on a website
- Teams already using graphology for graph data
- Developers who want optional add-ons for images, maps, or image export
Not ideal for
- People who only need a simple chart or bar graph, since this library is specialized for graphs and networks
- Users who want a finished tool with no coding, because sigma is a library that must be built into a project
- Projects that require a long track record of stable APIs, since the README notes v4 development included LLM-drafted code and the API is evolving
How to get it
- 1
Install with a package manager
You'll need: Node.js and npm
Install sigma and graphology
npm install sigma graphology - 2
Run it
- Install sigma and graphology with npm
- Import Graph from graphology and Sigma from sigma
- Create a graph and add nodes and edges with positions, sizes, and colors
- Create a new Sigma instance passing the graph and a container element
- 3
Get the most out of it
- Use the companion packages (node-image, node-piechart, layer-leaflet, layer-maplibre) to extend how nodes and backgrounds look
- Use export-image to save snapshots of your graph
- Read the documentation at sigmajs.org/docs for guides and API references
- Use graphology for graph data management, since sigma is built on it
Downloads
Strengths
- Designed to handle graphs with thousands of nodes and edges using WebGL
- Modular: companion packages let you install only the features you need
- Has official documentation and interactive examples on its website
Trade-offs
- Requires JavaScript and a build setup; it is not a ready-made application
- The README does not detail browser support or performance limits, so those should be checked in the docs
- Some features rely on companion packages that must be installed separately
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| sigma.js (this) | 12.2k | Library | intermediate | 10 days ago | Web developers who need to display large network graphs in a browser |
| cytoscape.js | 11.3k | Library | intermediate | 7 days ago | Developers adding interactive network diagrams to a web app |
| G6 | 12.4k | Library | intermediate | 10 days ago | Frontend developers building interactive network or relationship diagrams in a web app |
| plotly.js | 18.4k | Library | beginner | 8 days ago | Web developers who want interactive charts in their own site or app |
| deck.gl | 14.7k | Library | intermediate | 4 days ago | Developers building interactive maps or geospatial dashboards over large data sets |
| uPlot | 10.6k | Library | intermediate | 7 days ago | Web developers who need a fast chart for large time series data |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.