Beautiful charts,honestly tiny.
A zero-dependency SVG charting library. ~13KB gzipped, fast by default, WCAG AA, server-renderable — with React, Vue, Svelte, and a <chart-lite> web component.
- 0KB
- gzipped
- 0
- deps
- 0
- chart types
- 0%
- WCAG AA
Revenue
$0k
Eight chart types
One tiny library, every chart you actually need.
Line, bar, area, scatter, pie & donut, radial gauges, sparklines, and combo — all live below, and themed entirely with CSS variables (try the theme toggle up top).
Line & area
lineGrouped bars
barCombo
comboDonut
pieRadial gauge
radialScatter
scatterUse it anywhere
One core. Every framework.
A zero-dependency core with first-party wrappers for React, Vue, and Svelte — plus a <chart-lite> web component that drops into Angular, Astro, or plain HTML.
The exact chart every snippet renders — live, right here.
import { ComboChart } from '@chartlite/react';
<ComboChart data={data} />Theme with pure CSS
Re-theme without re-rendering.
Pass cssVars and every color becomes a CSS custom property. Restyle palettes, or flip light/dark, entirely in CSS — no JavaScript, no redraw. Pairs with SSR for zero-JS theming.
Palette
Mode
.chart {
--cl-series-0: #22d3ee;
--cl-series-1: #a855f7;
}Agent-native
A charting library your tools understand.
Declarative specs, server rendering, an MCP server, and machine-readable schemas — so humans and agents build the same charts the same way.
Rendered on the server — this SVG is in your page source. No client JS ran.
The spec →
import { renderToString } from '@chartlite/core/server';
const svg = renderToString({
"type": "combo",
"cssVars": true,
"width": 640,
"height": 340,
"title": "Monthly growth",
"data": {
"series": [
{
"name": "Signups",
"dataKey": "signups",
"type": "bar"
},
{
"name": "Active",
"dataKey": "active",
"type": "line"
}
],
"data": [
{
"x": "Jan",
"signups": 120,
"active": 80
},
{
"x": "Feb",
"signups": 180,
"active": 110
},
{
"x": "Mar",
"signups": 160,
"active": 140
},
{
"x": "Apr",
"signups": 240,
"active": 190
},
{
"x": "May",
"signups": 300,
"active": 230
},
{
"x": "Jun",
"signups": 280,
"active": 280
}
]
}
});SSR
Render on the server
renderToString(spec) turns a chart spec into an SVG string in Node, Bun, or the edge — no browser, no jsdom. Ship charts with zero client JavaScript.
import { renderToString } from '@chartlite/core/server';
const svg = renderToString({ type: 'line', data });MCP
Agents render charts
The @chartlite/mcp server exposes render_chart and list_chart_types over the Model Context Protocol, so assistants can turn data into charts directly.
{ "tool": "render_chart",
"spec": { "type": "bar", "data": [1,2,3] } }Machine-readable
Built for LLMs
A published JSON Schema for every chart spec, plus llms.txt and AGENTS.md, so tools and agents can discover and drive the whole API with confidence.
chartlite.dev/llms.txt
@chartlite/core/schema.jsonReady in one line
Beautiful charts, shipping today.
Zero dependencies. ~13KB gzipped. MIT licensed. Pick your framework and go.