# kieler/elkjs

ELK's layout algorithms for JavaScript

Repository: https://github.com/kieler/elkjs
Canonical: https://ross.abutalabs.com/products/elkjs
Language: JavaScript
License: NOASSERTION
License Family: other
Topics: diagram-layout, layout-algorithm, graph-layout, layered-layout
Last push: 2026-08-13T11:39:06+00:00

## Health v2 (maintenance only)
Score: 88/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 97, release rhythm 69, longevity 100
- inputs: {"age_days": 3341, "days_push": 20, "days_rel": 47, "gap_med": 104, "n_releases_24m": 6}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2726, forks 121 (observed 2026-08-28T04:07:15.829593+00:00)

## What it is
elkjs is a JavaScript port of the Eclipse Layout Kernel (ELK), providing automatic graph layout algorithms, most notably a layer-based (Sugiyama) algorithm suited for directed node-link diagrams with ports. It computes element positions only - it is not a diagramming or rendering framework.

## Use cases
- automatically lay out graph diagrams in the browser
- compute node and edge positions for flowcharts or dataflow diagrams
- add layered graph layout to a JavaScript diagram editor
- route edges in node-link diagrams with ports
- integrate automatic layout with sprotty or other diagram frameworks

## When to choose
- you need automatic, deterministic graph layout in JavaScript or a web app
- your diagrams are directed with ports and benefit from layered (Sugiyama) layout
- you already have a rendering/diagramming layer and only need layout computation

## When to avoid
- you need a full diagramming framework with rendering, styling, or interaction
- you need standalone edge routing only (a known limitation)
- you need a non-JavaScript environment - use the native Eclipse ELK instead

## Facets
- artifact type: library
- maturity: active
- function: graphics, developer-tools
- domain: graphics, web-development, developer-tools
- platform: browser, cross-platform
- tags: graph-layout, diagram-layout, layered-layout, sugiyama-algorithm, elk, edge-routing, dataflow-diagrams, nodejs, javascript

## Member repositories
- kieler/elkjs (main) score 88

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:15.829593+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:14:44.973355+00:00, confidence not recorded.
  - readme: https://github.com/kieler/elkjs (fetched 2026-08-28T04:07:15.829593+00:00, sha 14cfb0d43d6a)
  - registry_npm: https://registry.npmjs.org/elkjs (fetched 2026-08-29T09:58:12.154380+00:00, sha 839cbe8ce161)
- Data as of 2026-08-30T08:39:29.467469+00:00.
