EasyLottie

EasyLottie Guide

How to Edit Lottie Animations Without After Effects

A tested map of the Lottie edits you can safely make in a browser, what each one actually changes inside the JSON, and the edits that still belong in a motion tool.

By EasyLottie Editorial TeamReviewed 6 min readReport a correction
EasyLottie Color Changer after uploading brand-badge.json: a blue check badge with a yellow ring and pink sparkles, with six detected colors listed
Color Changer after uploading brand-badge.json: six colors detected, each with a usage count.
The same badge recolored: the blue circle is now near-black and the yellow ring is pink
After two swaps, blue to #111827 and yellow to #EC4899. The animation keeps playing while colors change.
EasyLottie Image Replace showing a product card animation whose embedded dashboard screenshot was replaced with a pink and orange version
Image Replace after swapping the card's embedded screenshot. The layer, position, and animation are unchanged.

Start with the edit you actually need

After Effects is excellent for creating motion from scratch, but most Lottie requests that reach a developer are smaller than that. A brand color changed. A screenshot inside an onboarding animation is out of date. A loader is too heavy for the bundle. Marketing needs a GIF for an email that cannot run a player. None of these require new motion, and many teams no longer have the original .aep project anyway.

A Lottie file is JSON. Colors are arrays of numbers, embedded images are base64 strings, and timing is a frame rate plus in and out points. Edits that only change those stored values are safe to make outside a motion tool. Edits that need new keyframes, new shapes, or new layers are not, because there is nothing in the file to change yet.

Which edits work in the browser

The table below maps common requests to what they touch inside the file and the tool that handles them. Every row was tested against a real file for this guide; the measured results are in the sections that follow.

Common Lottie edits and where they belong
RequestWhat changes in the JSONWhere to do it
Check that a file plays, loops, and has its assetsNothing, read onlyLottie Preview
Swap a brand color or make a dark-mode variantColor arrays in fills, strokes, gradientsColor Changer
Replace a logo, screenshot, or illustrationBase64 data in an image assetImage Replace
Reduce file sizeFormatting, duplicate or unused assets, image encodingLottie Compressor
Make a GIF for email, chat, or a READMENothing; frames are rendered to a new fileLottie to GIF
Change speed of an existing loopPlayback setting, or frame rate in the filePreview speed control, or the player's speed option
Retime, re-ease, or add an elementNew keyframes, shapes, or layersAfter Effects or another motion tool

Recolor without touching the motion

Open the Color Changer and drop in the JSON or ZIP. The tool walks the file, collects every solid color it finds in fills and strokes, and lists each one with how many times it is used. Pick the swatch you want to change, enter the new value, and apply. The preview keeps playing so you can judge contrast on the real animation rather than on a palette chip.

In our test with brand-badge.json, the export differed from the original in exactly six numbers: the channels of the two colors we swapped. Nothing else changed. That is the property to look for in any browser editor. If a tool re-exports the whole animation through its own model, small rounding changes in keyframes can creep in, and those are hard to spot until a loop starts to stutter.

Replace an image inside the animation

Many marketing and onboarding animations are built around embedded bitmaps: a product screenshot, a logo, an avatar. In the JSON these sit in the assets array as base64 data, referenced by an image layer. Image Replace lists every image asset with its pixel size and byte size. Our product card sample showed one asset, img_0.png, at 300 by 180 pixels and 26.8 KB.

Replacing the asset keeps the layer, its position, its scale, and its animation; the new image is drawn into the same box. Our replacement was the same 300 by 180 size, so it dropped in without adjustment and the asset grew only to 29.8 KB. A replacement with a different aspect ratio needs cropping first, and a 2,000-pixel photo dropped into a 300-pixel slot looks the same on screen but can add hundreds of kilobytes to the file.

  1. Open Image Replace and upload the JSON, or a ZIP if the images are external files.
  2. Find the asset by its thumbnail and size, then upload the replacement.
  3. Use the fine-tune controls if the new image needs to shift or scale inside its box.
  4. Export as JSON or ZIP, then reload the export in the viewer to confirm it plays.

Shrink, preview, and convert

Delivery problems are often about size or format rather than content. The Lottie Compressor removes formatting, deletes image assets that no layer references, and merges byte-identical images. On our bloated product card, which carried a duplicate and an unused copy of its screenshot, the downloaded file went from 119,611 to 38,869 bytes with playback unchanged.

