Skip to main content

GIF to Lottie Converter

Convert animated GIFs to Lottie JSON for use in apps and the web. Frame-accurate timing, embedded images, 100% client-side.

Upload GIF

Click to upload or drag and drop

GIF (max 20MB, up to 300 frames recommended)

No GIF uploaded

Upload a GIF to convert it to Lottie JSON

What is Lottie JSON?

Lottie is an open JSON-based animation format maintained by LottieFiles. It is the standard for lightweight animations in mobile apps and web — supported natively in iOS, Android, React Native, React, Vue, and all major web frameworks.

Converting a GIF to Lottie lets you play it using a Lottie player instead of the browser's built-in GIF renderer, giving you programmatic control over playback speed, looping, and frame scrubbing.

How the conversion works

  1. GIF frames are decoded with correct alpha compositing
  2. Each composited frame is encoded as WebP or JPEG
  3. Identical frames are deduplicated to reduce output size
  4. Timing is read directly from GIF delay data
  5. A standard Lottie v5 JSON is assembled with embedded assets

Why convert GIF to Lottie?

Use in iOS & Android apps

Lottie is the native choice for animations in iOS (Swift) and Android (Kotlin) apps. GIF is not natively supported; Lottie is.

Programmatic playback control

Pause, scrub, reverse, or change speed of your animation at runtime — impossible with a raw GIF element.

React & framework integration

Drop the JSON into lottie-react, lottie-vue, or any framework-native Lottie component without a separate GIF loader.

LottieFiles ecosystem

Upload your converted JSON to LottieFiles to share, preview, and distribute your animation to teams and clients.

Crisp on retina displays

Lottie players render at the display's native resolution. GIF is fixed pixel size and looks blurry on high-DPI screens.

Smaller than PNG sprite sheets

Embedding WebP frames in Lottie JSON is significantly more compact than a PNG sprite sheet for the same animation.

Tips for a smaller Lottie JSON

  • Use WebP output — typically 50–70% smaller than PNG per frame with full transparency support.
  • Set a max width of 320–480px — most Lottie animations are displayed smaller than the original GIF; halving the width quarters the file size.
  • 80–85% WebP quality is visually indistinguishable from 100% for most animations at a fraction of the size.
  • Trim your GIF first — remove unnecessary frames before converting; fewer frames = smaller JSON.

Frequently asked questions

Is this GIF to Lottie converter free?

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

Is my GIF uploaded to a server?

No. All conversion runs entirely in your browser using client-side JavaScript. Your GIF never leaves your device.

Why is the Lottie JSON larger than my original GIF?

GIF uses palette-indexed delta compression — only changed pixels per frame are stored, making it very compact. Lottie stores full composited frames as WebP or JPEG images. Use a smaller max width and 80–85% WebP quality to significantly reduce output size.

Which Lottie players work with this JSON?

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

What quality settings should I use?

WebP at 80–90% with a 320–480px max width is the best default. Use JPEG at 60–70% if you need the absolute smallest output and your GIF has no transparency.

Are there limits on file size or frame count?

GIFs up to 20MB and 300 frames are supported. Use the max width option to keep output manageable for longer animations.

GIF to Lottie conversion guide: WebP vs JPEG and when to use each

Choosing WebP or JPEG for your Lottie export

This converter gives you two output formats: WebP and JPEG. WebP keeps transparency and usually gives the best balance of quality and file size — set the WebP quality slider between 80% and 90% for most animations. Choose JPEG when you need the smallest possible JSON and your GIF has no transparent areas; transparent pixels are replaced with white. If your source GIF has a busy background you want to remove first, use our GIF background remover before converting. JPEG quality at 60–75% often keeps the animation looking good while shrinking the file. For logos or UI elements with transparency, stick with WebP.

Where converted Lottie JSON is used in practice

Converted GIF-to-Lottie JSON fits into many workflows. In mobile apps, developers use it for loading spinners, empty-state illustrations, and success animations without shipping a GIF or video. In marketing emails, Lottie can be rendered by some clients and falls back gracefully. On the web, product tours and onboarding flows often use Lottie for lightweight, scalable animations. If you don’t have a GIF yet, create one from video with our Video to GIF tool or from a sequence of images with the Animated GIF Maker, then convert the result here to drop into React, Vue, or native iOS and Android projects via lottie-web, lottie-react, or platform SDKs.

Max width and frame count for manageable file size

GIFs can be large in dimensions and frame count. The tool lets you set a max width (e.g. 320px, 480px, or 800px); the animation is scaled down before each frame is encoded as WebP or JPEG. That keeps the Lottie JSON much smaller and still sharp at typical display sizes. To shrink your source before converting, try our Image Compressor or Image Resizer on the original GIF or its frames. For very long GIFs (hundreds of frames), consider shortening the source or using a lower max width so the final JSON stays under a few megabytes for fast loading. You can check dimensions and file info with the Metadata Viewer.

Raster vs vector: what GIF-to-Lottie output is

Lottie can describe both vector and raster animation. Converting a GIF always produces raster Lottie: each frame is an image layer (WebP or JPEG) with timing. That is ideal for photo-like or complex artwork. If you need true vector Lottie (paths, shapes, scalable without pixelation), you would author it in After Effects and export with Bodymovin. For memes, reactions, and most GIF-style content, raster Lottie from this converter is the right choice — and if you’re building meme-style assets, our Meme Generator can create captioned images you can then turn into an animated GIF and convert to Lottie.

Privacy and client-side conversion

All conversion runs in your browser. Your GIF is never sent to a server, so sensitive or proprietary animations stay on your machine. The same applies to the generated Lottie JSON — you download it directly. That makes this tool suitable for work and personal use without upload limits or account requirements.

When to use Lottie vs keeping a GIF or using video

Use this converter when you need Lottie in an app or a framework that supports it, or when you want programmatic control (play, pause, speed). If the animation is only for a simple webpage or chat and you do not need Lottie features, keeping the original GIF is fine. For very long or high-motion clips (e.g. 30+ seconds), consider using a short video (MP4/WebM) instead of Lottie, since a frame-by-frame Lottie would become very large. For short loops, stickers, and UI motion, GIF to Lottie with WebP or JPEG is a solid option.

Related workflows: convert, compress, and prepare assets

Your GIF might come from different sources. Turn video clips into GIFs with the Video to GIF converter, or build a GIF from still images (PNG, JPG, WebP) using our Animated GIF Maker. If you need to change image formats before or after (e.g. export frames as PNG or WebP), use the Image Converter. For static images with transparent backgrounds before you animate them, try the Background Remover. These tools work together so you can create, optimize, and convert to Lottie in one workflow.