Compatibility

Graph library comparison

Compare G6Lite, G6 v5, sigma.js, and Cytoscape.js across rendering, layout, elements, interaction, extensions, algorithms, and runtimes

This page is a capability guide, not a performance ranking. Versions were checked on 2026-08-03: G6Lite 0.1.0-beta.22, AntV G6 5.1.1, sigma.js 3.0.3, and Cytoscape.js 3.34.0. Sigma v4 was still alpha, so the stable v3 line is used here.

Status terms: Supported means the core package or an official built-in capability can be used directly; Partial means clear boundaries apply; External means an official companion package, ecosystem extension, or application code is normally required; Not supported means the current public API has no equivalent.

Short recommendation

  • G6Lite is a compact WebGL graph engine for products that need frequent picking, state, and incremental updates after a large graph is rendered and can work within a controlled extension surface.
  • AntV G6 v5 is a full graph visualization framework for rich elements, animation, components, plugins, multiple renderers, and the broader AntV ecosystem.
  • sigma.js v3 is a WebGL renderer built on Graphology, well suited to large-network exploration with existing coordinates or a separate layout pipeline.
  • Cytoscape.js combines a graph-theory model with interactive visualization and fits applications that need graph queries, algorithms, mature extensions, and Node.js analysis.

Rendering, data, and layout

DimensionG6LiteAntV G6 v5sigma.js v3Cytoscape.js
RenderingSupported: WebGL 2/1 for nodes and edges; Canvas 2D for labels and combosSupported: AntV G renderers include Canvas, SVG, and WebGL, plus documented Node.js server renderingSupported: WebGL renderer aimed at graphs with thousands of nodes and edgesSupported: browser Canvas renderer; graph model can also run without a renderer
Data modelSupported: GraphData and one Graph API with business data and statesSupported: complete graph and element modelExternal: Graphology is the required graph modelSupported: built-in graph-theory model, collections, selectors, and queries
LayoutsSupported: 14 layouts from AntV Layout plus mindmap, indented, and fishboneSupported: more than ten layouts and custom layout supportExternal: normally Graphology layout packages, workers, or precomputed coordinatesSupported: core layouts plus a large layout-extension ecosystem
Worker / parallel layoutPartial: common layouts accept worker: true; custom layouts receive cancellation signalsSupported: official layout system includes parallel and extension optionsExternal: Graphology layout workers or application infrastructureExternal: depends on the selected layout extension
Incremental updatesSupported: node, edge, state, visibility, and camera batch/incremental APIsSupported: complete runtime data and element update APIsSupported: renderer reacts to Graphology mutationsSupported: collection mutations, batching, and style updates

Layout time and rendering-only time must be measured separately. A sigma.js case that reuses coordinates cannot be fairly compared with another candidate that recomputes a force layout as part of first render.

Elements, labels, and grouping

DimensionG6LiteAntV G6 v5sigma.js v3Cytoscape.js
NodesPartial: circle and rect built in; registered extensions reuse built-in primitives and overlaysSupported: rich built-in nodes, custom elements, and a React-node ecosystemPartial: built-in node programs and custom WebGL programsSupported: multiple shapes, mapped styles, and extensions
EdgesPartial: line, arc, polyline, cubic, arrows, routing, parallel edges, and edge extensionsSupported: rich edge types, routing, decorations, and custom elementsPartial: built-in edge programs and custom WebGL programsSupported: multiple curves, arrows, endpoints, and mapped styles
LabelsSupported: Canvas 2D labels, backgrounds, rotation, width limits, and custom Label RenderersSupported: node, edge, and combo labels with rich stylingPartial: node labels are core; edge labels and advanced typography commonly require extensions or customizationSupported: node and edge labels with rich text styling
Combo / compound nodePartial: declaration, nesting, collapse, regrouping, states, and group drag are supported but experimental in betaSupported: complete Combo element and interaction ecosystemNot supported: no equivalent visual group container in the core rendererSupported: compound nodes are part of the core model
Visual statesSupported: built-in/custom states, batching, state styles, queries, and visibilitySupported: element states and interaction integrationPartial: commonly represented with Graphology attributes, reducers, and application stateSupported: classes, selectors, styles, and interaction state

