xyflow
From public sourcesxyflow (React Flow and Svelte Flow) is an open-source MIT library for building interactive node-based UIs, flowcharts and graph editors in React or Svelte.
Overview
- design
- flowchart
- graph
- javascript
- node-based-ui
- react
- react-flow
- svelte
- svelte-flow
- typescript
- typescript-library
- workflow
Installation
Commands are shown, never run by the marketplace. Check them against the official documentation.- Official websiteFrom public sourcesfrom catalog metadataxyflow.com/ ↗
- Build from sourceFrom public sourcesfrom catalog metadata
Build from source: no validated build recipe — follow the repository instructions.
github.com/xyflow/xyflow ↗
Compatibility
Unknown means no evidence was found — not that the product is incompatible.| Platform | Status | Architecture | Evidence | Confidence |
|---|---|---|---|---|
| Node.js | Unknown | — | — | — |
| Python | Unknown | — | — | — |
| JVM | Unknown | — | — | — |
| .NET | Unknown | — | — | — |
| WebAssembly | Unknown | — | — | — |
| Web browser | Compatible | — | Declared on the card | — |
Releases
checked Oct 29, 2026Files in 12.12.0
This release has no attached files.
Release history
- v12.11.6Sep 1, 2026Official source ↗
- v12.11.5Aug 25, 2026Official source ↗
- v12.11.4Aug 25, 2026Official source ↗
- v12.11.3Aug 12, 2026Official source ↗
- v12.11.2Jul 6, 2026Official source ↗
- v12.11.1Jun 22, 2026Official source ↗
- v12.11.0Jun 1, 2026Official source ↗
Quality profile
algorithm quality-v1.0 · assessed Oct 15, 2026Score components
License
MITThis is the catalog policy status, not legal advice.
Sources
Reviews
No reviews yet.
Alternatives
README
From xyflow/xyflow · license MIT · fetched Oct 29, 2026[xyflow-header] [xyflow-header-dark]
[GitHub License MIT] [npm downloads] [npm downloads]
Powerful open source libraries for building node-based UIs with React or Svelte. Ready out-of-the-box and infinitely customizable.
React Flow · Svelte Flow · React Flow Pro · Discord
The xyflow mono repo
The xyflow repository is the home of four packages:
- React Flow 12
@xyflow/reactpackages/react - React Flow 11
reactflowv11 branch - Svelte Flow
@xyflow/sveltepackages/svelte - Shared helper library
@xyflow/systempackages/system
Commercial usage
Are you using React Flow or Svelte Flow for a personal project? Great! No sponsorship needed, you can support us by reporting any bugs you find, sending us screenshots of your projects, and starring us on Github 🌟
Are you using React Flow or Svelte Flow at your organization and making money from it? Awesome! We rely on your support to keep our libraries developed and maintained under an MIT License, just how we like it. For React Flow you can do that on the React Flow Pro website and for both of our libraries you can do it through Github Sponsors.
Getting started
The best way to get started is to check out the React Flow or Svelte Flow learn section. However if you want to get a sneak peek of how to install and use the libraries you can see it here:
Installation
npm install @xyflow/react
Basic usage
import { useCallback } from 'react';
import {
ReactFlow,
MiniMap,
Controls,
Background,
useNodesState,
useEdgesState,
addEdge,
} from '@xyflow/react';
import '@xyflow/react/dist/style.css';
const initialNodes = [
{ id: '1', position: { x: 0, y: 0 }, data: { label: '1' } },
{ id: '2', position: { x: 0, y: 100 }, data: { label: '2' } },
];
const initialEdges = [{ id: 'e1-2', source: '1', target: '2' }];
function Flow() {
const [nodes, setNodes, onNodesChange] = useNodesState(initialNodes);
const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges);
const onConnect = useCallback((params) => setEdges((eds) => addEdge(params, eds)), [setEdges]);
return (
<ReactFlow
nodes={nodes}
edges={edges}
onNodesChange={onNodesChange}
onEdgesChange={onEdgesChange}
onConnect={onConnect}
>
<MiniMap />
<Controls />
<Background />
</ReactFlow>
);
}
export default Flow;
Installation
npm install @xyflow/svelte
Basic usage
<script lang="ts">
import { writable } from 'svelte/store';
import {
SvelteFlow,
Controls,
Background,
BackgroundVariant,
MiniMap,
} from '@xyflow/svelte';
import '@xyflow/svelte/dist/style.css'
const nodes = writable([
{
id: '1',
type: 'input',
data: { label: 'Input Node' },
position: { x: 0, y: 0 }
},
{
id: '2',
type: 'custom',
data: { label: 'Node' },
position: { x: 0, y: 150 }
}
]);
const edges = writable([
{
id: '1-2',
type: 'default',
source: '1',
target: '2',
label: 'Edge Text'
}
]);
</script>
<SvelteFlow
{nodes}
{edges}
fitView
on:nodeclick={(event) => console.log('on node click', event)}
>
<Controls />
<Background variant={BackgroundVariant.Dots} />
<MiniMap />
</SvelteFlow>
Releases
For releasing packages we are using changesets in combination with the changeset Github action. The rough idea is:
- create PRs for new features, updates and fixes (with a changeset if relevant for changelog)
- merge into main
- changeset creates a PR that bumps all packages based on the changesets
- merge changeset PR if you want to release to Github and npm
Built by xyflow
React Flow and Svelte Flow are maintained by the xyflow team. If you need help or want to talk to us about a collaboration, reach out through our contact form or by joining our Discord Server.
License
React Flow and Svelte Flow are MIT licensed.