You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Lottie JSON文件转换为动画SVG以适配Web项目?

Lottie JSON 转动画 SVG 解决方案

CLI 工具方案

1. lottie-to-svg-cli

  • 安装:npm install -g lottie-to-svg-cli
  • 转换命令:lottie-to-svg 你的动画文件.json 输出文件.svg
  • 优势:一步到位转成带SMIL动画的SVG,基本不用后续调整,大部分Lottie里的位移、缩放、透明度动画都能完整保留,上手零成本。

2. lottie-cli

  • 安装:npm install -g lottie-cli
  • 转换命令:lottie convert --format svg 你的动画文件.json 输出文件.svg
  • 优势:基于lottie-web核心开发,支持批量转换,能保留原动画的关键帧时间线,很适合集成到项目的构建脚本里自动处理。

JavaScript 库方案

1. lottie-svg

  • 代码示例(Node环境):
import { convertLottieToSvg } from 'lottie-svg';
import fs from 'fs';

const lottieJson = JSON.parse(fs.readFileSync('./你的动画文件.json', 'utf8'));
const svgString = await convertLottieToSvg(lottieJson);

fs.writeFileSync('./输出文件.svg', svgString);
  • 优势:纯JS库,浏览器和Node环境都能用,转换后的SVG直接内嵌动画,不用额外依赖,适合需要动态生成SVG的场景。

2. lottie-to-svg

  • 代码示例:
const lottieToSvg = require('lottie-to-svg');

lottieToSvg.convert({
  input: './你的动画文件.json',
  output: './输出文件.svg'
}).then(() => {
  console.log('转换完成');
});
  • 优势:支持自定义配置,比如调整动画帧率、裁剪动画时长,转换后的SVG兼容性不错,适合需要微调转换结果的情况。

小提示

  • 要是你的Lottie里有3D变换、复杂表达式动画,可能没法100%转成SMIL动画,建议先拿核心效果测试下。
  • 如果导出的SVG在旧浏览器跑不动,可以补个svg-animation-polyfill做兼容,但优先选转换效果好的工具,尽量减少后处理。

内容的提问来源于stack exchange,提问作者sebastian plata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 17:29:59