Examples
Browse our examples for practical copy-paste solutions to common use cases with React Flow. Here you can find our MIT Licensed examples, which you are free to use in your projects without restrictions, as well as our Pro examples that come with our React Flow Pro subscription plans.
Nodes
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fnodes%2Fcustom-node%2Fpreview.jpg&w=3840&q=75)
NODES
Display any content inside of a node
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fnodes%2Fupdate-node%2Fpreview.jpg&w=3840&q=75)
NODES
This example shows how to update the data field of a specific node.
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fnodes%2Fstress%2Fpreview.jpg&w=3840&q=75)
NODES
A stress test with a lot of nodes and edges.
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fnodes%2Fdrag-handle%2Fpreview.jpg&w=3840&q=75)
NODES
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fnodes%2Fadd-node-on-edge-drop%2Fpreview.jpg&w=3840&q=75)
NODES
A new node appears wherever you drop the connection line
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fnodes%2Fproximity-connect%2Fpreview.jpg&w=3840&q=75)
NODES
Automatically create edges when nodes get close to each other
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fnodes%2Fnode-resizer%2Fpreview.jpg&w=3840&q=75)
NODES
Change the size of a node with a bounding box or draggable icon
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fnodes%2Feasy-connect%2Fpreview.jpg&w=3840&q=75)
NODES
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fnodes%2Fconnection-limit%2Fpreview.jpg&w=3840&q=75)
NODES
Use the `isConnectable` prop to limit the number of connections a handle can have
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fnodes%2Fintersections%2Fpreview.jpg&w=3840&q=75)
NODES
Edges
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fedges%2Fcustom-connectionline%2Fpreview.jpg&w=3840&q=75)
EDGES
Change the appearance and behavior of the connection line
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fedges%2Fcustom-edges%2Fpreview.jpg&w=3840&q=75)
EDGES
Create edges with special routing or controls along the edge
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fedges%2Fedge-labels%2Fpreview.jpg&w=3840&q=75)
EDGES
Render edge labels as divs on top of edges
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fedges%2Fedge-markers%2Fpreview.jpg&w=3840&q=75)
EDGES
Make your edges into arrows, add custom icons, or SVGs
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fedges%2Fedge-types%2Fpreview.jpg&w=3840&q=75)
EDGES
Make edges straight, stepped, smooth-stepped, or bezier curved
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fedges%2Ffloating-edges%2Fpreview.jpg&w=3840&q=75)
EDGES
This example shows how to implement an edge type that dynamically connects to the closest handle.
Layout
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Flayout%2Fdagre%2Fpreview.jpg&w=3840&q=75)
LAYOUT
Integrate dagre js with Svelte Flow to create simple tree layouts
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Flayout%2Felkjs%2Fpreview.jpg&w=3840&q=75)
LAYOUT
For a more powerful alternative to dagre, you can also use elkjs to layout your graphs
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Flayout%2Fhorizontal-flow%2Fpreview.jpg&w=3840&q=75)
LAYOUT
A diagram that flows from left to right
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Flayout%2Fsubflows%2Fpreview.jpg&w=3840&q=75)
LAYOUT
Integrate dagre js with Svelte Flow to create simple tree layouts
Interaction
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Finteraction%2Fcomputing-flows%2Fpreview.jpg&w=3840&q=75)
INTERACTION
How to use the useNodesData helpers to handle data flow
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Finteraction%2Fcontext-menu%2Fpreview.jpg&w=3840&q=75)
INTERACTION
Right-click a node to display custom actions
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Finteraction%2Fcontextual-zoom%2Fpreview.jpg&w=3840&q=75)
INTERACTION
Only display the content of a node when you are zoomed in close enough
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Finteraction%2Fdrag-and-drop%2Fpreview.jpg&w=3840&q=75)
INTERACTION
Drag and drop outside of the Svelte Flow pane with native HTML Drag and Drop API
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Finteraction%2Fvalidation%2Fpreview.jpg&w=3840&q=75)
INTERACTION
This example explains how to validate new connections between nodes.
Styling
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fstyling%2Fbase-style%2Fpreview.jpg&w=3840&q=75)
STYLING
Show the bare-bones base style that is built into Svelte Flow, but is not used by default
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fstyling%2Fdark-mode%2Fpreview.jpg&w=3840&q=75)
STYLING
Svelte Flow comes with a color mode prop that allows you to switch between dark, light and system mode.
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fstyling%2Ftailwind%2Fpreview.jpg&w=3840&q=75)
STYLING
Use Tailwind to easily make nice looking flows
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fstyling%2Fturbo-flow%2Fpreview.jpg&w=3840&q=75)
STYLING
Nodes with glowing animated gradient borders, inspired by the turbo.build website