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
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
Render hundreds of nodes and edges at once
![[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
Restrict dragging to a specific part of node
![[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
Make the whole node into a handle
![[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
Detect when a node overlaps with another nodes
Edges
![[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-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%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%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%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
Check if a new connection is valid and should be added
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
Misc
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fmisc%2Fdownload-image%2Fpreview.jpg&w=3840&q=75)
MISC
Save a flow as a png with the html-to-image library
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fmisc%2Fthrelte-flow%2Fpreview.jpg&w=3840&q=75)
MISC
Use Svelte Flow + Threlte to create a flow that controls a 3D scene.
![[object Object] screenshot](/_next/image?url=https%3A%2F%2Fexample-apps-git-svelte5-xyflow.vercel.app%2Fsvelte%2Fexamples%2Fmisc%2Fuse-svelte-flow%2Fpreview.jpg&w=3840&q=75)
MISC
A hook with useful helpers for your nodes, edges, and the viewport