Skip to main content

MOV to Lottie Converter

Convert QuickTime MOV videos to Lottie JSON. Pick your clip range, FPS, and quality — 100% client-side, your video never leaves your device.

Upload Video

Click to upload or drag and drop

MOV, MP4, WebM, OGG (max 200MB)

No video uploaded

Upload a video to convert it to Lottie JSON

What is MOV to Lottie?

MOV is Apple's QuickTime container — the default output of iPhone screen recordings, Mac screen captures, and After Effects renders. Lottie is the JSON animation format that plays natively in iOS, Android, React Native, and web apps.

This tool turns a short MOV clip into a standard Lottie v5 JSON with embedded frames, so you can drop your recording straight into any Lottie player without shipping a video file.

How it works

  1. Your MOV is decoded by the browser's built-in video engine
  2. Frames are captured at your chosen FPS via canvas
  3. Each frame is compressed as WebP or JPEG
  4. Identical frames are deduplicated to shrink the output
  5. A standard Lottie v5 JSON is assembled with embedded assets

MOV codec compatibility

  • H.264 MOV (most screen recordings, exports with "most compatible" settings) — works in every modern browser.
  • HEVC/H.265 MOV (iPhone "High Efficiency" capture) — decodes in Safari and some Chrome builds; if loading fails, switch your iPhone to Most Compatible (Settings → Camera → Formats) or convert in Safari.
  • ProRes MOV (After Effects / Final Cut masters) — browsers can't decode ProRes; export an H.264 preview first.

Frequently asked questions

Is this MOV to Lottie converter free?

Yes, completely free. No subscription, no watermark, no account required. Convert as many MOV files as you want.

Is my MOV file uploaded to a server?

No. Decoding, frame capture, and Lottie assembly all run in your browser. Your video never leaves your device — important for unreleased product demos and client work.

Why does my MOV file fail to load?

Browsers decode H.264 MOVs universally, but HEVC (iPhone High Efficiency) may need Safari, and ProRes is not supported in any browser. Re-export as H.264, or record with Most Compatible format on iPhone.

Can I convert an iPhone screen recording to Lottie?

Yes — that is one of the most common uses. Trim to the seconds you need, pick 10–12 fps and 480px width, and you get a compact Lottie of your app demo for docs or onboarding screens.

How long can the clip be?

Up to 300 frames per conversion — that is 30 seconds at 10 fps or 20 seconds at 15 fps. Use the clip range controls to select the exact segment you need.

Which Lottie players support the output?

The output is standard Lottie v5 JSON, compatible with lottie-web, lottie-react, lottie-react-native, lottie-ios, lottie-android, and the LottieFiles player.

Is "MOV to JSON" the same thing as "MOV to Lottie"?

Yes — Lottie animations are stored as JSON files, so "convert MOV to JSON" and "convert MOV to Lottie" describe the same output. This tool produces a standard Lottie JSON file (technically JSON with a specific schema), so either phrase gets you to the right place.

Can I convert a MOV file to a .lottie (dotLottie) file instead of plain JSON?

This tool outputs plain Lottie JSON, which every Lottie player accepts. If you specifically need a .lottie archive (a zipped JSON + assets bundle), you can compress the downloaded JSON into a .lottie container yourself using the dotLottie CLI, or use it as-is — plain JSON is the more universally compatible format.

MOV to Lottie: converting QuickTime video for apps and the web

Why MOV files end up needing Lottie conversion

MOV is everywhere in a design workflow even when nobody chooses it deliberately: iPhone screen recordings, QuickTime screen captures on macOS, and After Effects renders all default to the QuickTime container. But apps and websites rarely want to ship raw video for a short UI animation — video players add weight, autoplay policies get in the way, and you lose programmatic control. Converting the MOV to Lottie JSON gives you a single file that plays in lottie-web, React, React Native, iOS, and Android with scrubbing, looping, and speed control built in. If your source is an MP4 instead, use our dedicated MP4 to Lottie converter; for browser-recorded WebM files there's WebM to Lottie.

Getting the best result from screen recordings

Screen recordings are mostly static with short bursts of motion, which makes them ideal for this converter's frame deduplication — identical frames are stored once, so a 15-second recording where only 3 seconds move produces a surprisingly small JSON. Use the clip range controls to cut straight to the interaction you want to show, pick 10–12 fps (screen UI reads clearly at low frame rates), and set max width to 480px for docs or 640px for landing pages. WebP output at 85% keeps text in the recording legible.

