动态 PNG (.apng)

W3C 标准

动画便携式网络图形 (APNG) 扩展了标准 PNG,支持多帧动画,具有完整的 24 位真彩色和 8 位 Alpha 透明度,并向下兼容标准 PNG 解码器。

将 APNG 转换为 GIF

免费的浏览器端 APNG 转 GIF 转换器。在您的设备上即时转换文件。

检查与元数据

操作系统和文件分析器通过检查开头的二进制字节序列来识别 APNG 文件:

选择或将文件拖放到此处

100% 浏览器端私密转换 - 文件绝不会离开您的设备

或粘贴 Ctrl+V
零网络传输隐私保证: 上传至外部服务器的数据为 0 字节。所有处理均在您的浏览器沙箱中本地完成。

字节级文件头签名 (Magic Bytes)

操作系统和文件分析器通过检查开头的二进制字节序列来识别 APNG 文件:

十六进制签名 (偏移量 0):

89 50 4E 47 0D 0A 1A 0A

ASCII 表示形式: ‰PNG....

标准化: W3C Community Group Report (2021) / Mozilla Extension

技术规格

容器架构PNG chunk stream with acTL (animation control), fcTL (frame control), and fdAT (frame data) chunks
压缩方式Deflate (zlib) sliding-window LZ77 with 2D adaptive filtering applied per-frame
字节序Big-Endian (network byte order)
色彩空间sRGB, Display P3, Embedded ICC Profile (iCCP)
通道与结构RGBA (8-bit or 16-bit per channel Truecolor + 8-bit alpha)
最大尺寸2,147,483,647 x 2,147,483,647 pixels (PNG 31-bit limit)
透明度Full 8-bit alpha channel transparency (256 levels of smooth translucency)
流式传输与渐进式加载Progressive chunk streaming; renders first frame immediately on legacy non-animated PNG parsers

技术对比矩阵:APNG 对比同类产品

技术属性APNG (当前)GIFWEBPAVIF
色彩深度24 位 RGB(1670 万色)8 位索引(256 色)24 位 RGB(1670 万色)10 位 / 12 位 HDR
Alpha 透明度8 位平滑 Alpha(256 级)1 位开/关二元遮罩8 位平滑 Alpha8 位 / 10 位平滑 Alpha
向下兼容性在旧版查看器中显示为静态 PNG通用旧版 GIF在旧版查看器中不兼容在旧版查看器中不兼容
压缩效率Deflate(中等)LZW(较差)VP8 关键帧/差异帧(高)AV1 帧间压缩(超高)

常见损坏模式与十六进制恢复指南

动画只播放第一帧,从不循环或前进。

根本原因: 位于第一个 IDAT 块之前的 'acTL'(动画控制)块丢失或损坏。

恢复方法: 使用 apngasm 或 File2File Animation Converter 重新混流帧,以重建有效的动画控制块。

安全分析与解析器攻击向量

APNG 解析器会处理重复的帧控制块,其中畸变的尺寸可能会导致整数溢出或堆内存耗尽。

已知攻击向量

  • 帧偏移 (x_offset / y_offset) 计算中的整数溢出,导致越界帧合成。
  • 帧宽高不匹配,在帧混合期间导致缓冲区过读。
  • 无限动画解压循环在后端缩略图生成服务中耗尽 CPU。

防御性最佳实践:

历史渊源与里程碑

2021W3C 正式将 APNG 规范注册为公认的社区标准。
2017谷歌浏览器 (v59) 原生支持 APNG,完成了桌面和移动浏览器的全面普及。
2008苹果将 APNG 用于动画 iOS 贴纸和 Safari 浏览器图形。
2004Stuart Parmenter 和 Vladimir Vukicevic 为 Mozilla Firefox 网络状态动画指定了 APNG。

核心优势与特点

  • 完整的 24 位 RGB 色彩加上 8 位 Alpha 透明度,彻底消除了 1 位 GIF 透明度的锯齿边缘伪影。
  • 与旧版 PNG 解码器 100% 向下兼容(可无缝显示主后备帧)。
  • 在所有现代桌面、iOS 和 Android 浏览器中实现通用的原生硬件加速播放。

技术局限与劣势

  • 文件体积比 WebM 或 MP4 等现代视频动画格式更大。
  • 与传统 GIF 相比,生成时的编码复杂度和 CPU 使用率更高。
  • 缺乏专业视频编解码器中常见的前后帧运动矢量预测。

趣味技术冷知识

  • 官方 PNG 开发小组在 2007 年拒绝了 APNG,更倾向于最终未能得到普及的独立 MNG 格式。
  • 苹果在 iOS 10 信息应用商店中将 APNG 用于动画贴纸,从而推动了巨大的移动端普及。
  • 如果您在 1990 年代的古老图像查看器中打开 APNG 文件,它只会显示第一帧而不会崩溃。

常见技术问题

为什么 APNG 比 GIF 更好?

APNG 支持 1670 万种颜色和 256 级平滑的 Alpha 透明度,而 GIF 仅限于 256 种颜色和生硬的 1 位透明度。

每个浏览器都支持 APNG 吗?

是的。自 2017 年以来,所有现代浏览器(Chrome、Safari、Firefox、Edge)都已原生支持 APNG。

我可以将 APNG 转换为标准的 GIF 或 MP4 吗?

可以。File2File.app 可以直接在您的网页浏览器中将 APNG 动画转换为轻量级的 GIF、MP4 或 WebM 文件。