The Rive editor
you can run yourself
OpenRive is a local-first, login-free editor for Rive .riv animations. Draw vector art, key timelines, build state machines and bind data, then export files that play in every official Rive runtime.
$ git clone https://github.com/UpstandPlatform/OpenRive.git$ cd OpenRive && bun install && bun run dev

- 437
- Rive runtime test files that round-trip byte for byte
- 60+
- rebindable keyboard shortcuts
- 30
- MCP tools for AI assistants
- 0
- accounts, trackers or cloud uploads
Why OpenRive
Built to be trusted with your files
An editor is only useful if the files it writes are the real thing. OpenRive treats the format, the renderer and your privacy as features, not afterthoughts.
Real .riv files
The reader and writer are generated from the Rive runtime type definitions. Unmodified files round-trip byte for byte, checked against the runtime 437 test files.
Official rendering
The canvas is drawn by the official Rive WASM runtime, served locally, so the stage matches what your app shows. The SDKs are vendored, so you can patch and build them yourself.
Local and login-free
Projects live in PostgreSQL, embedded on your machine or a server when you self-host. Local users with roles replace accounts, and an access token protects a shared instance.
One editing core
The UI, the CLI, the MCP server and the in-app Code panel all call the same editing API, so anything you can click you can also script.
Take the tour
Everything you need, in one window
Design, animation, state machines, theming, embed code and preview live side by side. Every screenshot below is the editor itself, running locally.

Timelines that key themselves
Turn on Animate mode and every change you make becomes a keyframe. Hold, linear and cubic easing with a curve editor, ping-pong and loops, work areas, and as many timelines as your file needs.
Features
A full editor, not a viewer
From the first vertex to the exported bundle, the whole workflow lives on your machine.
Design
Artboards, rectangles, ellipses, triangles, polygons and stars, pen paths with vertex editing, groups, bones, fills and strokes with solid, linear and radial gradients, trim paths, blend modes and clipping.
Animate
Timelines with auto-keying, keyframe editing, hold, linear and cubic easing with a curve editor, ping-pong and loops, work areas and layered playback.
Interactivity
State machines with layers, transitions, conditions and pointer listeners, including follow-the-cursor, previewed live on the stage.
Data binding
Number, boolean, trigger, string and color properties that drive transitions and your app, plus one-click conversion of Rive deprecated state machine inputs.
Theme colors
Define colors once, link fills, strokes and keyframes to them, then switch themes to recolor the entire file.
Assets
Import PNG, JPG and WebP images embedded straight into the .riv, SVGs converted to editable vector shapes, and fonts. Drag them onto the canvas.
Code
Automation scripts written in JavaScript against the OpenRive API, and ready-to-paste embed code for Web, React, Flutter, iOS and Android.
Templates
Interactive logos, a bouncing ball, a button, a toggle, a spinner, a star, text and themes, plus two full example files to pull apart.
Preview and bundles
Full-screen preview with inputs, view model controls and an event log. Export a standalone bundle that plays anywhere.
Productivity
More than 60 rebindable keyboard shortcuts, context menus everywhere, editing presets, undo and redo, and copy-paste between files.
Team
Local users with Admin, Editor and Viewer roles, file sharing and a user manager. Protect a shared instance with a single access token.
Nothing breaks
The reader and writer are generated from the Rive runtime type definitions, and unmodified files round-trip byte for byte against the runtime test corpus.
Everywhere you work
Browser, desktop, terminal and agents
Six ways into the same editing core, so the file you open in the browser is the file your script, your terminal or your AI assistant just changed.
Web app
Next.js and React in the browser, with the official Rive WASM runtime served locally.
Running locally →Desktop app
An Electrobun build for macOS, Windows and Linux, attached to every release.
Desktop guide →Terminal UI and CLI
Browse, create, export and validate files from a terminal with the openrive command.
CLI reference →MCP server
Thirty tools that let an AI assistant build and edit real animations for you.
MCP tools →REST API
A small JSON API for projects, users and .riv export, ready for your own scripts.
API reference →Self-hosted
Docker Compose with PostgreSQL, or a single container with file storage.
Self-hosting →Get started
Three minutes from clone to first animation
Pick the way that fits: run the source, install the app, or host it for your team.
Run it locally
Needs Bun 1.4 or newer. An embedded PostgreSQL starts with the app, so there is no database to set up. Open localhost:3000 and the Welcome file is waiting for you.
$ bun install$ bun run dev
Install the desktop app
Prebuilt installers ship with every release. The desktop build runs the same editor with your files on your own disk.
Host it for your team
Bring your own server and PostgreSQL. Set an access token, give people Admin, Editor or Viewer roles, and keep every file inside your network.
$ cp .env.example .env$ docker compose up -d
Contributions of every size are welcome
Bug reports, templates, docs, features and file-format coverage. Start with CONTRIBUTING.md, or open an issue with one of the templates.
Fork it, ship it, keep your files
OpenRive is MIT licensed and moves fast. Download the latest release, or clone the repository and make it yours.