# Player controls
Compare Lottie SVG player and dotLottie (ThorVG) Player behavior for Figma exports.

LottieFiles supports two player families that matter for Figma handoff: the Lottie SVG player and the dotLottie (ThorVG) Player.

**dotLottie (`.lottie`)** is the preferred export format — smaller files and support for state machines, themes, and motion tokens. Use Lottie JSON only when the destination still depends on legacy `lottie-web` playback.

## Player support at a glance

| Capability                    | Lottie SVG player                                   | dotLottie (ThorVG) Player                                                       |
| ----------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------- |
| Plays Lottie JSON (`.json`)   | Yes                                                 | Yes                                                                             |
| Plays dotLottie (`.lottie`)   | No                                                  | Yes                                                                             |
| Broad backwards compatibility | Strong                                              | Requires dotLottie-aware runtime                                                |
| State machines                | No                                                  | Yes                                                                             |
| Themes                        | No                                                  | Yes                                                                             |
| Best suited for               | Legacy `lottie-web` playback of plain `.json` files | Preferred playback for `.lottie` with state machines, themes, and motion tokens |

## When to choose Lottie SVG player

Choose the Lottie SVG player only when:

- The destination already uses `lottie-web` and cannot switch to a dotLottie runtime.
- You must hand off a `.json` file for legacy compatibility.
- The animation is simple and non-interactive.

## When to choose dotLottie (ThorVG) Player

Choose dotLottie (ThorVG) Player when:

- The animation is exported as `.lottie`.
- The animation uses state machines.
- The animation uses themes.
- You want more consistent dotLottie playback across supported platforms.

## Figma interactivity rule

If the animation came from an interactive Figma prototype, hand it off as `.lottie` and tell the developer to use a dotLottie runtime. Lottie JSON and `lottie-web` cannot preserve state-machine behavior, themes, or motion tokens.

## Related

- [Exporting interactive state machines](/en/integrations/figma/04_figma-to-lottie/exporting-interactive-state-machines)
- [Choosing an output format](/en/integrations/figma/05_export-and-handoff/choosing-an-output-format)
- [Developer handoff](/en/integrations/figma/05_export-and-handoff/developer-handoff)
