Skip to content

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
9 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
Step-by-step guide: how to use Sigma.jsInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Node.js and npm

    Install sigma and graphology

    npm install sigma graphology
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
sigma.js (this)12.2kLibraryintermediate9 days agoWeb developers who need to display large network graphs in a browser
cytoscape.js11.3kLibraryintermediate6 days agoDevelopers adding interactive network diagrams to a web app
G612.4kLibraryintermediate10 days agoFrontend developers building interactive network or relationship diagrams in a web app
plotly.js18.4kLibrarybeginner7 days agoWeb developers who want interactive charts in their own site or app
deck.gl14.7kLibraryintermediate4 days agoDevelopers building interactive maps or geospatial dashboards over large data sets
uPlot10.6kLibraryintermediate6 days agoWeb 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.