Codec notes: H.264, HEVC, and ProRes

The MOV container can hold many codecs, and browser support differs. H.264 decodes everywhere — if your MOV came from QuickTime's screen recorder or an export preset labeled "compatibility," it will just work. HEVC/H.265 (the iPhone default when "High Efficiency" is on) decodes in Safari and on some hardware-accelerated Chrome installs; if the preview stays black, open this page in Safari or switch the phone to Most Compatible. ProRes is an editing codec no browser decodes — export an H.264 version from After Effects or Final Cut first. This is a browser limitation, not a converter one: everything runs client-side, so we can only read what your browser can play.

MOV to JSON: same file, different name

If you searched for "MOV to JSON" rather than "MOV to Lottie," you're in the right place. Lottie animations are JSON files — a Lottie JSON is just a JSON document following a specific animation schema that lottie-web, lottie-react, and the native SDKs know how to render. Whether you call it MOV to JSON, MOV to Lottie JSON, or QuickTime to JSON, this converter produces the same standard output: a downloadable .json file with your video's frames embedded, ready to hand to any Lottie player without needing to know the terminology up front.

Using the converted animation in React, iOS, and Android

Once you've downloaded the JSON, integrating it takes a few lines of code in whatever stack you're shipping to:

React / lottie-react

import Lottie from 'lottie-react';
import animationData from './converted.json';

<Lottie animationData={animationData} loop autoplay />

React Native / lottie-react-native

import LottieView from 'lottie-react-native';

<LottieView
  source={require('./converted.json')}
  autoPlay
  loop
/>

iOS / Swift (lottie-ios)

import Lottie

let animationView = LottieAnimationView(name: "converted")
animationView.loopMode = .loop
animationView.play()
view.addSubview(animationView)

Android / Kotlin (lottie-android)

val animationView = LottieAnimationView(context)
animationView.setAnimation("converted.json")
animationView.repeatCount = LottieDrawable.INFINITE
animationView.playAnimation()

All four snippets load the exact JSON file this converter produces — no format conversion, no intermediate step. If the file feels large for a mobile bundle, run it through our Lottie Optimizer first; recompressing embedded frames and trimming precision typically cuts 20-60% off the size before it ships.

This converter vs. LottieFiles and After Effects

LottieFiles' own converter and paid tools are built around vector Lottie authored in After Effects with Bodymovin — they don't accept an arbitrary MOV recording as input. Getting a screen recording into Lottie the traditional way means importing the video into After Effects, rotoscoping or tracing it, and exporting with Bodymovin — hours of manual work for something a phone recorded in fifteen seconds. This tool skips that entirely: it takes the MOV directly, decodes it in your browser, and produces a working (raster) Lottie JSON in the time it takes to click Convert. The trade-off is that the output embeds image frames rather than true vector paths, so it's the right tool for turning existing footage into Lottie, not for authoring new vector animations from scratch — for that, After Effects and Bodymovin remain the standard.

Common problems and how to fix them

The preview stays black or the file won't load: almost always a codec issue — see the HEVC/ProRes guidance above. The output JSON looks huge: lower the FPS to 8-10 and the max width to 320-480px; both cuts compound, and a busy 15-second clip can easily shrink from tens of megabytes to under one. The animation stutters compared to the source video: that's expected at low FPS settings — raise to 15-20 fps for smoother motion, accepting a larger file. Colors look slightly different after conversion: check the WebP quality slider; below 60% some color banding can appear on gradients, so raise it if your recording has smooth color transitions like a splash screen or gradient background.

After the conversion: optimizing and repurposing

The Lottie JSON downloads directly to your machine, ready for lottie-web or the LottieFiles ecosystem. If you also need a universally shareable version for Slack or email, convert the same clip with Video to GIF, or take the Lottie you just made and run it through Lottie to GIF. Coming from the opposite direction — an animated GIF you want in an app — use GIF to Lottie. All of these run fully in your browser with no uploads. See our full Lottie converter toolkit for every conversion direction in one place.

Support HuPNG

These tools are free to use and always will be. If they helped you, consider buying me a coffee — it directly funds hosting and new tools.