Built bystatelyai

xstate

State machines, statecharts, and actors for complex logic

30k stars1.4k forks186 watchers92 open issuesTypeScriptMIT

TL;DR · 30-second scan

What it is

xstate (TypeScript)State machines, statecharts, and actors for complex logic

What it does for you

You have a genuinely complex workflow with many states, transitions, and side effects.

Best for

State Management

30k GitHub starsLicense: MITLast updated 1 week ago
EDITOR'S DEEP TAKE

Actor-based state machines. ~27k stars. Overkill for most apps but unbeatable for genuinely complex workflows — multi-step forms, async retries with rollback, real-time collaboration. Worth learning even if you do not adopt.

Use this if

You have a genuinely complex workflow with many states, transitions, and side effects.

Skip if

You have toggles and modals — useState is enough.

Topics
state-machinestatechartinterpretervisualizerscxmlstatestate-managementworkfloworchestrationfinite-state-machinefsmjavascriptstatechartstypescriptbackground-jobsactor-modelreactivestate-machinesxstate
Maintainer? Embed our badge

Add this badge to your README to show your project is curated on StackPicks. Free, lightweight (180×28 SVG), and gives your visitors a one-click way to see honest take + alternatives.

Preview
Featured on StackPicks
Markdown (for GitHub README)
[![Featured on StackPicks](https://stackpicks.dev/api/badge/statelyai-xstate)](https://stackpicks.dev/repo/statelyai-xstate)
HTML (for blogs / docs)
<a href="https://stackpicks.dev/repo/statelyai-xstate"><img src="https://stackpicks.dev/api/badge/statelyai-xstate" alt="Featured on StackPicks" width="180" height="28" /></a>

Are you the maintainer of statelyai/xstate? Add the badge and we'll feature your project in the weekly curator newsletter.

Created 14 Sept 2015
Last push 1 week ago
Stats refreshed 1 week ago