▸_ffmpegtool
~/tools/animated-to-images

动画转图片

把 GIF、动画 WebP、APNG 逐帧导出为 PNG 图片列表,可单帧预览下载或一键打包 ZIP。所有处理在浏览器本地完成,文件不上传。

❯frame_%04d.png
引擎:ffmpeg.wasm等待初始化…

$拖入动画文件,或点击选择

支持 GIF / 动画 WebP / APNG,逐帧导出 PNG

文件不会离开你的设备
GIFWebPAPNG
01拖入动图

动画文件读入浏览器内存,不发生任何网络上传

02拆出帧序列

GIF / 动画 WebP / APNG 逐帧导出 PNG

03单帧或打包下载

点击预览单帧,或一键下载全部帧 ZIP

//相关GIF 动图工具全部工具

在线动画拆帧工具

本地处理 · 不上传

动画转图片工具,把 GIF、动画 WebP、APNG 逐帧导出为 PNG 图片列表:保留原始分辨率与帧序,可单帧预览、单帧下载或一键打包全部帧 ZIP。全部在浏览器内处理,文件不上传服务器,隐私安全。

直接回答

  • 支持 GIF / 动画 WebP / APNG 逐帧导出 PNG,每帧按 frame_0001.png 起命名,顺序与原动画一致。
  • 结果以图片列表展示:点击可放大预览,单帧可单独下载,也可一键打包全部帧 ZIP(流式打包,帧数大也不会撑爆内存)。
  • 帧数超过 1000 时只导出前 1000 帧并明确提示,防止浏览器内存失控。
  • 拆帧在浏览器本地完成(FFmpeg WASM / WebCodecs),文件不上传,免费、无水印、无需注册。

如何把动画拆成图片

  1. 1

    上传 GIF / 动画 WebP / APNG 文件

  2. 2

    点击拆帧,等待帧序列生成

  3. 3

    预览单帧、下载单帧或一键下载全部帧 ZIP

动画拆帧的常见用途

  • 把动图的关键帧导出为静态图片
  • 为设计稿/文档提取动画素材帧
  • 检查动图每一帧的内容与质量

动画拆帧的注意事项

  • 帧数上限 1000:超长动画只导出前 1000 帧并给出提示
  • WebP 输入依赖浏览器的 ImageDecoder:Firefox 暂不支持,请用 Chrome / Edge
  • GIF 拆出的 PNG 为 256 色源画面放大前的原样色彩(GIF 本身只有 256 色)

动画拆帧工具怎么选

  • 与在线截图逐帧对比:自动按序导出全部帧,无需逐帧截屏
  • 与视频抽帧对比:动图帧数少、节奏快,直接 1:1 导出每一帧
  • 与上传式工具相比:文件不上传、本地处理,隐私安全

动画拆帧的实现原理

  • GIF/APNG 由 FFmpeg 的 demuxer 原生解出全部帧,经 image2 muxer 输出 frame_%04d.png 序列。
  • 动画 WebP 由浏览器 WebCodecs ImageDecoder 逐帧解码(FFmpeg 原生不支持动画 WebP 解码),再转成 PNG。
  • ZIP 打包走流式生成:逐文件读入、边收边落浏览器磁盘,内存峰值≈单帧,千帧级也安全。

动画拆帧常见问题

支持哪些动画格式拆帧?

GIF、动画 WebP、APNG 都可以逐帧导出 PNG;静态 PNG 会作为单帧输出。

帧的命名规则是什么?

从 frame_0001.png 起按帧序编号,与动画播放顺序一致。

能全部打包下载吗?

可以。结果区一键下载 ZIP,打包是流式生成,帧数大也不会撑爆内存。

帧数太多怎么办?

超过 1000 帧只导出前 1000 帧并提示;需要完整帧请先在视频裁剪页截短再拆。

文件会传到服务器吗?

不会。拆帧在本地浏览器完成,文件不离开你的设备。

导出的 PNG 是无损的吗?

是。PNG 为无损压缩格式,拆出的每一帧不引入二次压缩损失。

帧率信息会保留吗?

导出的是静态图片序列,不携带帧率;重新合成动图(图片转 GIF / 图片转 WebP)时可自选帧率。

能只拆部分帧吗?

当前按整段导出(上限 1000 帧);需要精确选帧请用「视频抽帧」的区间/数量模式。