Convert .riv to .rev: the short version
If you just want the short version, here it is.
In the browser
- Open RIV2REV.
- Tick the authorisation box — you confirm you own the file or have permission to modify it.
- Drop in a
.riv(one at a time). The file is decoded locally; nothing is uploaded. - Watch the animation play. Switch artboards, timelines and state machines, and drive the inputs, to confirm the file is the one you meant.
- Read the recovered inventory: artboards, vector paths, fills and strokes, keyframes and easing, states and transitions, embedded assets, constraints and data bindings — counted from that file's object stream, not from a template.
- Download the
.rev(this is what an activation code unlocks) and drag it into rive.app.
From the command line
npm install -g riv2rev
riv2rev animation.riv # writes animation.rev next to the input
riv2rev animation.riv -o out.rev # explicit output path
riv2rev animation.riv --json # inventory as JSON, for scripts
riv2rev animation.riv --stdout > a.rev # pipe it elsewhere
No account, no key, no network call: github.com/bobolinlinlin/riv2rev, MIT licensed.
What to check after converting
- Open it in the editor. If the editor opens it without complaint, the object stream is intact.
- Compare against the preview. The browser converter lets you play the original before converting; if the converted project plays differently, the difference is in the editor metadata, and it is worth knowing before you ship it.
- Look at the warnings. A clean conversion reports zero warnings. Warnings are counted per category, so a handful of "unresolved reference" warnings on a complex file tells you exactly which references the converter could not re-point.
- Expect a bigger file. 30%–80% larger than the source
.rivis normal, because the editor project carries metadata the runtime does not. See what a .rev file contains.
If something looks wrong
| Symptom | Usual cause |
|---|---|
| Layers in the wrong order | The file used runtime indices; sibling order is re-derived from the tree |
| An animation is missing | Keyframes that reference a keyed property the runtime dropped cannot be re-linked |
| State machine nodes overlap | Node coordinates were never in the runtime file and are laid out from the graph |
| The editor warns about the file | Usually an unresolved reference — check the warnings list in the inventory |
The format background for all of this is in inside the Rive file format, and the honest limits are in what gets lost when converting.
Turn a .riv into an editable .rev
The converter runs entirely in your browser — your file is never uploaded. Preview the animation first, then download the editable project.