We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Trusted by the world’s leading companies

Syncfusion Trusted Companies


The Blazor TreeView is a UI component that displays hierarchical data, such as a table of contents, code examples, and file directories, in a tree structure. TreeView is feature-rich, supporting data binding, loading on demand, multiple selection, drag and drop, node editing, checkboxes, templates, and more in both Blazor WebAssembly (WASM) and Blazor Server apps.

Blazor TreeView data binding from different data sources

Data binding

TreeView loads data either from local data sources or remote data services using the DataSource property. This property supports the list of object arrays and DataManager. It also supports different kinds of data services such as OData, OData V4, Web API, URL, and JSON with the help of DataManager adaptors.

Load on demand (Lazy load)

The load-on-demand feature loads huge amounts of data dynamically, which improves the component’s performance. Child nodes in the component can be loaded from any web service or inserted dynamically.

Blazor TreeView load on demand

Blazor TreeView icon and images

Tree node with icons and images

Display nodes with labels and icons or images to present content in a more readable format. This is helpful in making a typical directory tree and file system.

Check box support

Built-in support for check boxes allows users to select more than one item. The Blazor TreeView check boxes also have a tri-state mode that is applicable only for parent nodes. In this mode, the parent node will go into an indeterminate state when the child nodes are partially checked.

Blazor TreeView checkbox support

Drag and drop

In Blazor TreeView, Nodes can be dragged and dropped at all levels of the same TreeView.

Blazor TreeView component drag and drop inside a tree

Inside the tree

Tree nodes can be dragged and dropped from one parent node to another within the same level or different levels.

Blazor TreeView component drag and drop between trees

Outside the tree

Extending the drop behavior allows users to drop tree nodes from one tree view to another tree view.

Blazor TreeView component dragging and dropping to external container

To an external container

Drop tree nodes to any external container or component by extending the tree view node drop action.

Multiple node selection

TreeView allows users to select multiple nodes. When the drag-and-drop feature is enabled, all the selected nodes can be dragged at the same time.

Blazor TreeView multiple node selection

Blazor TreeView multiple node drag and drop

Blazor TreeView editable nodes

Editable nodes

Edit the tree nodes’ label text on the client side by double-clicking it. While editing tree view nodes, the tree view data source will also be updated by the modified data.

Sorting tree nodes

Render the TreeView nodes in ascending or descending order based on the label text to provide users improved readability.

Blazor TreeView node template

Node template

Customize the TreeView using the node template support to define a custom structure for tree nodes. You can use node templates for parent nodes, child nodes, or both, and include images and custom elements.

Expand collapse icons

Easily customize the TreeView expand and collapse icons based on your application requirements.

Blazor TreeView expand collapse icons customization

Blazor TreeView tooltip

Tooltips for tree nodes

It supports tooltips for tree nodes that display information about the nodes while hovering over them. You can bind a tooltip from a data source along with node fields.

Context menu

A context menu can be integrated with the Blazor TreeView component to open when a node is right-clicked. The menu helps users perform node manipulations such as adding, removing, and renaming nodes.

Blazor TreeView context menu

Blazor TreeView text wrap

Text wrap

A node’s text wraps when it reaches edge of the TreeView. The node’s height will be adjusted automatically based on the content.

Right to left (RTL)

It supports right-to-left (RTL) direction rendering for users working in right-to-left languages like Hebrew, Arabic, or Persian.

Blazor TreeView RTL

Blazor TreeView TreeNode customization

Tree Node Customization

It allows you to customize the tree nodes by level. For example, apply specific styles to leaf nodes, first child nodes, and second level nodes, etc.

Tree Node Validation

You can add validation to the tree node’s text on editing like required, a minimum or maximum length, etc.

Blazor TreeView TreeNode validation

Built-in and customizable themes

Several built-in SASS-based themes are available such as Tailwind CSS, Bootstrap 5, Bootstrap 4, Bootstrap, Material, Fabric, and High Contrast. Simplify theme customization either by overriding the existing SASS styling or creating custom themes by using the Theme Studio application.

Web accessibility

  • Fully supports WAI-ARIA accessibility guidelines for working with screen readers and assistive devices.
  • Follows WAI-ARIA best practices for implementing keyboard interaction.
  • Designs the UI element visuals such as foreground color, background color, line spacing, text, and images based on WCAG 2.0 standard.

Developer-friendly APIs

The Blazor TreeView component has a rich set of developer-friendly APIs to customize all UI elements and behaviors, allowing you to provide the best experience to your end users.

Blazor TreeView Code Example

Easily get started with the Blazor TreeView using a few simple lines of C# code example as demonstrated below, Also explore our Blazor TreeView Example that shows you how to render the TreeView component in Blazor.

@using Syncfusion.Blazor.Navigations
<SfTreeView TValue="MailItem">
<TreeViewFieldsSettings TValue="MailItem" Id="Id" DataSource="@MyFolder" Text="FolderName" ParentID="ParentId" HasChildren="HasSubFolders" Expanded="Expanded"></TreeViewFieldsSettings>

public class MailItem
    public string Id { get; set; }
    public string ParentId { get; set; }
    public string FolderName { get; set; }
    public bool Expanded { get; set; }
    public bool HasSubFolders { get; set; }
List<MailItem> MyFolder = new List<MailItem>();
protected override void OnInitialized()
    MyFolder.Add(new MailItem
        Id = "1",
        FolderName = "Inbox",
        HasSubFolders = true,
        Expanded = true
    MyFolder.Add(new MailItem
        Id = "2",
        ParentId = "1",
        FolderName = "Categories",
        Expanded = true,
        HasSubFolders = true
    MyFolder.Add(new MailItem
        Id = "3",
        ParentId = "2",
        FolderName = "Primary"
    MyFolder.Add(new MailItem
        Id = "4",
        ParentId = "2",
        FolderName = "Social"
    MyFolder.Add(new MailItem
        Id = "5",
        ParentId = "2",
        FolderName = "Promotions"

Other supported frameworks

TreeView is also available in JavaScript, Angular, React, and Vue frameworks that are built from their own TypeScript libraries. Check out the different TreeView platforms from the links below,

Blazor Components – 80+ UI and DataViz Components

Frequently Asked Questions

  • Display hierarchical data in a tree-view structure.
  • Load a wide range of nodes with optimal performance.
  • Flexible data binding with support to use data sources such as Web API, OData, Entity Framework, and more.
  • Drag and drop multiple selected tree nodes anywhere.
  • Select multiple nodes using built-in check boxes.
  • Edit node text inline with editable nodes support.
  • Easily customize nodes, expand icons, and collapse icons.
  • One of the best Blazor TreeView in the market that offers feature-rich UI to interact with the software.
  • Simple configuration and APIs.
  • Supports all modern browsers.
  • Touch-friendly and responsive.
  • Extensive demos, documentation, and videos to learn quickly and get started with Blazor TreeView.

You can find our Blazor TreeView demo here.

No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.

A good place to start would be our comprehensive getting started documentation.

Our Customers Love Us

Having an excellent set of tools and a great support team, Syncfusion reduces customers’ development time.
Here are some of their experiences.

Rated by users across the globe

Transform your applications today by downloading our free evaluation version Download Free Trial


Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile