TapCub is live — analytics, insights and live chat, free on one platform

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
Chart maker

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.

Runs entirely in your browser. Nothing you type here is uploaded or stored by TapCub.
Sessions by channelOrganic search 4,820, Direct 2,310, Social 1,240, Paid search 1,100, Email 860, Referral 540Sessions by channelOrganic search: 4,820 (44.3%)44.3%Direct: 2,310 (21.3%)21.3%Social: 1,240 (11.4%)11.4%Paid search: 1,100 (10.1%)10.1%Email: 860 (7.9%)7.9%Referral: 540 (5.0%)Organic search4,820 · 44.3%Direct2,310 · 21.3%Social1,240 · 11.4%Paid search1,100 · 10.1%Email860 · 7.9%Referral540 · 5.0%
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.

chart.svg
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 680 328" width="680" height="328" font-family="Inter,&quot;PingFang SC&quot;,&quot;Microsoft YaHei&quot;,&quot;Noto Sans SC&quot;,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

Is a pie right?

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.

How to use it

From spreadsheet to slide in four steps

The chart redraws as you type.

  1. 1

    Copy the cells

    Select the table in Excel, Google Sheets or Numbers — including the header row — and copy. Or paste CSV text.

  2. 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. 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. 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.

How it reads your data

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”.
What each chart expects
ChartColumnsExample row
Bar / linelabel, value, [value…]Jan, 1240, 860
Pielabel, value (positive)Email, 860
Funnelstep, count (in order)Added to cart, 1248
Sankeysource, target, valueGoogle, Pricing, 150
Worked example

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.

Sign-ups by channel, January to May
QuestionChartWhat it shows
Which channel brings the most?Bar, groupedOrganic leads every month; paid is second.
Is the total growing?Bar, stackedTotal rises from 2,410 in January to 3,220 in May.
Which channel is growing fastest?LineReferral 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.

Common mistakes

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.

FAQ

Chart 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.

Changelog

Update history

New features, fixes and data refreshes for this tool, newest first.

  1. · 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

See your data clearly. Find your growth.

Every click, backed by data. Install one line of code and see your first numbers in a minute.

No credit card · Free plans for analytics and chat · Cookieless analytics