Syncfusion.Blazor.Sankey
Syncfusion® Blazor Sankey component renders Sankey diagrams to visualize flow between nodes. Supports data binding, custom node/link templates, tooltips, animations, and styling options for nodes and links in Blazor applications.
Install
| Product | Versions |
|---|---|
| .NET |
README
Syncfusion Blazor Sankey
The Syncfusion Blazor Sankey component visualizes complex data flows and relationships within Blazor applications. Ideal for displaying energy flows, financial transfers, process flows, and networked data with an intuitive, interactive interface.
Using this package with an AI coding agent
Before generating Syncfusion code, ask your AI coding agent to run the Syncfusion setup using the following prompt:
Set up this project for Syncfusion before generating code. Fetch and follow the official instructions at https://ai.syncfusion.com, then report the detected platform, installed skill pack, MCP status, and any required licensing action.The setup detects your project's platform and loads the appropriate Syncfusion skill pack. No Syncfusion account or MCP key is required to install or read Syncfusion agent skills.
Platform reference: https://ai.syncfusion.com/blazor/llms.txt
Key features
- Interactive data‑flow visualization - Clearly represent complex relationships, transfers, and flow quantities between stages using proportional node‑to‑node link widths.
- Customizable node & Link styling - Personalize node appearance (size, padding, labels, alignment) and link styling (color, opacity, gradients, source/target‑based coloring) to match any UI design.
- Orientation flexibility - Choose between horizontal or vertical diagram layouts to best represent your process flow or screen layout.
- Tooltips & Legends - Hover over nodes or links to reveal detailed flow information using tooltips, and use legends to help users interpret categories and values.
- Responsive & Adaptive design - Automatically adapts to different screen sizes and devices with optimized layouts for desktop, tablet, and mobile.
- Smooth animations - Enjoy fluid, polished visual transitions when nodes or links load or update, improving user engagement and clarity.
- Touch & Mobile support - Full support for touch interactions, enabling smooth panning, selection, and exploration on mobile and tablet devices.
- Data binding & Integration - Bind data from local collections or remote sources (Web APIs, JSON, etc.) and easily integrate the Sankey diagram within broader Blazor dashboards.
- Export & Printing options - Export diagrams to PNG, JPEG, SVG, or PDF formats for reporting, sharing, or print outputs.
- Themes & Accessibility - Supports Material, Bootstrap, Fluent, Tailwind, and Fabric themes, along with ARIA accessibility, screen‑reader compatibility, keyboard navigation, and RTL layout support.
System requirements
- .NET 8.0 or later (Blazor Web App, Blazor Server App, Blazor WebAssembly App and Blazor Hybrid App)
- See full requirements: system requirements
Installation
Install the Sankey package, which provides the scripts referenced below:
dotnet add package Syncfusion.Blazor.Sankey
Add script references
For Blazor Server App / Blazor Web App, add these to Components/App.razor or App.razor. For Blazor WebAssembly App, add these to wwwroot/index.html:
<script src="_content/Syncfusion.Blazor.Core/scripts/syncfusion-blazor.min.js" type="text/javascript"></script>
Quick start
- Register the Syncfusion Blazor service in
Program.cs:
using Syncfusion.Blazor;
builder.Services.AddSyncfusionBlazor();
- Add the Sankey component to your razor page:
<SfSankey Nodes=@Nodes Links=@Links>
</SfSankey>
@code {
public List<SankeyDataNode> Nodes = new List<SankeyDataNode>();
public List<SankeyDataLink> Links = new List<SankeyDataLink>();
protected override void OnInitialized()
{
Nodes = new List<SankeyDataNode>()
{
new SankeyDataNode() { Id = "Coffee Production" },
new SankeyDataNode() { Id = "Arabica" },
new SankeyDataNode() { Id = "Robusta" },
new SankeyDataNode() { Id = "Roasted Coffee" },
new SankeyDataNode() { Id = "Instant Coffee" },
new SankeyDataNode() { Id = "Green Coffee" },
new SankeyDataNode() { Id = "North America" },
new SankeyDataNode() { Id = "Europe" },
new SankeyDataNode() { Id = "Asia Pacific" },
};
Links = new List<SankeyDataLink>()
{
new SankeyDataLink() { SourceId = "Coffee Production", TargetId = "Arabica", Value = 95 },
new SankeyDataLink() { SourceId = "Coffee Production", TargetId = "Robusta", Value = 65 },
new SankeyDataLink() { SourceId = "Arabica", TargetId = "Roasted Coffee", Value = 60 },
new SankeyDataLink() { SourceId = "Arabica", TargetId = "Instant Coffee", Value = 20 },
new SankeyDataLink() { SourceId = "Arabica", TargetId = "Green Coffee", Value = 15 },
new SankeyDataLink() { SourceId = "Robusta", TargetId = "Roasted Coffee", Value = 30 },
new SankeyDataLink() { SourceId = "Robusta", TargetId = "Instant Coffee", Value = 25 },
new SankeyDataLink() { SourceId = "Robusta", TargetId = "Green Coffee", Value = 10 },
new SankeyDataLink() { SourceId = "Roasted Coffee", TargetId = "North America", Value = 35 },
new SankeyDataLink() { SourceId = "Roasted Coffee", TargetId = "Europe", Value = 30 },
new SankeyDataLink() { SourceId = "Roasted Coffee", TargetId = "Asia Pacific", Value = 25 },
new SankeyDataLink() { SourceId = "Instant Coffee", TargetId = "North America", Value = 15 },
new SankeyDataLink() { SourceId = "Instant Coffee", TargetId = "Europe", Value = 15 },
new SankeyDataLink() { SourceId = "Instant Coffee", TargetId = "Asia Pacific", Value = 15 },
new SankeyDataLink() { SourceId = "Green Coffee", TargetId = "North America", Value = 10 },
new SankeyDataLink() { SourceId = "Green Coffee", TargetId = "Europe", Value = 8 },
new SankeyDataLink() { SourceId = "Green Coffee", TargetId = "Asia Pacific", Value = 7 },
};
base.OnInitialized();
}
}
Documentation
- Getting Started with Blazor Web App
- Getting Started with Blazor WASM App
- Blazor Sankey component features overview
- Blazor Sankey component demos
- API reference
Support and feedback
- For queries, reach our Syncfusion support team or post them through the community forums.
- Request new features through the Syncfusion feedback portal.
Other popular Blazor components
Explore other popular Syncfusion Blazor components curated from UI components, standalone SDKs, and document solution suites.
| UI components | Standalone UI SDK's | Document processing |
|---|---|---|
| Blazor DataGrid | Blazor Gantt Chart | Blazor DOCX Editor |
| Blazor Pivot Table | Blazor Diagram | Blazor Document |
| Blazor Map | Blazor Scheduler | Blazor PDF Viewer |
| Blazor File Manager | Blazor RichTextEditor | Blazor Spreadsheet Editor |
License
This is a commercial product and requires a paid license for possession or use. Syncfusion licensed software, including this component, is subject to the terms and conditions of the Syncfusion EULA. You can purchase a license here or start a free 30-day trial here.
About Syncfusion
Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 29,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies.
Today, we provide 1800+ components and frameworks for web, mobile, and desktop development across multiple platforms:
Web: Blazor | ASP.NET Core | ASP.NET MVC | JavaScript | Angular | React | Vue
Desktop: WinForms | WPF | WinUI
Learn more at www.syncfusion.com.
[email protected] | Toll Free: 1-888-9-DOTNET
Changes from Previous Version
Adoption Assessment
A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.