Boxplot Chart Generator

Turn a list, tidy group/value table, or wide CSV into a deterministic SVG box-and-whisker plot with quartiles, whiskers, outliers, mean markers, and optional JSON stats.

Try:
Boxplot output

About this tool

Boxplot Chart Generator renders box-and-whisker plots from pasted numeric data. Use it for quick distribution checks: compare latency by region, scores by class, order values by category, or spot outliers before you build a dashboard.

The tool accepts three common data shapes:

By default it uses linear quartiles, Tukey whiskers at 1.5 × IQR, outlier markers, a mean marker, and a light SVG chart. Switch output to summary for a text table or json for scriptable stats.

Worked example

Paste this data:

group,value
A,1
A,2
A,3
A,4
B,5
B,6
B,7
B,20

Keep layout=auto, whiskers=tukey, and points=outliers. Group B's value 20 sits beyond the Tukey fence, so it is drawn as an outlier point while the whisker stops at the highest non-outlier value.

Limits and edge cases

FAQ

Which quartile method should I choose?

Use linear when you want percentile-style interpolation, which is common in charting tools and spreadsheets. Use inclusive or exclusive when you need to match a specific statistics package or classroom convention. The summary and json outputs make it easy to compare the resulting Q1, median, and Q3 values.

Why does an outlier not move the whisker all the way to the maximum?

With whiskers=tukey, whiskers stop at the most extreme value still inside Q1 - k×IQR and Q3 + k×IQR. Values outside those fences are outliers and are drawn separately. Choose whiskers=minmax if you want whiskers to span the full data range.

How do I plot grouped CSV data?

Paste a table with one group column and one numeric value column, such as region,latency_ms. layout=auto usually detects this; if your headers are unusual, set layout=long, group_column=region, and value_column=latency_ms explicitly.

Can I use the output in documentation or a report?

Yes. The default output is plain SVG markup, so you can save it as an .svg file, paste it into HTML/Markdown workflows that allow SVG, or switch to summary/json when you need the computed statistics instead of the chart image.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool boxplot-chart "group,value
A,1
A,2
A,3
A,4
B,5
B,6
B,7
B,20"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/boxplot-chart/?data=group%2Cvalue%0AA%2C1%0AA%2C2%0AA%2C3%0AA%2C4%0AB%2C5%0AB%2C6%0AB%2C7%0AB%2C20&layout=auto&group_column=group&value_column=value&quartile_method=linear&whiskers=tukey&iqr_multiplier=1.5&percentile=5&points=outliers&show_mean=true&notched=true&orientation=vertical&grid=true&title=Latency%20by%20region&value_label=Latency%20%28ms%29&group_label=Region&width=800&height=480&color=%232563eb&theme=light&output=svg

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.