免费GIF转APNG转换器
APNG(动态PNG)支持24位全色彩和逐像素Alpha透明度——没有256色上限,没有锯齿边缘。在浏览器中即时转换GIF,无需上传,无需注册。
拖放 GIF 文件到此处或点击浏览
在浏览器中转换 — 无需上传任何内容
工作原理
选择或拖入GIF文件
点击上传区域或将.gif文件拖放进来。文件完全在浏览器中处理——不会发送到任何服务器。支持50MB以内的GIF文件。
FFmpeg提取并重新编码每一帧
FFmpeg WebAssembly读取GIF的帧序列,将每帧解码为原始RGBA像素缓冲区,然后重新编码为DEFLATE压缩的PNG帧,保留24位色彩和8位Alpha通道。帧按源GIF的原始时间信息组装为APNG容器。
下载.apng文件
输出文件扩展名为.apng,是标准的动态PNG。直接放入HTML img标签即可——不需要JavaScript,不需要特殊属性。现代浏览器会自动检测并播放APNG动画。
嵌入网站或应用中使用
在HTML页面中使用 <img src="animation.apng" alt="动画描述">。Chrome、Firefox、Safari和Edge都原生支持APNG动画播放。也可以在CSS中作为 background-image 引用,同样会在所有支持的浏览器中播放动画。
APNG为什么比GIF更好
GIF将每帧编码为8位索引图像——从1670万RGB色彩中选取最多256种颜色组成调色板。当一帧包含超过256种颜色时,编码器必须用最接近的调色板颜色替代,产生明显的色带效应。这个256色上限是GIF规范的固有限制,无法绕过。该格式自1989年以来从未更新过。
APNG(动态便携式网络图形)彻底消除了这个上限。APNG于2004年作为PNG扩展提出,目前Chrome、Firefox、Safari和Edge均原生支持。APNG将每个动画帧存储为完整的PNG图像——每帧携带24位RGB色彩(1670万色值)和独立的8位Alpha通道(每像素256级透明度)。色彩数据精确无损,不构建调色板,不进行替代。
Alpha通道的差异对现代设计同样至关重要。GIF的透明度是二元的:像素要么完全不透明要么完全透明,没有中间值。这就是GIF动画边缘总是生硬锯齿状的原因——抗锯齿需要中间透明度值,而GIF无法存储。APNG的8位Alpha通道支持从0(完全透明)到255(完全不透明)的所有透明度级别,能实现平滑的半透明边缘、柔和的阴影、发光光晕和正确抗锯齿的圆角。
界面动画和加载状态:骨架屏、进度旋转器、徽章脉冲效果和过渡动画都受益于APNG的完整Alpha通道。一个带柔和渐隐光晕的加载动画在APNG中看起来精致流畅,在GIF中则显得粗糙——差别一眼可见。
贴纸和聊天应用内容:APNG是Apple iMessage动画贴纸的原生格式。完整的Alpha通道让贴纸轮廓在任何聊天背景上都能平滑融合,不会出现GIF透明度在抗锯齿边缘产生的白色或黑色边框。
品牌动态图形:Logo动画、图标过渡和带渐变或光效的品牌微动画,量化到GIF的256色后会失去精致感。APNG保留设计源文件的精确色彩值。
不适合使用APNG的场景:APNG在大多数邮件客户端中不会播放动画——Gmail、Windows版Outlook和企业邮件系统只显示第一帧静态图像。社交视频平台也不接受APNG(请使用MP4)。在聊天应用和开发者工具中分享动图,GIF仍然是内联自动播放支持最广的格式。APNG最适合用在网页、Web应用和原生应用界面中——您可以控制显示环境的场景。
主要功能
24位全色彩
1670万色,无需构建调色板、无色彩替代。像素级完美还原。
真正的逐像素Alpha透明度
每像素256级透明度,实现平滑边缘、投影阴影和抗锯齿轮廓。
完全私密——零上传
GIF文件不会被发送到任何服务器。FFmpeg WebAssembly完全在浏览器标签页中完成转换。
标准img标签嵌入
APNG的使用方式与GIF在HTML中完全一样。不需要JavaScript,不需要特殊CSS,不需要嵌入容器。
iMessage贴纸兼容
APNG是Apple iMessage动画贴纸的原生格式——在任何聊天背景上都能平滑显示边缘。
全现代浏览器支持
Chrome、Firefox、Safari和Edge自2017年起原生支持APNG动画。无需插件或polyfill。
格式对比
| 特性 | GIF | APNG |
|---|---|---|
| 色彩深度 | 256色(8位索引) | 1670万色(24位RGB) |
| 透明度 | 二元(全透明或全不透明) | 完整8位Alpha(0-255级/像素) |
| 压缩方式 | LZW(无损,逐帧) | DEFLATE(无损,逐帧) |
| 浏览器支持 | 所有浏览器(包括旧版IE) | 所有现代浏览器(Chrome、Firefox、Safari、Edge) |
| 邮件客户端支持 | 广泛——最适合邮件动画 | 有限——大多数客户端只显示第一帧 |
| 嵌入方式 | <img>标签 | <img>标签(用法完全相同) |
| 典型文件大小 | 简单扁平图形较小 | 较大——每帧存储完整色彩数据 |
| 最适合 | 聊天、邮件、GitHub、Slack | 界面动画、贴纸、网页设计、应用界面 |
技术详情
APNG通过三种额外的数据块类型扩展PNG二进制格式。acTL 块(动画控制)出现在第一个图像帧之前,指定动画的总帧数和循环次数。每帧之前有一个 fcTL 块(帧控制),存储帧的像素尺寸、画布上的位置偏移、以分子/分母秒表示的显示持续时间,以及处置和混合模式标志。第一帧之后的每帧压缩像素数据存储在 fdAT 块(帧数据)中。关键在于,第一帧的像素数据存储在标准 IDAT 块中,这意味着不支持APNG的PNG解码器——包括许多图像编辑应用——会将第一帧显示为普通静态PNG,而不是报错。
FFmpeg的 apng 封装器处理APNG组装。每个GIF帧被解码为原始RGBA像素缓冲区,然后编码为DEFLATE压缩的PNG帧。应用的混合模式为 APNG_BLEND_OP_SOURCE,即每帧的像素数据完全替换画布,与源GIF的行为一致。转换器保留GIF每帧Graphics Control Extension中存储的原始帧时间,因此输出APNG的播放速度与源GIF完全相同。支持10毫秒(100 FPS)到数秒的帧持续时间。
