Use an interactive runtime format (.egg from Ova Motion, or .riv from Rive) when the animation must react to users or data; Lottie for playing designer-made timelines; MP4 video for footage; CSS or animated SVG for simple effects; and GIF only where nothing else plays. Vector runtime formats stay sharp at any size and are usually tens of kilobytes.
The formats at a glance
| Format | Sharp at any size | Reacts to input | Data binding | Typical size | Best for |
|---|---|---|---|---|---|
| .egg (Ova Motion) | Yes (vector) | Yes, built in | Yes | Tens of KB | Interactive UI, characters, small games |
| .riv (Rive) | Yes (vector) | Yes, built in | Yes | Tens of KB | Interactive UI in the Rive ecosystem |
| Lottie JSON / .lottie | Yes (vector) | Through code or dotLottie state machines | Limited | Tens to hundreds of KB | Playing After Effects animations |
| Animated SVG / CSS | Yes | Some, through CSS and JS | Through code | Small | Simple icons and transitions |
| MP4 / WebM video | No (pixels) | No | No | Hundreds of KB to MB | Footage, long scenes |
| GIF | No (pixels, 256 colours) | No | No | Large for its quality | Places where nothing else plays |
How to choose
- Does it react to the user or to app data? Use an interactive runtime format.
- Is it a fixed animation an After Effects artist already made? Use Lottie.
- Is it footage or a long cinematic? Use video.
- Is it a two-state icon or a fade? CSS or animated SVG is enough.
One source, several outputs
Ova Motion exports the same scene as an interactive .egg, a self-contained web page, MP4, GIF, PNG frames or animated SVG, so you can use the live file in the app and a video of it in an app store listing or a social post.
Last checked against the product on 2026-10-15.



