All 141 tools / Charts and data
Check a chart spec for misleading design, with the lie factor worked out when the baseline is truncated
Chart honesty checkFreeFor designers, researchers and product teams
10 min
saved on a typical run. Our estimate, against computing the lie factor and drawn size ratios by hand.
Before: what you give it
The example input, as typed in. You give it structured JSON.
spec: {"type":"bar","title":"Revenue","threeD":false,"labels":["2023","2024"],"series":[{"name":"Revenue","values":[50,52]}],"axis":{"min":48,"max":54},"decoration":["gradient","shadow","heavyGridlines"]}
After: what comes back
The first lines of a real run on that input. Nothing here is edited by hand.
Chart lint: bar chart, 1 series, 2 points 1 error, 3 warnings, 1 note. [ERROR] truncated-baseline: The bars start at 48 instead of zero. Lengths are read as proportions, so the largest value (52) is drawn 100% taller than the smallest (50) while the data differs by 4%. Lie factor 25 (graphic effect divided by data effect; 1.00 is honest). Start at zero, or switch to a dot plot or line where a non-zero baseline is accepted. [WARN] no-source: No source. Add who collected the data and the date, so the numbers can be checked. [WARN] no-units: No units or value-axis label. A bare number leaves the reader guessing between counts, percent and currency. [WARN] chartjunk: 3 decorative elements reported (gradient, shadow, heavyGridlines). Each one uses ink that carries no data, which lowers the data-ink ratio (share of the ink that shows data). Remove or lighten ones that do not help reading. [INFO] thin-title: The title "Revenue" is one or two words. Say what is measured, where and when.
What you get
Findings with severity, a plain explanation and the numbers, covering baselines, 3D, dual axes and pies
What it cannot do
Reads a JSON spec, not an image of a chart; the lie factor comes from your first series only.
Who it is for
- Designers
- Researchers
- Product teams
Free and Pro
| Free | 25 runs a day per IP address, up to 50,000 characters a run. |
|---|---|
| Pro | No daily limit, 300 requests a minute, up to 200,000 characters a run. |
Use it from your assistant
The tool is called chart_lint. Connect the server once, then ask for it by name or just describe the job. Install steps for each app.
claude mcp add --transport http designers https://designers.allthepossibles.com/mcp
curl -X POST https://designers.allthepossibles.com/api/chart-lint -H 'content-type: application/json' -d '{"spec":{"type":"bar","title":"Revenue","threeD":false,"labels":["2023","2024"],"series":[{"name":"Revenue","values":[50,52]}],"axis":{"min":48,"max":54},"decoration":["gradient","shadow","heavyGridlines"]}}'
Try it here
The form starts with the same example input, so you can run it first and then swap in your own.
More in charts and data
- Tracking plan
Check a product analytics event list for naming drift, vague events and personal data in properties.
- Chart chooser
Pick a chart type from the question you are asking and the shape of your data, with types to avoid
- Chart colour check
Check chart series colours for contrast, colour-blind confusion and too many hues against your background
- Table or chart
Decide whether your data should be a table, small multiples, a sparkline or a chart
- Number format check
Audit how numbers are displayed for mixed decimals, separators, suffixes and rounding that breaks a total