G6Lite node and edge extensions preserve its WebGL batching primitives. They are not direct replacements for arbitrary G6 v5 Canvas/SVG scene-graph subclasses. Validate G6 v5 or Cytoscape.js first when the product requires arbitrary paths, complex DOM/React nodes, or a complete shape tree.

Interaction, extension, and ecosystem

DimensionG6LiteAntV G6 v5sigma.js v3Cytoscape.js
Built-in interactionSupported: 11 Behaviors for zoom, pan, drag, selection, highlight, brush, lasso, tooltip, and edge endpoint dragSupported: more than ten Behaviors with a broader feature surfacePartial: camera, hover, click, and basic drag building blocks; editing is usually composed in the applicationSupported: core gestures, selection, dragging, and events
Custom interactionSupported: Behavior registration with create → init → getEvents → destroySupported: BaseBehavior and registration systemSupported: events, camera, reducers, and application logicSupported: event system, extensions, and application logic
Extension categoriesSupported: node, edge, label, decoration, layout, behavior, transform, pluginSupported: full element, Behavior, Layout, Transform, and Plugin systemPartial: custom programs, renderer settings, and the Graphology ecosystemSupported: layout, renderer, interaction, import/export, and analysis extensions
PluginsPartial: public Plugin lifecycle exists, but built-ins and community ecosystem are still smallSupported: mature built-in and ecosystem plugins such as toolbar, minimap, tooltip, and historyExternal: community packages and framework integrations provide many product componentsSupported: mature extension directory across layout, analysis, and UI
AnimationPartial: no general Graph animation orchestration API; isolated element effects or extensions are possibleSupported: element, layout, viewport, and transition animation systemPartial: camera and node-attribute animation utilities; complex timelines stay in application codeSupported: element and viewport animation APIs
Graph algorithmsNot supported: neighbor and adjacent-edge queries only; no built-in shortest-path or centrality suiteSupported: official package integrates @antv/algorithmExternal: use Graphology standard-library algorithm packagesSupported: traversal, shortest paths, centrality, connectivity, and other graph-theory APIs

Runtime and package shape

DimensionG6LiteAntV G6 v5sigma.js v3Cytoscape.js
Browser requirementsModern ESM, real DOM/Canvas, and WebGL 1.0+Depends on the selected renderer and build targetModern browser with WebGLBrowser Canvas; can also run headless
Node.js / SSRNo rendering: create Graph only in a client lifecycleSupported: official documentation describes Node.js server renderingPartial: Graphology runs in Node.js, while the Sigma renderer still needs a browser/WebGL environmentSupported: graph model and algorithms run headlessly in Node.js
TypeScriptBundled types; package-root exports define the public contractTypeScript source and complete typesBundled typesType declarations included
Maturity0.1.x beta with a controlled API surface and young ecosystemStable 5.1.1 with the broader AntV ecosystemStable 3.0.3; v4 is alphaStable 3.34.0 with long-running maintenance and extensions

How to choose

Prefer G6Lite when the target environment reliably supports WebGL; post-render picking, state, and batch updates are the main bottleneck; circle/rect nodes, common edge primitives, and controlled extensions cover the visual requirements; and SSR, a general animation system, and graph algorithms are not required.

Prefer G6 v5 when the product needs rich elements, the complete plugin and animation systems, multiple renderers, React nodes, 3D, or server-side rendering, and a broader capability surface matters more than the smallest runtime.

Prefer sigma.js when the team already uses Graphology, coordinates come from a backend or separate layout pipeline, and the main product workflow is browsing, filtering, and exploring large networks.

Prefer Cytoscape.js when graph-theory analysis, compound nodes, complex selectors, headless Node.js, and mature scientific/network-analysis extensions are central requirements.

Fair validation checklist

  1. Pin candidate versions, data, coordinates, styles, label policy, viewport, DPR, browser, and hardware.
  2. Split preset-coordinate and relayout cases, and report layout versus rendering-only time separately.
  3. Test drag, zoom, picking, highlighting, batch updates, and post-destroy memory trends in addition to first render.
  4. Use realistic combos, labels, arrows, and state counts instead of bare points and lines only.
  5. Record median, P95, sample count, and error, and archive the complete adapter and configuration.

See performance metrics and performance tuning for the G6Lite measurement workflow.

Official sources