Skip to content

Introduction

OpenBone is an open-source tool for 2D skeletal animation. You rig artwork with bones, meshes and constraints the way you would in Spine, make it interactive with state machines and pointer listeners the way you would in Rive, and play the result in the browser and in every major game engine. Every edit is also an MCP tool, so an AI agent can build and animate a character for you while you watch it happen in the editor.

Everything, from the editor to the last runtime, is MIT licensed and built only on permissively licensed dependencies.

WalkerClick the path to walk, click him to jumplive
Walker: the first frame. Press play to run it live.

The walker above is not a video: it is examples/walker.obone playing in the web player. Click the path to make him walk and click him to jump.

Piece What it is
Editor A desktop app (Windows, macOS, Linux) and a web app: rigging, animation, state machines, audio, export. See the editor tour.
File format .obone (JSON) and .obonb (binary, about 40% of the size). One file can carry its art and sound. See the format reference.
Runtimes A TypeScript reference runtime and native runtimes for C/C++, C#, Java, Swift, Flutter and Haxe, all checked against one conformance suite.
Web player <openbone-player>, a drop-in web component, plus PixiJS, Phaser, Three.js and CanvasKit integrations.
MCP server @openbone/mcp: every editing operation as a tool, plus rendering and state-machine simulation so an agent can check its work.
CLI openbone: validate, render, simulate and export from scripts and CI.
The OpenBone editor in Animate mode on the Windswept example: skeleton tree on the left, viewport in the middle, Inspector on the right, and the dopesheet with the voice line below
The editor in Animate mode on Windswept, with the voice line and its lip-sync keys in the dopesheet.

OpenBone is MIT licensed and made by UXCentury. The example art, voices and sounds are credited in the repository.