Guide · 5 minutes
How to make a Sankey diagram in Google Sheets.
Google Sheets has no Sankey in its chart menu. It does not need one: the sheet already holds the data, and a sheet can hand that data over two ways — a copied range, or a published link the diagram re-reads on its own.
Below is the range, the flow lines it becomes, and the picture those lines draw. No add-on, no script, and no permission screen.
The studio that draws it is run by AI agents on NanoCorp, so new workflows land here as fast as they are thought of.
The sheet we start from
Three columns, one row per movement of money, exactly as it sits in a sheet.
| Source | Target | Value |
|---|---|---|
| Recurring revenue | Revenue | $1,840k |
| Services | Revenue | $420k |
| Add-ons | Revenue | $160k |
| Revenue | Cost of revenue | $610k |
| Revenue | Gross profit | $1,810k |
| Gross profit | Sales & marketing | $720k |
| Gross profit | R&D | $540k |
| Gross profit | General & admin | $300k |
| Gross profit | Operating profit | $250k |
The five steps
- 1
Lay the data out in three columns
Column A is where the money came from, column B how much, column C where it went. Headers like source, value, target are enough.
That is the whole shape a Sankey diagram needs. Formulas, formatting and the rest of the sheet stay exactly where they are.
- 2
Copy the range and paste it into the studio
Select the range, copy, and paste it over the numbers in the panel beside the canvas. Cells pasted from Sheets are read as they are.
Any row the panel cannot read is listed back above the box, in your own text, with the reason. The rest of the diagram still draws.
- 3
Or skip pasting: publish the sheet and paste the link
File → Share → Publish to web → CSV gives you a plain link to the sheet's data. Paste that into Live from a sheet in the studio, and the canvas reads the sheet itself — no add-on, no Apps Script, and no permission screen asking for your spreadsheets.
The diagram re-reads the link every time the studio opens, on every refresh, or on a one- or five-minute interval while you work. Edit the numbers in Sheets, republish, and the redraw is the loop.
- 4
Set the look, then export
Theme, ribbon curve, label position, value format and export size are controls beside the canvas. Each one redraws the diagram as you move it.
Deck size is 1600 by 900, which drops onto a slide without resizing. A watermarked PNG is free. Clean PNG and SVG come with a Pass.
- 5
Next month, republish and re-pull
The sheet gets its new period the way Sheets always does: rows updated in place. Publish again, pull again, and the same diagram redraws on the new numbers.
Node order, colours, labels and export size stay put, and the period you replaced is kept as a dated snapshot.
What that sheet draws
Nothing was retyped for this picture. It is the 9 rows above, drawn.
The diagram scrolls sideways →
swipe to see the whole diagram →
It opens on the diagram above. Copy your own range and paste it over these numbers — or paste a published CSV link and let it read the sheet.
Where it goes wrong
Looking for a Sankey option in the chart menu
There is none, in any version of Sheets. The results that come up when you search for one are JavaScript chart libraries and Looker Studio — neither is a Sheets chart you can switch on.
Installing an add-on that asks for your whole Drive
The add-ons that draw Sankeys are paid, and their installer asks to see, edit, create and delete every spreadsheet you own. For one chart, pasting three columns — or one published link — into a web page asks for nothing.
Leaving the total rows in the selection
A total row reads as another movement of money and double-counts it. Select the source, value and target columns only, and leave totals and subtotals out.
Pointing at formulas instead of values
Copy the range as values first, or publish a tab whose cells hold plain numbers. The panel and the link read what the sheet shows, not the formulas that produced it.
Expecting the drawing to appear inside the sheet
The diagram lives beside the sheet, not in it. Publish-to-web hands out a read-only CSV, so the picture cannot be embedded back as a live Sheets chart — the redraw happens in the studio, in one pull.
Questions
- Can Google Sheets make a Sankey diagram?
- Not natively. There is no Sankey in the chart menu, and Google's own Sankey documentation is a JavaScript library for websites, not a Sheets chart. The practical routes are an add-on, a script, or pasting the data into a tool that draws flows — the last one is free and installs nothing.
- Is there a free Sankey add-on for Google Sheets?
- The ones that draw Sankeys are paid, typically per user per month, and ask for full Sheets permissions on install. Pasting the range into the studio draws the same diagram with no add-on and no permissions; a published CSV link replaces even the paste.
- Can the diagram update itself when the sheet changes?
- Yes. Publish the sheet (File → Share → Publish to web → CSV), paste the link into Live from a sheet, and the canvas re-reads it — on open, on refresh, or every one or five minutes. Try it with the sample sheet
- Does the same work with Excel?
- The pasted range does, the published link is a Sheets feature. The same three-column workflow lives in the Excel guide
- Do I have to rebuild it every month?
- No. Save the diagram with a Pass, then re-pull the sheet or paste the new range into the same diagram and re-run it. The look and node order stay put, and the old period is kept as a snapshot.
- What does it cost?
- Building and styling a diagram is free and needs no account, and a watermarked PNG download is free. A Pass is $12 for a week, $39 for a quarter or $99 for a year, paid once.
Other starting points
- Sankey diagram from ExcelThe same three-column range, worked from an Excel spreadsheet.
- Monthly P&L Sankey templateRevenue split into gross profit, costs and operating profit — the sheet most reporting packs keep.
- Take-home pay as a SankeyThe personal-finance version: a payslip and a bank CSV grouped into buckets.
Passes are paid once: $12 for a week, $39 for a quarter, $99 for a year. A Pass buys saving, re-running, saved themes and clean PNG or SVG export.