Zurück zum Ranking

xyflow/xyflow

TypeScriptxyflow.com

React Flow | Svelte Flow - Powerful open source libraries for building node-based UIs with React (https://reactflow.dev) or Svelte (https://svelteflow.dev). Ready out-of-the-box and infinitely customizable.

flowchartgraphtypescript-libraryreacttypescriptnode-based-uiworkflowjavascriptreact-flowsveltesvelte-flow
Sterne-Wachstum
Sterne
37.7k
Forks
2.5k
Wochenwachstum
Issues
90
10k20k30k
Nov. 2023Sept. 2024Aug. 2025Juli 2026
Artefaktenpmnpm install xyflow
README

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:

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:

React Flow basic usage

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;
Svelte Flow basic usage

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:

  1. create PRs for new features, updates and fixes (with a changeset if relevant for changelog)
  2. merge into main
  3. changeset creates a PR that bumps all packages based on the changesets
  4. 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.

Ähnliche Repositories
mermaid-js/mermaid

Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown

TypeScriptnpmMIT Licensedocumentationflowchart
mermaid.ai/open-source/
89.3k9.1k
pandao/editor.md

The open source embeddable online markdown editor (component).

JavaScriptnpmMIT Licensemarkdowneditor
editor.md.ipandao.com
14.3k2.5k
plait-board/drawnix

开源白板工具(SaaS),一体化白板,包含思维导图、流程图、自由画等。All in one open-source whiteboard tool with mind, flowchart, freehand and etc.

TypeScriptnpmMIT Licensecollaborationdrawing
drawnix.com
14.3k1.2k
alyssaxuu/flowy

The minimal javascript library to create flowcharts ✨

JavaScriptnpmMIT Licenseflowchartdiagrams
12.1k1k
didi/LogicFlow

A flow chart editing framework focus on business customization. 专注于业务自定义的流程图编辑框架,支持实现脑图、ER图、UML、工作流等各种图编辑场景。

TypeScriptnpmApache License 2.0flowchartgraph
logicflow.cn
11.5k1.4k
projectstorm/react-diagrams

a super simple, no-nonsense diagramming library written in react that just works

TypeScriptnpmMIT Licensereactdemo
projectstorm.cloud/react-diagrams
9.4k1.2k
adrai/flowchart.js

Draws simple SVG flow chart diagrams from textual representation of the diagram

JavaScriptnpmMIT Licenseflowchartdiagram
flowchart.js.org
8.7k1.2k
NorthwoodsSoftware/GoJS

JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.

HTMLOtherhtmldiagram
gojs.net
8.5k2.8k
bytedance/flowgram.ai

FlowGram is an extensible workflow development framework with built-in canvas, form, variable, and materials that helps developers build AI workflow platforms faster and simpler.

TypeScriptnpmMIT Licenseflowflowchart
flowgram.ai
8.2k741
jsplumb/jsplumb

Visual connectivity for webapps

diagramsvg
jsplumbtoolkit.com
7.8k1.4k
Bogdan-Lyashenko/js-code-to-svg-flowchart

js2flowchart - a visualization library to convert any JavaScript code into beautiful SVG flowchart. Learn other’s code. Design your code. Refactor code. Document code. Explain code.

JavaScriptnpmMIT Licenseflowchartsvg-flowchart
7.1k480
bcakmakoglu/vue-flow

A highly customizable Flowchart component for Vue 3. Features seamless zoom & pan 🔎, additional components like a Minimap 🗺 and utilities to interact with state and graph.

TypeScriptnpmMIT Licensevuevue3
vueflow.dev
6.7k405