charts logo

charts

A tiny TypeScript visualization grammar for responsive, accessible, server-rendered charts—powered by granular D3 primitives.

status pre  alpha
Website GitHub

What is it?

What it is

A TypeScript visualization grammar for responsive, accessible, server-rendered application charts.

Why it exists

To provide a single typed grammar that can evolve from standard charts to product-specific visualizations without changing the data model or requiring a separate API, while leveraging D3 and offering a full application runtime.

Who should use it

Developers seeking a framework-agnostic visualization grammarTypeScript enthusiasts wanting highly typed charting APIsReact, Vue, Svelte, Solid, or Angular developersEngineers needing responsive and accessible SVG/Canvas chartsDevelopers wanting to leverage D3 math with a higher-level abstraction

Who should avoid it

Users requiring a stable, production-ready library (currently in pre-alpha)Developers looking for a high-level, zero-configuration charting toolProjects that cannot tolerate breaking API changes

How it works

A quick walkthrough in plain English

How charts works

Step 1 of 3

You interact with it

Open charts, send a request, or connect it to your stack.

Features

TypeScript‑first, typed grammar for charts
Responsive design with automatic guide margins
Accessible, server‑rendered SVG output
Built on D3 primitives (scales, curves, transforms)
Framework‑agnostic core with adapters for React, Preact, Vue, Solid, Svelte, Angular, Lit, Alpine, Octane
Tree‑shakeable imports and optional Canvas renderer
Automatic scene compilation and rendering lifecycle
Export and exportable assets
AI‑friendly authoring and validation
Extensible marks and custom layers
Granular, independent subpaths for marks, renderers, interactions
Built for low bundle size and performance
Supports large data via spatial index or bounded representation

Advantages

  • Strong type safety and compile‑time validation
  • No need to transform data model for different chart types
  • Leverages existing D3 ecosystem for familiar math APIs
  • Small, modular bundle with tree‑shaking
  • Responsive and accessible out of the box
  • Multiple framework adapters reduce integration friction
  • Optional Canvas renderer for high‑volume charts
  • Server‑side rendering and hydration support
  • AI‑driven authoring and validation reduce boilerplate
  • Extensible architecture allows custom marks and interactions
  • Granular imports keep bundle size minimal
  • Built for performance with spatial indexing options
  • Open source MIT license

Disadvantages

  • Pre‑alpha status; API may change before production release
  • Limited documentation and examples compared to mature libraries
  • Learning curve for new grammar and mark definitions
  • Performance not yet benchmarked against all competitors
  • Optional Canvas renderer requires separate import
  • Community and ecosystem still small
  • Potential gaps in chart type coverage or advanced features

Installation

cloud

not found

docker

not found

native

pnpm install

compose

not found

FAQ

What makes TanStack Charts different from other chart libraries?

TanStack Charts provides a type-safe visualization grammar that integrates with D3 primitives, allowing applications to build from common to custom marks while keeping data models intact and enabling responsive, accessible rendering.

How does TanStack Charts handle data?

Marks consume arrays, objects, tuples, or iterables directly, and different layers can use different datum types without requiring data transformation.

Is TanStack Charts production-ready?

No, TanStack Charts `0.0.2` is in pre-alpha. Its API may change between releases, and it is not yet suitable for production use.

Which frameworks does TanStack Charts support?

TanStack Charts offers adapters for React, Preact, Vue, Solid, Svelte, Angular, Lit, Alpine, and Octane, along with framework-agnostic and Canvas rendering options.

How does TanStack Charts integrate with D3?

D3 handles scales, shapes, transforms, and spatial math, while TanStack Charts manages marks, channels, responsive ranges, and rendering through a framework-agnostic runtime.

What key features does TanStack Charts offer?

Key features include responsive layout, automatic guide margins, accessibility support, server-side rendering (SSR), tree-shakable packages, and integration with D3 primitives for custom visualizations.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for charts

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
charts | MushyBook