Why the .json won't drop in
Lottie is not video. It's a JSON file describing vector shapes and keyframes, usually exported from After Effects through the Bodymovin plugin or built on LottieFiles, and a small player script redraws it live at whatever size the page asks for. That's the whole appeal: one tiny file, crisp at any scale. It's also the catch. There are no pixels inside, so the browser's video element can't play it and a video converter can't decode it, ours included.
What the GIF eats video files: mp4, mov, webm, mkv, avi, even an existing GIF. So the job splits into two honest steps: get your Lottie into pixels, then let the converter do what it does. There are exactly two good ways to handle step one.
Path one: export a video and drop it in
If the animation started in After Effects, render the original comp straight to MP4 or MOV and skip the JSON entirely. That's the highest-fidelity route: exact resolution, exact timing, no screen involved. If the Lottie lives on a platform instead, check for a video export. LottieFiles and most animation tools will hand you an MP4 or WebM render of the asset.
Bring that file to the converter and cut it down to one clean cycle. In and out points land on exact frames, and the arrow keys nudge a single frame at a time, so the loop closes without a hiccup. From there it's a normal conversion, and an unusually easy one; the small GIF playbook barely has to try on this material, for reasons covered below.
Path two: record the preview tab
No video export in sight? Every Lottie can still play in a browser, whether that's a LottieFiles preview page, a CodePen, or a bare test page with the player script. Open it, then hit Record a Tab in the converter's drop zone. Your browser's own share picker asks which tab to capture, the recording runs inside the page, and the clip drops straight into the editor when you stop. Nothing is uploaded at any point. Desktop browsers only, capture runs in real time, and it stops itself at five minutes, which is roughly sixty times longer than a loop needs.
- Zoom the preview big first. The recording captures the animation at its on-screen size. A thumbnail-sized player becomes a thumbnail-sized GIF, so scale the preview up until it fills the tab.
- Let it run three or four cycles. You only need one, but the extra laps give you a clean cycle to choose in the trim.
- Clear the stage. Move the cursor off the artwork and close anything that might pop over it. The capture takes what's on screen, faithfully, including your mouse parked on the logo.
The full capture technique, including window and screen recording, lives in the screen recording guide.
Flat vectors are the best footage GIF ever gets
GIF caps every frame at 256 colors, which is why live footage and gradients come out grainy or heavy. A typical Lottie is the opposite of live footage: a handful of flat fills, clean edges, and big regions that never change between frames. That is precisely what the format compresses best.
So push the settings harder than you would on video. Pull the palette to 64 colors, or 32 for simple art, and watch the preview: on flat fills the difference is usually invisible. Leave dithering low or off, since dithering exists to fake gradients and only adds noise to solid color. The live size estimate updates with every change, and if you're chasing a strict budget, the Extra Compression dial typically takes another 30 to 50% off. Loader animations and icon loops routinely come out small enough to embed anywhere without a second thought.
The client's animation stays with you
The whole pipeline is client-side: recording, trimming, palette work, encoding. Nothing uploads, nobody asks for an email address, and the download carries no watermark. Once the page has loaded it keeps working offline, so an unreleased brand animation or client work under NDA never leaves the machine it was opened on. And if the destination wants video instead, the same edit exports as a silent MP4 in browsers with a native encoder, handy when a product demo slot prefers motion without the GIF weight.