ChartKit

Data to chart

If you already have clean metrics - arrays, spreadsheet columns, API responses flattened to numbers - this page is the shortest path to a hosted chart image.

or drag and drop a .csv file here

Best for small exports (under 2MB / ~500 rows). Large files are trimmed automatically.

Preview

Column mapping

3 columns detected

Set each column's role, rename it for the legend, and edit values inline. Changes apply to the chart live.

text

Jan, Feb, Mar

numeric

12000, 18000, 15000

numeric

2000, 3500, 2800

Charting 2 series against Month.

Chart options

Advanced

Makes X and Y axis labels larger. Applies to bar, line, area, and horizontal bar charts.

Your data stays private

Heuristic parsing and the live preview run locally in your browser. We do not save or sell uploaded files.

PNG download and shareable chart URLs send chart values to our servers (routine request logs only — not stored).

What counts as “data” here

ChartKit needs ordered labels and at least one ordered numeric series. Everything else (title, currency, PNG vs SVG) decorates that spine.

Pipelines that produce JSON can map into query strings - see JSON to chart. Spreadsheet column exports map naturally to CSV to chart or the CSV box below.

How CSV becomes a chart in ChartKitA three-step diagram: paste CSV rows with headers, assign columns as labels or numeric series, then preview an embeddable bar chart.1. Paste CSVMonth,RevenueJan,12000Feb,18000Mar,150002. Map columnsMonth → LabelsRevenue → SeriesUp to 5 series3. Chart previewJanFebMarRevenue by month
CSV headers become chart labels and numeric columns become series — then copy URL, HTML, or Markdown.

Use cases

Use case 1

ETL jobs that already output a small summary CSV for humans.

Use case 2

Notebook users who printed arrays and want a shareable graphic without matplotlib hosting.

Use case 3

PMs pasting Superset/Mode exports trimmed to a handful of rows.

Examples

Direct URL from known arrays

https://getchartkit.com/api/chart?type=line&labels=2019,2020,2021,2022,2023&s0=12,15,18,22,27&s0name=Headcount&title=Headcount+growth&valueFormat=number&format=svg

Currency-ready query

https://getchartkit.com/api/chart?type=bar&labels=P1,P2,P3&s0=125000.5,98000,140200&s0name=Bookings&valueFormat=currency&currencySymbol=%24&title=Pipeline&format=svg

PNG for locked-down viewers

https://getchartkit.com/api/chart?type=area&labels=Sprint+1,Sprint+2,Sprint+3&s0=38,44,41&s0name=Points&title=Velocity&format=png&w=640&h=380

How it works

Validate counts: every series must align with `labels` after trimming.

Pick `valueFormat` early so axes match how stakeholders talk (cash vs compact).

Store the final URL next to the dataset version in your changelog.

Use with ChatGPT or Claude

LLMs that emit structured rows can feed this page or the table to chart CSV flow.

Reference: URL parameters.

FAQ

Do you upload my data to a server?

You request a chart image URL; data appears in the query string or request. Treat sensitive metrics accordingly.

Can I embed in HTML?

Yes.

Markdown?

Yes.

JSON input?

JSON to chart explains mapping from objects to GET params.

Free?

Public interactive use is supported within limits.

More ChartKit tools