Chart maker · Pie Pie chart maker
Paste categories and values and get a pie chart with percentages on the slices and a legend with the exact numbers. The tool also tells you when a pie is the wrong chart — too many slices, a total row, or percentages that don’t add up.
- Paste from Excel, Sheets or CSV
- SVG, PNG and embed code
- Runs locally
Paste data, pick a chart
First column = categories (or the x-axis); every other column = one series. A first row with names is used as the header. For a Sankey diagram, paste source, target, value rows instead.
Tabs (copied from a spreadsheet), commas or semicolons. 1,200, 12%, $5.40 and −30 are all read as numbers.
Paste a table on the left to draw a chart.
Step conversion
Inline SVG embed code
Paste it straight into an HTML page, a CMS block that accepts HTML, or a Markdown file that allows HTML. It scales to its container and has a title for screen readers.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 680 328" width="680" height="328" font-family="Inter,"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif" role="img" aria-label="Sessions by channel" style="display:block;max-width:100%;height:auto;margin:0 auto"><title>Sessions by channel</title><desc>Organic search 4,820, Direct 2,310, Social 1,240, Paid search 1,100, Email 860, Referral 540</desc><rect width="680" height="328" fill="#ffffff"/><text x="16" y="28" font-size="16" font-weight="700" fill="#0b0f19">Sessions by channel</text><path d="M154 182L154 52A130 130 0 0 1 199.2 303.9Z" fill="#2050f0" stroke="#fff" stroke-width="2" stroke-linejoin="round"><title>Organic search: 4,820 (44.3%)</title></path><text x="238.4" y="170.8" text-anchor="middle" font-size="12" font-weight="600" fill="#ffffff">44.3%</text><path d="M154 182L199.2 303.9A130 130 0 0 1 46.1 254.4Z" fill="#eb6834" stroke="#fff" stroke-width="2" stroke-linejoin="round"><title>Direct: 2,310 (21.3%)</title></path><text x="127.7" y="267.7" text-anchor="middle" font-size="12" font-weight="600" fill="#ffffff">21.3%</text><path d="M154 182L46.1 254.4A130 130 0 0 1 25 165.7Z" fill="#1baf7a" stroke="#fff" stroke-width="2" stroke-linejoin="round"><title>Social: 1,240 (11.4%)</title></path><text x="70.5" y="205.8" text-anchor="middle" font-size="12" font-weight="600" fill="#ffffff">11.4%</text><path d="M154 182L25 165.7A130 130 0 0 1 59.9 92.3Z" fill="#eda100" stroke="#fff" stroke-width="2" stroke-linejoin="round"><title>Paid search: 1,100 (10.1%)</title></path><text x="76.5" y="149.2" text-anchor="middle" font-size="12" font-weight="600" fill="#0b0f19">10.1%</text><path d="M154 182L59.9 92.3A130 130 0 0 1 114.1 58.3Z" fill="#e87ba4" stroke="#fff" stroke-width="2" stroke-linejoin="round"><title>Email: 860 (7.9%)</title></path><text x="108.4" y="113.3" text-anchor="middle" font-size="12" font-weight="600" fill="#ffffff">7.9%</text><path d="M154 182L114.1 58.3A130 130 0 0 1 154 52Z" fill="#008300" stroke="#fff" stroke-width="2" stroke-linejoin="round"><title>Referral: 540 (5.0%)</title></path><rect x="320" y="113" width="10" height="10" rx="2" fill="#2050f0"/><text x="336" y="122" font-size="12" fill="#0b0f19">Organic search</text><text x="664" y="122" text-anchor="end" font-size="12" fill="#6b7280">4,820 · 44.3%</text><rect x="320" y="137" width="10" height="10" rx="2" fill="#eb6834"/><text x="336" y="146" font-size="12" fill="#0b0f19">Direct</text><text x="664" y="146" text-anchor="end" font-size="12" fill="#6b7280">2,310 · 21.3%</text><rect x="320" y="161" width="10" height="10" rx="2" fill="#1baf7a"/><text x="336" y="170" font-size="12" fill="#0b0f19">Social</text><text x="664" y="170" text-anchor="end" font-size="12" fill="#6b7280">1,240 · 11.4%</text><rect x="320" y="185" width="10" height="10" rx="2" fill="#eda100"/><text x="336" y="194" font-size="12" fill="#0b0f19">Paid search</text><text x="664" y="194" text-anchor="end" font-size="12" fill="#6b7280">1,100 · 10.1%</text><rect x="320" y="209" width="10" height="10" rx="2" fill="#e87ba4"/><text x="336" y="218" font-size="12" fill="#0b0f19">Email</text><text x="664" y="218" text-anchor="end" font-size="12" fill="#6b7280">860 · 7.9%</text><rect x="320" y="233" width="10" height="10" rx="2" fill="#008300"/><text x="336" y="242" font-size="12" fill="#0b0f19">Referral</text><text x="664" y="242" text-anchor="end" font-size="12" fill="#6b7280">540 · 5.0%</text></svg>Version v1.0Updated Update history
What data suits a pie chart
A pie answers one question: how is one whole divided? If your data doesn’t form a whole, no styling will fix it.
Parts that add up to a real total
Sessions by channel, revenue by product line, survey answers to one single-choice question. Each item belongs to exactly one slice.
Few slices, sorted
Up to about seven. Sorted largest first, starting at 12 o’clock, so the reader compares neighbours. More slices are grouped as “Other”.
Not for multi-choice answers
If people could tick several boxes, the shares add up to more than 100% and a pie is wrong. Use a bar chart.
Not for comparisons over time
Two pies side by side (this year vs last) are hard to compare by angle. A stacked bar or a line of the shares works better.
The percentages on the slices are each value ÷ the sum of all positive values. Negative and zero rows are left out and listed.
From spreadsheet to slide in four steps
The chart redraws as you type.
-
1
Copy the cells
Select the table in Excel, Google Sheets or Numbers — including the header row — and copy. Or paste CSV text.
-
2
Paste and pick a type
The first column becomes the categories; each other column becomes a series. Pick the chart type; the checks under the chart tell you if the data does not fit it.
-
3
Tidy it up
Add a title, choose a palette, sort bars largest first, switch bars to horizontal for long names, stack or group several columns.
-
4
Export
Download a PNG for slides and chat, an SVG for print and design tools, or copy the inline SVG to embed it in a web page.
The parsing rules
The tool guesses as little as possible and tells you when it had to.
- Separator: tabs if the text has any (that is what a spreadsheet copy gives you), otherwise whichever of comma, semicolon or vertical bar gives the most consistent columns. Quoted CSV cells are supported.
- Header: the first row is a header if any cell after the first column is not a number.
- Numbers: thousands separators, currency symbols, a trailing %, a leading minus or accounting brackets, full-width digits and 万 / 亿 / k suffixes are understood. Anything else is left empty and listed.
- Limits: 200 rows and 8 number columns. Pie charts keep the 7 largest slices and group the rest as “Other”.
| Chart | Columns | Example row |
|---|---|---|
| Bar / line | label, value, [value…] | Jan, 1240, 860 |
| Pie | label, value (positive) | Email, 860 |
| Funnel | step, count (in order) | Added to cart, 1248 |
| Sankey | source, target, value | Google, Pricing, 150 |
One table, three honest charts
The default data is five months of sign-ups from three channels. The same numbers answer different questions depending on the chart.
| Question | Chart | What it shows |
|---|---|---|
| Which channel brings the most? | Bar, grouped | Organic leads every month; paid is second. |
| Is the total growing? | Bar, stacked | Total rises from 2,410 in January to 3,220 in May. |
| Which channel is growing fastest? | Line | Referral grows 48% (310 → 460), organic 41%, paid 17%. |
| What share was referral in May? | Pie (May only) | 460 of 3,220 = 14.3%. |
Percent change = (May − January) ÷ January. Paste just the May column into a pie to check the share yourself.
Charts that mislead without lying
Every number can be right and the chart still gives the wrong impression.
Bars that don’t start at zero
A bar’s length is its value. Cut the axis at 900 and 950 looks twice as big as 925. This tool always starts bars at zero; lines may zoom in.
Pies with a total slice
A “Total” row pasted with the parts makes every slice half its real size. The tool warns when a row equals the sum of the others.
Two y-axes
With two scales, where the lines cross is decided by whoever set the axes. Use two charts, or index both series to 100.
Colour as the only label
About one man in twelve has some colour-vision deficiency. Every chart here also names its series in a legend or label.
Charts that stay up to date
A pasted chart is a snapshot. In TapCub the same charts are built from live events and refresh by themselves.
Dashboards
Pin charts from any report and share them with your team, or by read-only link.
Learn moreFunnels and paths
Step conversion, time between steps, and the real paths before and after any event.
Learn moreAsk in plain language
Type a question and get a chart with a one-line conclusion.
Learn moreChart maker questions
Still have a question?
Chat with the team behind TapCub — we usually reply within a few hours on business days.
How many slices should a pie chart have?
Up to about seven. Beyond that the slices get too thin to compare, so this tool keeps the seven largest and groups the rest as “Other”, and suggests a bar chart.
My percentages add up to 99.9% — is that a problem?
No: rounding. The tool only warns when a column of percentages is more than half a point away from 100%, which usually means a missing category or overlapping answers.
Can a pie chart show negative values?
No. A slice is a share of a whole, and a share cannot be negative. Negative or zero rows are left out with a note; use a bar chart for data with losses.
Pie or donut?
They read the same; a donut only frees the centre for a label. This tool draws a full pie and puts the exact values in the legend.
How do I make a pie chart in Excel or PowerPoint?
In Excel, select the labels and values and pick Pie from the Insert tab; in Google Sheets, Insert → Chart, then choose Pie chart. In PowerPoint, Insert → Chart → Pie opens a small sheet for the data. If you only need the picture, make it here and paste the PNG or SVG into your slide; the percentages are already on the slices.
Update history
New features, fixes and data refreshes for this tool, newest first.
-
· v1.0
LaunchedFirst release.
Missing something or found an error? Tell us — requests that come up often go into the next update. All tool updates
Stop rebuilding the same chart every week
Connect your site or app once and the traffic, funnel and retention charts build themselves from live data.