# Lottie compatibility
After Effects has dramatically more features than the Lottie format supports. This page is the canonical reference for which AE features convert cleanly, which convert partially, which need a workaround, and which don't convert at all.

## Compatibility legend

- ✅ — converts cleanly with no caveats.
- 🟡 — converts with limitations; see Notes.
- 🔧 — possible with manual setup or pre-composing; see Notes.
- ❌ — cannot be exported. Either silently dropped or causes a render error.

## Layers and transforms

| Feature                            | Support | Notes                                                                                                   |
| ---------------------------------- | ------- | ------------------------------------------------------------------------------------------------------- |
| Shape layers                       | ✅       | The cleanest path. Use vector shape layers wherever possible.                                           |
| Solid layers                       | ✅       | —                                                                                                       |
| Text layers (basic)                | ✅       | Single-style text with standard fonts converts.                                                         |
| Text layers (advanced animators)   | 🟡      | Per-character animators are partially supported; complex range selectors may drop. **\[needs testing]** |
| Vector raster (Illustrator paste)  | 🔧      | Convert pasted Illustrator artwork to shape layers via **Create > Create Shapes from Vector Layer**.    |
| Raster image layers                | ✅       | Image data is embedded as a base64 PNG inside the Lottie JSON, which inflates file size.                |
| Pre-composed (nested) compositions | ✅       | Each nested comp becomes a referenced asset. Avoid unnecessary nesting for performance.                 |
| Adjustment layers                  | ❌       | Drop or bake the effect into the layer beneath. **\[needs testing]**                                    |
| 3D layers (Z position)             | 🟡      | Z position is respected; layer ordering by Z may not be.                                                |
| 3D layers (X/Y rotation)           | 🟡      | Limited; complex 3D camera interactions don't render. **\[needs testing]**                              |
| Camera layers                      | ❌       | Use simulated 2D scale/position animation instead.                                                      |
| Light layers                       | ❌       | —                                                                                                       |
| Null objects                       | ✅       | Useful as parents for hierarchical motion.                                                              |
| Guide layers                       | ❌       | Marked as guides in AE so they're skipped — this is intentional behavior.                               |

## Effects

Lottie only natively supports a small set of AE effects. Most others are silently dropped from the export. **\[needs testing — populate this section from empirical tests + relottie capability list]**

| Effect category                                      | Support | Notes                                                                                                         |
| ---------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------- |
| Drop Shadow                                          | 🟡      | Basic offset, color, opacity supported; some properties may not animate.                                      |
| Glow                                                 | ❌       | Bake into the artwork or use a pre-rendered raster.                                                           |
| Tint / Fill                                          | 🟡      | Static color overrides work; some animated forms drop.                                                        |
| Blur (Gaussian / Box / etc.)                         | 🟡      | Limited support; behavior varies by renderer.                                                                 |
| CC Particle World, Liquify, Turbulent Displace, etc. | ❌       | None of the procedural AE effects export. Bake to keyframes on a shape layer, or use a pre-rendered fallback. |

## Masks and mattes

| Feature                                          | Support | Notes                                                                |
| ------------------------------------------------ | ------- | -------------------------------------------------------------------- |
| Mask (alpha)                                     | ✅       | —                                                                    |
| Mask (subtract)                                  | ✅       | —                                                                    |
| Mask (intersect / lighten / darken / difference) | 🟡      | Renderer support varies. **\[needs testing]**                        |
| Track matte (alpha)                              | ✅       | —                                                                    |
| Track matte (alpha inverted)                     | ✅       | —                                                                    |
| Track matte (luma)                               | 🟡      | Less consistent across renderers; alpha is preferred where possible. |
| Mask animation (path keyframes)                  | ✅       | Animated paths convert.                                              |

## Properties and animation

| Feature                               | Support | Notes                                                                                              |
| ------------------------------------- | ------- | -------------------------------------------------------------------------------------------------- |
| Position / Scale / Rotation / Opacity | ✅       | The four core animatable properties.                                                               |
| Anchor point                          | ✅       | —                                                                                                  |
| Stroke and fill (animated)            | ✅       | On shape layers.                                                                                   |
| Trim Paths                            | ✅       | The canonical Lottie reveal/draw animation.                                                        |
| Repeater                              | ✅       | On shape layers.                                                                                   |
| Gradient fill / stroke                | 🟡      | Two-stop linear gradients are best supported; complex gradients may simplify. **\[needs testing]** |
| Path animations (shape morphing)      | ✅       | Both shape paths must have the same vertex count.                                                  |

## Expressions and time

| Feature                   | Support | Notes                                                                                                                                                                            |
| ------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Expressions (any)         | ❌       | Bake to keyframes before export: select the property, then **Animation > Keyframe Assistant > Convert Expressions to Keyframes**. {/* [needs review] confirm exact menu path */} |
| Time remapping            | 🟡      | Linear remaps work; expression-driven remaps don't.                                                                                                                              |
| Hold keyframes            | ✅       | —                                                                                                                                                                                |
| Easy ease / custom easing | ✅       | Standard temporal interpolation converts.                                                                                                                                        |
| Roving keyframes          | 🟡      | Renderer support varies. **\[needs testing]**                                                                                                                                    |

## Text-specific behavior

| Feature                        | Support | Notes                                                                                                           |
| ------------------------------ | ------- | --------------------------------------------------------------------------------------------------------------- |
| System fonts                   | ✅       | Font face is referenced by name; runtime must have the font available.                                          |
| Custom (TTF/OTF) fonts         | 🔧      | Outline the text (**Create > Create Shapes from Text**) before export, or ship the font file with your runtime. |
| Per-character offset / opacity | 🟡      | Basic animators work; complex range-selector chains drop.                                                       |
| Text on a path                 | 🟡      | **\[needs testing]**                                                                                            |

## Audio

| Feature      | Support | Notes                                                                       |
| ------------ | ------- | --------------------------------------------------------------------------- |
| Audio layers | ❌       | Lottie has no audio channel. Add audio in the runtime alongside the Lottie. |

## What this matrix doesn't cover

- **Specific renderer differences.** Lottie playback differs across runtimes (web, iOS, Android, Flutter, Skottie). A feature marked ✅ here means the AE plugin exports it correctly; whether your target runtime plays it back exactly the same is a separate question.
- **Performance characteristics.** A feature can be supported and still be expensive to render at runtime. Large repeaters, heavy nested comps, and many simultaneous masks can hurt frame rate even when they "work."
- **Future Lottie spec features.** The Lottie format evolves; check the [Lottie specification](https://lottiefiles.github.io/lottie-docs/) for the canonical source.

## Related

- [Exporting compositions as Lottie](/en/integrations/after-effects/06_export/exporting-compositions-as-lottie) — the export flow, with a Troubleshooting section that uses this matrix.
- [Preparing comps for Lottie](/en/integrations/after-effects/04_preparing-comps) — best practices that work around most rows above.
