Convert other formats into Rive (and back)
Bring Lottie, After Effects, Animate, Figma, Spline, Spine and 3D model files into Rive, or take Rive out to Lottie, Spline, Figma and Spine. It runs on your computer, with no design app open and no account. Every conversion comes with a report of what carried over, what was rebuilt and what was lost.
- You bring
- The source file:
.jsonor.lottie,.aep,.fla, a Figma link,.splinecode, a Spine skeleton with its atlas,.glb, or a.rivto take out. - You get
- The converted file, a loss report, and optionally a measured side-by-side comparison.
- Needs
- Nothing beyond the install. Figma needs a personal access token.
Ask your assistant
- Convert
hero.jsonto Rive and tell me what was lost. - Convert every Lottie in
./animationsto.rivand rank them by how far they drifted from the source. - Turn this After Effects project into a
.revI can keep editing in the Rive editor. - Bring this Figma prototype into Rive with its clicks working: <the Figma link>.
- Export my
.rivas a dotLottie that keeps its state machine. - Convert my Spine character to Rive, and this Rive rig to Spine 4.2 for Unity.
What converts to what
| From | To |
|---|---|
Lottie .json, dotLottie .lottie (including interactive dotLottie packages) | Rive, Spline, Figma, plain Lottie |
After Effects .aep, read directly, no After Effects needed | Rive, Lottie, Spline, Figma |
Adobe Animate .fla (CS5 and later) or an XFL folder | Rive, Lottie, Spline, Figma |
| Figma, from a link (frames, prototypes, Figma Motion) | Rive, Lottie, Spline |
Spline .splinecode / .spline | Rive, Lottie, Figma |
Spine skeletons: .json or .skel with its .atlas (3.8 JSON, 4.0 to 4.3), or a .zip of the export | Rive (one artboard per skin), and through it Lottie, Spline, Figma |
| glTF / GLB models (Blender, Maya, Cinema 4D, Sketchfab) | Spline as a 3D model; Rive, Lottie and Figma drawn flat |
Rive .riv / .rev | Lottie, dotLottie (state machine kept), Spline, Figma, Spine, and .riv ↔ .rev |
How it works
- Convert.
convert_formatdetects the source format and writes the result: a.rivfor apps and websites, or a.revto open and keep editing in the Rive editor. A Figma file is fetched first withimport_figma.import_lottieshows what a Lottie holds before you convert it. - Read the report. Every decision is one of four kinds:
- Clean: carried over as it was.
- Reconstructed: rebuilt from what Rive has, for a feature Rive spells differently.
- Dropped: lost, with the reason.
- Escalated: a question only you can answer. Your assistant asks you, then runs the conversion again with your answer.
- Measure it.
verify_conversiondraws the source and the result at the same moments and reports how far apart they are. - Look at it.
preview_riv_gifon the result.
A whole folder
Give a folder, a list of files or a .zip of Lotties. Each gets its .riv, an editable .rev and its own report, and a batch report ranks the files by how far each drifted, so you can check the worst first. One bad file costs only itself.
Make a plain animation interactive on the way in
A Lottie only plays. Ask for an upgrade and the converted file also gets a state machine (an idle loop, hover and press, a trigger per named marker) or a view model that exposes its colours and text to your app. Each addition is marked as added in the report.
After Effects, edited in place
edit_aep reads an After Effects project and writes changes back into it. Writing a brand-new .aep isn't offered: without After Effects there is no way to check such a file would open. When converting a project whose footage has moved, tell your assistant which folders it is in.
Spine
Spine skeletons are read with Spine's own runtime of their version and keep their bones, meshes, skins and keys. Rive files go out as a Spine skeleton, atlas and pages that Spine's runtimes load. See Spine in and out.
3D models from Blender
Export a .glb with Animation Mode "Scene", "Split Animation by Object" off and compression off. Otherwise Blender writes each object's motion as its own animation and only the first plays, and a compressed file is refused. To Spline, meshes, materials, textures, bones, shape keys, the camera, lights and the first animation carry over.
Good to know
- Every conversion between formats loses something, because each format describes things differently. The report names each loss, so ask your assistant what was dropped rather than assuming nothing was.
- A
.rivcan't be opened in the Rive editor. Ask for.revwhen you want to keep editing there, andverify_editor_compatchecks the editor will read it as meant. - From Animate, ActionScript, button states, sounds, filters and blend modes don't cross. From glTF, normal maps, vertex colours and the other animations don't. Each is named in the report.
convert_formatcan list every supported route, with what each one can't carry.
Related
- Edit a file you have: change the converted file.
- Buttons and interactive files: add more interaction after converting.
- Preview, check and share