Sankey Diagram
Turn flow data into Sankey diagrams on Windows. Enter or import connections, arrange the nodes and make the main paths easy to compare.
For Windows 10 and Windows 11
See current price and license terms in Microsoft Store.

What a Sankey diagram shows
A Sankey diagram connects stages or categories with bands whose widths represent the quantities moving between them. Wider bands mean larger flows, making it easier to compare the main paths through a system.
Follow the worked Excel example below to prepare a flow table, map its columns and check the resulting diagram.
Use consistent units, label the stages clearly and check that the values match the system you want to describe. Colors can distinguish categories; band width carries the numerical information.
Build a Sankey diagram from an Excel table
Each row describes one flow: where it starts, where it ends and how much it carries. This example turns a small spreadsheet into a diagram of 100 kWh split between useful output and two kinds of loss.
Prepare one row per connection
Source is the starting node and Target is the destination. Value is the quantity that controls the band width. An optional Note can describe the row. The sample worksheet has these four columns; its three connections are:
| Source | Target | Value |
|---|---|---|
| Energy supply | Useful output | 60 |
| Energy supply | Conversion losses | 25 |
| Energy supply | Distribution losses | 15 |
Download the energy-flow example (ZIP, 5.0 KB). Extract the XLSX workbook, the saved .sad diagram and the README. The data are invented for this tutorial; they are not an estimate of typical energy losses.
Select the data in Excel format
- In a new Sankey Diagram document, choose Import data to the table, the import icon below the grid, and open sankey-energy-example.xlsx.
- On the Flows worksheet, select A2:D4. This includes all three data rows and leaves out the headers in row 1. Choose Import Selected.
- Answer No when asked whether the selected columns contain headers, because this selection starts in row 2.

Map the columns and generate the diagram
In the Mapping window, drag column A → Source, column B → Target, column C → Value and column D → Note. Choose Ok. Columns left unmapped are not imported.

Check the grid before generating: it should contain three rows with values 60, 25 and 15, and show Rows: 3, Sum: 100.00. Then choose Generate Diagram. Useful output is the widest band; the two loss bands together represent the remaining 40 kWh.
To label the unit as in the screenshot, open Diagram Options, change Header to “Energy example (kWh)” and choose Ok.

Save your work with File → Save As. To inspect the supplied finished example, use File → Open and select the .sad file. Use the import command for the XLSX workbook.
Follow the same flow through a second stage
A node can be a Target in one row and a Source in another. To extend the example, split the 60 kWh of Useful output between two fictional services. Keep the original three connections and add these two:
| Source | Target | Value |
|---|---|---|
| Useful output | Service A | 45 |
| Useful output | Service B | 15 |
Download the two-stage example (ZIP, 5.1 KB). It contains an XLSX workbook with all five connections, a finished .sad diagram and a README. Start a new document, import A2:D6 from the workbook’s Flows sheet and answer No to the header question. Use the same A/B/C/D column mapping as above. The workbook already includes the original three rows, so do not import it on top of the first example.
After generating the diagram, check the intermediate node: Useful output receives 60 kWh and sends 45 + 15 = 60 kWh onward. Use the exact same label, “Useful output”, in both columns to connect the stages.

The grid adds every connection: 60 + 25 + 15 + 45 + 15 = 160. The same 60 kWh is recorded on its way into Useful output and again across the two links leaving it. To check the whole system, count the input once: 60 + 25 + 15 = 100 kWh. The final destinations also total 100 kWh: 25 + 15 in losses and 45 + 15 in services.
This second example was tested on 16 September 2026 in Sankey Diagram 1.0.23.0, including import, generation, saving and reopening after restarting the application.
Check the data before interpreting the picture
- Use one unit throughout. Keep Value cells numeric: enter 60, not “60 kWh”; put the unit in the title or notes.
- Keep node names consistent. Check spelling and stray spaces so that the same stage has the same label in every row.
- Exclude headers and total rows from this example’s selected range. Check accidental duplicate connections before drawing conclusions from a wider band.
- For several stages, check quantities entering and leaving each stage. A sum of all links can count the same quantity again as it moves through successive stages; it is not necessarily the total entering the whole system.
The original three-row example was tested on 14 September 2026 in Sankey Diagram 1.0.23.0 from Microsoft Store, including XLSX import, generation, saving and reopening. Screenshots show the actual application.
Need help with your own data? Contact DefinedBytes support.
Visualize your own flow data
Sankey Diagram is available for Windows 10 and Windows 11. See current price and license terms in Microsoft Store.