What is a .rev file? A practical guide to Rive editor projects

Rive ships two different file formats, and mixing them up is the single most common reason a file "won't open".

When you drag a file into rive.app, a .rev opens as a project you can edit. A .riv opens as a *reference* — it plays, but you cannot open its timeline, move a keyframe, or swap a colour.

Why the difference exists

A runtime file is optimised for load time and memory. It stores every reference as a small index into a list, drops anything the runtime would never read, and encodes doubles loosely. An editor project is optimised for round-tripping: object ids must survive a save/load cycle, the order of siblings must be stable, and the timeline must be able to point back at the objects it animates.

Both formats use the same property keys and the same object model. They differ in the *wire encoding* of a handful of property types, and the .rev carries a few extra properties that the runtime never needed.

What is inside a .rev

A .rev file is a small header followed by an object stream. For version 7.1 it looks like this:

file     := varuint major(7) · varuint minor(1) · varuint fileId · varuint schema(32)
            · bytes3 "ART" · varuint objectCount · object[objectCount]
object   := varuint idClient · varuint idObject · varuint propCount · property[propCount]
property := varuint key · varuint byteLen · bytes[byteLen]

Objects are sorted by (idClient, idObject), properties by key. Every object is one of the Rive core types — Artboard, Shape, Rectangle, Fill, Stroke, Bone, LinearAnimation, KeyedObject, KeyFrame, StateMachine, LayerState, StateTransition, FileAsset and so on — and every property is a typed value identified by a numeric key that maps to a name in the type schema.

Practically, that means a .rev contains:

Nothing is flattened into a bitmap. Every one of those comes back as an editable object.

How to open a .rev file

Drag it into the rive.app editor window, or use File → Open in Rive Desktop (0.9 or newer). From there it behaves like any other project: edit, re-export to .riv, keep collaborating.

If the file you have is a .riv and you need it to be editable, see how to edit a .riv file — and what gets lost when converting is worth reading before you rely on a converted file for anything important.

A note on file size

A .rev is usually 30%–80% larger than the .riv it came from. That is expected: it carries the editing metadata described above, and it stores doubles at full precision when float32 would not round-trip exactly. The size increase is the cost of being editable, not a sign that something went wrong.

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.

Open the converter or use the CLI