Skip to main content


React Flow is a library for building node-based applications. These can be simple static diagrams or complex editors. You can implement custom node types and edge types and it comes with components like a mini-map and graph controls. The best way to start is to follow the getting started guide or check out the examples.

Key Features

  • Easy to use: Seamless zooming & panning behaviour and single and multi-selections of nodes and edges
  • Customizable: Different node and edge types and support for custom nodes with multiple handles and custom edges
  • Fast rendering: Only nodes that have changed are re-rendered and only those that are in the viewport are displayed
  • Hooks and Utils: Hooks for handling nodes, edges and the viewport and graph util functions
  • Plugin Components: Background, MiniMap and Controls
  • Reliable: Written in Typescript and tested with cypress

React Flow Pro

We are working full time on React Flow and related projects. If you are using React Flow commercially, please consider to do a monthly pro subscription. By subscribing to React Flow Pro you are helping us to secure the further maintenance and development of the library.


React Flow includes a small attribution that links to the React Flow website. Per default, the attribution is displayed in the bottom right corner. With the attribution we want to achieve that companies who are using React Flow in commercial applications finance the development of the library.

We expect users who are using React Flow commercially to subscribe to React Flow Pro if they want to remove the attribution. In non-commercial applications you may hide the attribution without subscribing but are welcome to sponsor us on Github.

Migrate to v10

If you want to migrate to v10 you can check out the "Migrate to v10 Guide".

v9 Docs

If you are looking for the old docs, you can find them on the React Flow v9 site.