One URL. No SDK.

Numbers you already have,
drawn where people look.

Make a chart, get a URL, and send it numbers with one line of curl. No client library, no agent, no auth header to remember. The picture is an SVG — put it in a README, a status page, a pull request, a Slack unfurl.

Free while it is small · 256 readings a chart · no card

api p95 latency line
28 / 256 readings
ExampleExample — line chart of 28 readings, latest 112 ms181112112 ms
What put it there
curl -fsS https://sparkline.dev/i/k3n8pq…/?value=112
How it goes

Three minutes, and then never again.

  1. 01

    Make a chart

    Name it, pick a shape and two colours. You get a public address for the picture and a secret key for the data — separate, so whoever can see a chart cannot write to it.

  2. 02

    Send it a number

    From a deploy script, a cron line, a CI step, a health check. Query string, form body or JSON — all three arrive the same way.

    curl -fsS $SPARKLINE_URL?value=42&label=build-1183
  3. 03

    Put it somewhere

    The chart is an SVG at its own URL. Anywhere an image goes, it goes — and it is current every time somebody loads the page.

    ![latency](https://sparkline.dev/g/k3n8pq7wv2xa.svg)
Four shapes

Whichever one tells the truth.

Bars start at zero and lines do not, because a bar chart floating above its own baseline is a lie and a line chart pinned to zero is a flat one. Nothing here smooths a curve through your data.

line · area

over time
ExampleExample — line chart of 28 readings, latest 112 ms

A value as it moves. Response times, queue depth, the size of a build.

bars

counted
ExampleExample — bars chart of 14 readings, latest 14

One bar per reading, read against zero. Deploys a day, errors an hour, sign-ups a week.

donut

composition
ExampleExample — donut chart of 4 readings, latest 61885api47%web30%worker16%cron7%

Each reading as a share of the whole, in a ramp between the two colours you picked — so a donut still looks like yours rather than like everybody's.

256 readings, then the oldest goes

A chart is a window on recent history, not an archive. Nothing to prune, nothing to bill you for, and the 257th reading pushes the first one off in the same transaction.

Two codes, two jobs

The address in the picture is public and read-only. The key that writes is separate, and rotating it takes one click — so a key pasted into the wrong Slack channel is a minute's problem.

No header, no token dance

The secret is in the path. That is a deliberate trade: it fits on one line of a Makefile, and a chart of build times is not worth an OAuth flow.

SVG, JSON, or a page

Add .svg for the picture, .json for the numbers, or neither for a page you can send somebody.

Sized where it is used

?w=&h= on the image URL. A README table wants something different from a wall display, and neither should need a second chart.

Nothing to install

No daemon on your box, no library in your lockfile, no SDK to keep up to date. If it has curl, it can draw.

You already print the number. Draw it.

Sign up, make a chart, paste one line into whatever already knows the answer.