# Choosing an output format
Choose original or optimized dotLottie, Lottie JSON, or Animated SVG output without losing required features.

Choose the output from the application's runtime needs, then optimize within that compatible format.

## Quick recommendation

- Use **optimized `.lottie`** for production when the runtime supports dotLottie.
- Use **original `.lottie`** when you need the untouched bundle or no optimized variant is available.
- Use **Lottie JSON** only when the target player requires JSON and the animation does not rely on dotLottie-only features.
- Use **Animated SVG (SMIL)** for an SVG-native delivery target that supports SMIL and does not need Lottie runtime controls.

## Format comparison

| Output                | Best for                                             | Preserves multi-animation, themes, tokens, and state machines |
| --------------------- | ---------------------------------------------------- | ------------------------------------------------------------- |
| Optimized `.lottie`   | Compact production delivery with a dotLottie runtime | Yes                                                           |
| Original `.lottie`    | Full source bundle and highest feature preservation  | Yes                                                           |
| Optimized Lottie JSON | Smaller JSON for a JSON-only player                  | No                                                            |
| Original Lottie JSON  | Legacy or JSON-only integration                      | No                                                            |
| Animated SVG (SMIL)   | SVG-native playback in a compatible environment      | No dotLottie manifest features                                |

## Original vs optimized

Optimized variants reduce unnecessary data and can load faster. They are plan-dependent and appear only when available. The extension can hide an optimized variant when it would not improve on its original format.

Always test the optimized result in the target runtime, especially when the animation contains masks, text, gradients, or advanced effects.

## JSON feature-loss warning

Lottie JSON represents one animation and has no dotLottie manifest. When the source contains advanced `.lottie` features, the extension warns before a JSON download or URL action.

Switch back to `.lottie` if the application needs:

- Multiple embedded animations.
- Themes or motion tokens.
- State machines.
- Bundle-level manifest metadata or assets.

## Animated SVG (SMIL)

Animated SVG can be useful for an SVG-oriented web workflow, but browser and host support for SMIL must be verified. The extension exports it from the original source animation, not from unsaved palette changes in the current preview.

## Download a format

1. Open an Explore or Workspace animation.
2. Expand **Download formats**.
3. Compare format, optimization status, size, and estimated savings.
4. Select the output.
5. Save it into the project or another intentional destination.

<Image src="https://assets.docs.lottiefiles.com/static/5f540ce6ea-640.webp" alt="Animation preview with optimized dotLottie downloads in VS Code" caption="Animation preview with optimized dotLottie downloads in VS Code" zoom variant="default" srcSet="https://assets.docs.lottiefiles.com/static/5f540ce6ea-640.webp 640w, https://assets.docs.lottiefiles.com/static/5f540ce6ea-1024.webp 1024w" width="1376" height="870" loading="lazy" data-blur="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAkUlEQVR4nC3KSwqCUABAUReiEaj5np9SLEsTGiRhVhpB/mighO1/B7dBnfFR8seLMErwgw1RnOKHO/IkJwi3nJ8DyuneYUsHKSRSSizLIRY+pmn8Q9UibAeR7pGOh+16aPMZumFR1APKpRnJbjXHqiErG1bBGk1V0XXjF67tm7KfKLuJsv8QxgcWwsZdBhT1yBd7JERLlBhNNQAAAABJRU5ErkJggg==" />

## Related

- [Working with multi-animation files](/en/integrations/vscode/04_inspect/working-with-multi-animation-files)
- [Publishing with CDN](/en/integrations/vscode/05_integrate/publishing-with-cdn)
