Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Sankey Diagram Maker

Flow diagrams for budgets, funnels and energy, from a table or “A [10] B” lines.

Data No upload Works offline Free preview, no sign-upIncluded in your pass Pro tool Pro pass: ₹179 for 30 days

Try before you buy.

  • Free preview: the diagram at preview size (up to 640 pixels) with a watermark, the node and flow counts, and the first nodes of the totals table (up to 10).
  • Locked until you unlock it: download and copy.
  • Unlock: Pro pass, ₹179 for 30 days, a one-time payment that never renews.

Ways to unlock shows how to get the full result.

See passes (opens in a new tab)

Printing this result is locked in the free preview.

One flow per line as Source [Amount] Target ([*] = what is left, // = a comment), or a table with source, target and amount columns, or one column per stage for an alluvial diagram.

Diagram

Layout and colours

Labels

Node totals

Node Column In Out In − out Share of total

Next steps

About the Sankey Diagram Maker

A Sankey diagram shows how amounts flow from one stage to the next — income into a budget and out to rent, food and savings; visitors from search and social media through a website to a purchase; energy from its sources to its uses and losses. Each flow is a band whose width is proportional to its amount, so the big flows stand out at a glance.

Type one flow per line as Source [Amount] Target (the format SankeyMATIC uses, with [*] for “whatever is left”), paste a table of source, target and amount columns, or paste one row per person or item with a column per stage for an alluvial diagram. Labels show each node’s amount and its share of the total, colours follow the source or the target of each flow, and the layout keeps crossings few. Everything is drawn in your browser.

How to use it

  1. Type or paste your flows into Your data: lines such as Salary [4200] Budget, or a table with Source, Target and Amount columns copied from a spreadsheet. Pick an example to start from one.
  2. Check Read as: flow lines, a flow table (choose the source, target and amount columns), or stages for an alluvial diagram (one column per stage, and a count column if each row stands for more than one).
  3. Read the problems listed under the data, if any: a line the tool cannot read, an amount of 0, or flows that go round in a loop.
  4. Choose how nodes line up and are ordered, the colours of the flows, what each label shows (name, amount, share) and a unit such as $ or kWh; add a title and a note.
  5. Download the diagram as PNG or SVG, copy its SVG code, or download the node totals and the flows as CSV — with a Pro pass, or after unlocking this result; without one the page shows a free preview.

Examples

A budget with [*]
Input
Salary [4200] Budget
Side job [600] Budget
Budget [1500] Rent
Budget [600] Food
Budget [300] Transport
Budget [400] Bills
Budget [*] Savings
Result
Savings = 4800 − 2800 = 2000, drawn as 41.7 % of the total

[*] takes whatever the source has left after its other flows.

A table from a spreadsheet
Input
Source, Target, Visitors
Search, Landing page, 5200
Landing page, Product page, 4100
Product page, Cart, 1500
Result
Three columns of nodes joined by bands 5200, 4100 and 1500 wide
An alluvial diagram
Input
Plan last year, Plan this year, Customers
Basic, Pro, 45
Basic, Basic, 120
Pro, Left, 10
Result
Two stages; “Basic” last year splits into 120 who stayed and 45 who moved to Pro

Common uses

  • Showing where a monthly or yearly budget goes, from every income to every expense and saving.
  • Website, app or sales funnels: where visitors come from, where they leave and how many buy.
  • Energy, water or material balances: sources, uses and losses.
  • Customers or students moving between plans, classes or grades from one year to the next (alluvial).
  • Turning a table of from–to–amount rows into a picture for a report or slide.

The line format

One flow per line: the source node, the amount in square brackets, the target node — Salary [4200] Budget. Node names may contain spaces, digits and emoji, and the same name on several lines is the same node, so flows join up (names are case-sensitive: “Rent” and “rent” are two nodes).

  • [*] — the flow takes whatever its source has left after its other flows; [?] — it brings whatever its target still needs. A result below 0 is counted as 0, and the flow is left out.
  • A colour after the target paints that flow: Budget [600] Food #E69F00, with an opacity after a dot: #E69F00.7.
  • :Savings #009E73 colours a node; add >> to paint its outgoing flows or << for its incoming ones.
  • Lines starting with // are comments.

This is the syntax of SankeyMATIC, so diagrams typed there can be pasted here; the settings and moved nodes that SankeyMATIC adds to its text are left out (with a note), and the look is chosen with the options on this page.

Tables and alluvial stages

A flow table has a source column, a target column and an amount column; columns named Source/From, Target/To and Value/Amount/Count are found by themselves, and three unnamed columns are read in that order. Rows with the same source and target are added together, and a table without an amount column counts each row as 1.

For an alluvial diagram, give each stage its own column and each person, customer or item its own row (or add a count column). Values are drawn per stage, so “Basic” last year and “Basic” this year are separate nodes with the same colour. When a table repeats the same names in its first two columns, it is drawn this way automatically.

How the diagram is laid out

Nodes are placed in columns by the longest chain of flows that leads to them; with Justify, nodes with no outgoing flows move to the right-hand edge, while Left keeps each node right after its sources (good for funnels with exits at every step). Node heights use one scale for the whole diagram, so equal amounts are equally tall, and a node is as tall as the larger of what flows in and what flows out.

With Order: Fewer crossings, the tool then moves each node a few times towards the middle of the nodes it is linked to and pushes overlapping nodes apart; As in the data keeps your order, and Largest first sorts each column. Flows leave and enter each node in the order of the nodes at their other end. Labels that would overlap are left out (with a note), and an amount is never cut short: where it has no room, the label shows the shorter form (the amount without its share) or the name alone. Hover over a node or flow in the diagram to read its amount; the table under the diagram has every node’s totals.

Percentages and imbalances

The total is everything that flows out of the nodes nothing flows into — all incomes in a budget, all visitors in a funnel, all rows of an alluvial diagram — and every share is a node’s amount divided by it. When a node receives more than it sends on (or the other way round), the tool says which one and draws it at its larger amount; add a flow, or use [*] or [?], to show the difference.

Limitations

  • Flows cannot go round in a loop (Budget → Savings → Budget): give the node a second name for its second appearance, such as “Budget (next month)”.
  • With three or more alluvial stages, each pair of neighbouring stages is counted on its own: the diagram shows how many go from each value to the next, not the whole path of every row.
  • Up to 300 nodes and 3,000 flows; amounts must be greater than 0. Flows are drawn as bands of one colour (no gradients).
  • Tables of up to 10,000 rows (of a file, its first 10,000 rows); for an alluvial diagram of more people or items, add a count column and one row per combination of values.
  • Very small flows can be thinner than a pixel; they are drawn at least one pixel wide, so the widths of tiny flows are not to scale.

Privacy

Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.

Frequently asked questions

What do I get without a pass?

Without a pass, Sankey Diagram Maker shows the diagram at preview size (up to 640 pixels) with a watermark, the node and flow counts, and the first nodes of the totals table (up to 10). Until you unlock it, the result can’t be downloaded or copied. A Pro, Premium or Ultimate pass, a one-time payment that never renews, unlocks the full result. The pricing page lists the passes and their prices.

How do I make a Sankey diagram from Excel?

Put the source in one column, the target in the next and the amount in the third, copy the cells and paste them into Your data (or open the file). The columns are found by their names or their order.

What does [*] mean?

It is an amount the tool works out: whatever the source node has left after its other flows. In Budget [*] Savings, Savings gets the budget’s income minus every other expense. [?] works the other way: the flow brings whatever its target still needs.

Why does it say my flows go round in a loop?

A Sankey diagram flows in one direction, so a node cannot (directly or through others) flow back into itself. Rename the node where it appears the second time, for example “Savings (next year)”.

What is the difference between a Sankey and an alluvial diagram?

Both draw flows as bands. A Sankey diagram links any nodes to any others; an alluvial diagram has fixed stages (such as last year and this year) and shows how rows move between the values of one stage and the next.

Can I change the colours?

Choose a palette and whether flows take the colour of their source or their target, or use grey flows. For a single node or flow, add a colour in the line format: :Savings #009E73 >> or Budget [600] Food #E69F00.

Is my data uploaded?

No. The diagram is laid out and drawn in your browser, and files you open stay on your device.

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.