GIF抽帧

解析 GIF 逐帧导出 PNG,查看帧数与每帧延时,纯本地解码不上传

在线 GIF 抽帧工具:拖入 .gif 文件,自研纯 JS 解码器在浏览器本地逐帧解析(支持全局/局部色表、LZW 解压、交织行还原、 透明索引与 disposal 帧累积合成),给出帧数、尺寸、总时长、平均延时统计,帧网格展示每帧合成效果与延时; 单帧可下载 PNG,全部帧可打包 ZIP 一次下载。所有数据只在本机处理,不上传服务器。

纯本地解码disposal 帧合成帧延时明细ZIP 批量导出

每帧导出的是按 disposal 规则合成后的完整画布(与播放时所见一致),透明区域会保留 alpha 通道导出为透明 PNG。

选择 GIF 文件

拖拽 .gif 文件到这里,或点击选择

GIF 文件只在本机浏览器内解码,不会上传

支持的 GIF 特性

  • • GIF87a / GIF89a、全局与局部色表、LZW 变长码解压
  • • 帧间 disposal 合成(0/1 保留、2 恢复背景、3 恢复上一帧),逐帧还原播放画面
  • • 交织(interlaced)存储还原、透明索引、NETSCAPE 循环扩展识别
  • • 解码完全在浏览器本地完成,无任何网络请求

帧预览

拖入 GIF 后逐帧显示在这里
# GIF抽帧是什么?逐帧导出、disposal 合成与常见问题

GIF抽帧把一张 GIF 动图拆解成一帧帧静态图片,并标出每帧的显示时长。GIF 文件内部并不存"完整的一帧接一帧", 而是大量使用差分帧:每一帧可能只记录画面中变化的一小块矩形,配合 disposal(处置方法)决定播放完这一帧后旧画面如何处理。 本工具内置一套纯 JS 实现的 GIF 解码器,按浏览器播放的同一套规则把差分帧累积合成为完整画面再导出, 保证抽出来的每一帧和你在播放器里看到的画面一致。

功能介绍

  • 逐帧解析:解析 GIF87a/GIF89a、全局与局部色表、LZW 变长码压缩数据与交织行存储。
  • disposal 合成:按处置方法 0/1(保留)、2(恢复背景)、3(恢复上一帧)逐帧累积,导出帧与播放画面一致。
  • 统计信息:帧数、画布尺寸、总时长与平均延时一目了然,并识别 NETSCAPE 循环次数。
  • 帧网格预览:每帧显示序号与延时(毫秒),透明区域以棋盘格标识。
  • 单帧与批量导出:单帧点击即存 PNG;全部帧自动打包 ZIP,文件名带帧序号。
  • 纯本地解码:自研解码器不依赖任何在线服务,GIF 文件与导出图片均不上传。

使用场景

  • 表情包制作:把喜欢的 GIF 拆成静帧,挑出关键画面二次创作或做成静态表情。
  • 动效设计走查:从设计师交付的动效 GIF 中逐帧检查细节与节奏(每帧延时)。
  • 教学与教程:把演示动画拆成步骤图插入 PPT / 文档。
  • 数据分析与逆向:了解一个 GIF 的帧结构、循环设置与优化空间。

常见问题 (FAQ)

为什么有的帧大部分是透明的?

这正是 GIF 差分帧的特性:该帧只刷新了一小块区域。本工具已经按 disposal 规则把它合成到前序画面之上, 所以导出的 PNG 与播放画面一致;出现大面积透明通常说明源 GIF 本身使用了"恢复背景"的处置方法, 透明区域在播放时露出的就是背景。

帧延时 0ms 的帧是怎么回事?

GIF 的帧延时以 1/100 秒为单位存储,0 表示"尽快切下一帧"。多数播放器会把 0 或过短的延时按约 100ms 处理, 本工具如实显示文件里记录的原始数值,方便你核对真实的帧节奏。

为什么帧数和某些软件显示的不一样?

少数工具按"图像块"计数(一个 GIF 内可能包含多个图像块但逻辑上属于同一逻辑帧),或忽略没有图形控制扩展的帧。 本工具按 GIF 规范把每个图像描述符计为一帧,与主流浏览器的播放帧序列一致。

导出的 PNG 尺寸是多少?会丢透明吗?

每帧都按 GIF 的逻辑画布尺寸(即整个动图的宽高)导出,而不是只导出变化的小矩形;透明像素带 alpha 通道导出, 不会被填充成白色或黑色。

文件会上传服务器吗?

不会。解码使用页面内置的纯 JS 解码器在浏览器本地完成,导出与打包也都在本机进行,整个过程没有任何网络请求。

相关工具推荐

图片压缩

在线压缩图片

热门

图片转PDF

将多张图片合并导出为PDF文档

热门 本地

颜色选择器

取色器、颜色转换

热门 本地

图片旋转翻转

在线旋转、翻转图片,支持自定义角度和方向

热门 本地

图片滤镜效果

为图片添加滤镜效果,包括亮度、对比度、饱和度等调整

热门 本地

图片背景处理

更换图片背景颜色、添加模糊效果,支持纯色背景移除

热门 本地

相关教程