Skip to content

KladCanvas Tree Engine

Draw a tree the way it wants to be read — tiered, indented, radial or as a wheel

A tree of six cards in perspective, floating above their connectors

Quick Start

bash
npm install @klad/core
ts
import { createKlad } from '@klad/core'

const chart = createKlad(document.getElementById('chart')!, {
  data: [
    { id: 'ceo', name: 'Jamie Fox', title: 'CEO' },
    { id: 'cto', parentId: 'ceo', name: 'Amy Chen', title: 'CTO' },
    { id: 'cfo', parentId: 'ceo', name: 'Priya Rao', title: 'CFO' },
  ],
  nodeSize: { w: 180, h: 64 },
  label: (item) => String(item.name ?? ''),
})

Pan, zoom, click, keyboard navigation. data is flat — { id, parentId?, ...yours } — so the array from your API is usually already the right shape.

If you like this library, please consider giving it a star on GitHub or sponsoring the project.

AGPL-3.0-or-later, with a commercial licence available.