Zero dependencies · Pure JavaScript

Data visualizationwithout the baggage.

Datum is a lightweight, layer-based visualization library for building rich, interactive charts with vanilla JavaScript.

$npm i @psdpainter/datum-js
Interactive visualization
LIVE DATUM
Built for developers

Everything you need.
Nothing you don't.

Build expressive visualizations with a small, composable API and no external runtime dependencies.

Zero dependencies

Pure vanilla JavaScript with no external visualization framework required.

Lightweight by design

Layer-based composition

Combine lines, areas, bars, dots, rulers and other layers inside a single visualization.

Explore layers →

Interactive by default

Crosshairs and tooltips provide coordinated context across composed data layers.

View documentation →

Flexible data

Work directly with primitive arrays or map object properties to visualization dimensions.

Data options →
{ }

Native ES modules

Import only what you need with a modern, straightforward JavaScript API.

Built for modern browsers
Composable by design

Build charts by composition.

A Datum chart is a collection of independent layers. Add the visual primitives you need and let them share the same coordinate system.

composition.js
Datum.chart({
    target: '#chart',

    datum: [
        Datum.area(values, {
            fill: Color.Blue,
            opacity: 0.2
        }),

        Datum.line(values, {
            stroke: Color.Blue,
            smooth: true
        }),

        Datum.dot(values, {
            stroke: Color.Blue,
            fill: '#ffffff'
        }),

        Datum.ruler([], {
            value: 25,
            dashed: true
        })
    ]
});
Composition preview4 layers
Ready to build?

Start creating with Datum.

Install Datum and create your first visualization in a few lines of JavaScript.