When a channel cannot play Lottie at all, export a GIF. Be aware that GIF stores frame delays in hundredths of a second, so some frame rates cannot be represented exactly. Our 30 fps, 90-frame badge became a GIF with 3-hundredth delays, which plays the loop in 2.7 seconds instead of 3.0. For a loader that is fine. For an animation synced to sound, it is not.

When to go back to After Effects

Use a motion tool when you need to redraw shapes, change keyframes, adjust easing curves, modify masks, rebuild compositions, or add states. A browser editor should not pretend those are simple file edits, and EasyLottie does not try.

The productive workflow uses both categories honestly. Author and restructure motion where it was created. Do the final color, asset, size, and format work in the browser when the delivered file is already close. That split also keeps the source project clean: you are not re-exporting an animation and risking subtle drift for what is really a one-value change.

Quick checklist

  • Preview the file first and confirm it plays with all its assets.
  • Recolor in the Color Changer and verify only color values changed.
  • Replace images at the original aspect ratio and similar pixel size.
  • Compress after editing if the exported file grew.
  • Use GIF only where a Lottie player cannot run, and check loop timing.
  • Return to the motion tool for anything that needs new keyframes.

Reproduce the workflow

Use these local sample files to repeat the checks described in this guide. Review the file before using it in a production project.

Tested result: what a browser recolor actually changes

We uploaded brand-badge.json to the Color Changer, replaced blue (#3B82F6) with #111827 and yellow (#F5C542) with #EC4899, exported the file, and compared the parsed JSON of the original and the export key by key. This shows whether a browser edit is a surgical value change or a re-export that might silently alter motion.

Measured results from the downloadable test files
CheckOriginal brand-badge.jsonExported after recolor
Colors detected66 (two now share values with others)
Values that differ-6 numbers, in exactly 2 color arrays
Keyframes, trim paths, layers, timing90 frames at 30 fpsIdentical, no other key changed
File size as downloaded6,823 bytes32,680 bytes (pretty-printed)
File size minified6,823 bytes6,890 bytes

The edit touched only the red, green, and blue channels of the two colors we changed. Every keyframe, trim path, layer, and timing value was identical when parsed, which is what you want from a delivery-stage edit.

The export is pretty-printed, so the downloaded file was nearly five times the size of the original even though the content barely changed. If size matters, run the result through the Lottie Compressor before shipping; minified, the difference was 67 bytes, from the longer decimal values of the new colors.

Know the limits

  • Browser editors change values that already exist in the file. They cannot add a layer, draw a new shape, add a keyframe, or change an easing curve.
  • Colors driven by expressions, linked to effects, or baked into embedded raster images are not stored as editable color values, so a color detector will not list them.
  • Image replacement swaps the bitmap inside an existing image asset. It does not change the asset's layer transform, so a replacement with a very different aspect ratio needs fitting or cropping first.
  • A file that plays correctly in one renderer can still differ on iOS, Android, or React Native. Test the edited file in the runtime that will ship it.

If your result is different

  1. 1.If the edit seems to have done nothing, reload the exported file in the Lottie viewer. Some apps cache animations by URL or file name.
  2. 2.If a color you can see is not detected, it is probably an image, a gradient with many stops, or an expression. Check the image list in Image Replace before assuming the tool failed.
  3. 3.If the exported file is larger than expected, compress it. The size jump usually comes from formatting, not from new content.
  4. 4.If the change requires new motion, go back to the source project. Do not try to reach it by stacking browser edits.

Frequently asked questions

Can I edit Lottie without After Effects?

Yes, for edits that change values already stored in the file: colors, embedded images, file size, and output format. Our test recolor changed only six numbers in the JSON and left every keyframe identical.

Can I change the timing or easing in a browser?

Not in EasyLottie. Retiming and easing changes create or modify keyframes, which is motion authoring. You can change playback speed in the player, but that scales the whole animation evenly.

Why is my exported file bigger than the original?

The Color Changer writes formatted JSON. Our recolored badge was 32,680 bytes as downloaded but 6,890 bytes minified, against a 6,823-byte original. Run the export through the Lottie Compressor to remove the formatting.

Is a browser Lottie editor private?

EasyLottie's editing tools process the file locally in your browser. The file is not uploaded unless you choose to save it to a cloud workspace or create a share link.

What should I try first?

Open the file in Lottie Preview. If it plays and only a color or image is wrong, use the Color Changer or Image Replace. If it does not play, read the troubleshooting guide before editing anything.

Primary sources

Technical behavior was checked against the original runtime or format documentation below.