免费 GIF 动图制作器
将多张图片合成动态 GIF。可调节帧间隔、输出宽度、循环和质量。完全在浏览器中编码。
将文件拖放到此处或点击浏览
JPG, PNG, WebP, HEIC, HEIF · 在你的设备上处理
或按 Ctrl+V 从剪贴板粘贴
你可以一次拖放多个文件
你的文件永远不会离开你的设备。所有处理都在你的浏览器中本地进行。
常见用途
- 动画教程截图将一系列截图转换为显示分步工作流的动画 GIF。
- 登陆页面的产品演示 GIF创建展示你的产品运作的动画 GIF — 嵌入到登陆页面、README 或社交文章中。
- 制作梗图和反应 GIF将图像组合成可共享的梗图 GIF,用于 Twitter、Discord、Slack 或群聊。
- 停格动画从一系列物体、粘土、绘画或手的照片构建停格动画。
工作原理
GIF编码完全在您的浏览器中通过gif.js运行——纯JavaScript GIF编码器,带有Web Worker以实现性能。您的图像永远不会上传。
- 1您拖放多个图像每个图像加载到浏览器内存中并由浏览器的内置图像解码器解码。它们按上传顺序出现在帧列表中。
- 2每帧以选择的宽度绘制到画布纵横比从第一帧保留。画布像素数据与您选择的延迟一起作为帧序列传递给gif.js。
- 3Web Worker在后台编码GIFgif.js生成一个worker以在不阻止UI的情况下编码。worker处理颜色量化(将每一帧减少到256色)并输出LZW压缩的GIF字节。
- 4完成的GIF被提供下载编码完成后,您可以预览动画并在本地保存。Blob仅保留在您的浏览器内存中。
您的照片永远不会上传到任何地方。gif.js worker在您的浏览器中运行。适合个人照片拼贴、截图中的梗或敏感内容。
指南
操作示例
拖入三张尺寸都是 1600×1000 像素的图片。列表显示“3 帧 — 用 ↑/↓ 拖动排序”。使用默认设置时,“输出宽度 (480px)”得到 480×300 的 GIF,“帧延迟 (200ms)”显示“5.0 FPS”,“循环播放 GIF”已勾选。拖动滑块直到显示“帧延迟 (500ms)”和“2.0 FPS”。在第 3 帧旁的框中输入 1500,让最后一张图停留更久。在“字幕(可选)”中输入 Day 1,保持“底部”。点击“创建 GIF”。按钮显示“正在编码 60%…”,随后出现预览,并带有“下载”和括号中的大小。各帧依次显示 0.5、0.5 和 1.5 秒,共 2.5 秒,然后重复。文件保存为 animation.gif。如果此时更改宽度,页面会提示“帧或设置已更改 — 请重新编码以更新 GIF。”,直到你点击“重新编码”。
使用哪些设置,以及限制
- 添加各帧,然后排好顺序。 工具接受 JPEG、PNG 和 WebP 图片;iPhone 的 HEIC 照片在添加时会被转换为 PNG。可以一次拖入、浏览或粘贴多张,之后还可以再添加:新图片会追加到列表末尾。列表显示“3 帧 — 用 ↑/↓ 拖动排序”,每一行都有“上移”和“下移”箭头以及“移除此帧”的叉号。列表中的第一帧决定整个 GIF 的形状。动画 GIF 不能作为帧使用。
- 先为所有帧设置速度,再单独调整某几帧。 “帧延迟”范围为 50 到 1000 ms,步长 50,默认 200 ms。下方的一行显示帧率:200 ms 时为“5.0 FPS”,50 ms 时为“20.0 FPS”。每一行上的小框只覆盖该帧的延迟。留空则使用全局值,它以灰色提示显示。其箭头从 20 ms 开始,以 10 为步长。给最后一帧设置更长的延迟,可以让动画在结尾处停留。
- 选择宽度和适配方式。 “输出宽度”范围为 100 到 1200 px,步长 20,默认 480。高度跟随第一帧的形状,所以 1600×1000 的图片在 480 下得到 480×300。“帧适配”决定其他形状的图片如何处理。“包含”(默认)显示整幅图片,并用“背景颜色”(起初为白色)填充空隙。“铺满”填满画面并裁掉边缘。“拉伸”填满画面但会使图片变形。PNG 的透明区域也会显示背景颜色。
- 在文件大小和质量之间权衡。 GIF 会存储每一帧,所以它的大小随帧数和宽度增长,降低“输出宽度”最能节省空间。“质量”滑块范围为 1 到 30,默认 10。页面写着“越低 = 质量越好,文件越大”,所以 30 给出最小也最粗糙的文件。“循环播放 GIF”已勾选,动画会永远重复;取消勾选则只播放一次。进度条显示“正在编码 40%…”时,编码器使用两个后台工作线程。
- 如有需要,给每一帧加字幕。 “字幕(可选)”会在每一帧上绘制同一行文字。选择“顶部”或“底部”(默认为底部)和文字颜色(起初为白色)。文字始终带有黑色描边,以保持可读。文字大小是 GIF 宽度的十二分之一,不会小于 12 px,且不换行:过长的字幕会被压缩到宽度的 94% 以内。请保持简短。
- 下载之前先查看预览。 点击“创建 GIF”后,预览出现在按钮下方,“下载”按钮在括号中显示大小。文件始终保存为 animation.gif。“重新编码”会用当前设置再运行一次。如果在编码之后更改设置、调整帧顺序或更改帧延迟,旧的 GIF 会连同一条说明留在屏幕上,此时下载得到的是旧动画。添加或移除帧则会清除它。编码器脚本由本站提供,不会上传任何内容。
常见问题及解决方法
- 提示“GIF 生成失败”
- 工具在开始前会加载每一帧,只要有一张浏览器无法解码的图片,整个运行就会停止。页面不会说明是哪一张。请用叉号一次移除几帧,直到“创建 GIF”能够运行,然后把有问题的图片重新保存为 JPEG 或 PNG。另一条消息“此浏览器不支持画布”表示浏览器没有给页面提供 2D 绘图表面,而工具的每一帧都需要它。请换一个浏览器。
- 提示“banner.gif 是 GIF 文件,此工具无法打开。”
- 拖放区检查的是文件的真实类型,而不仅是文件名。JPEG、PNG 和 WebP 被接受,HEIC 也接受并会被转换。GIF、AVIF 和 BMP 会被拒绝,所以动画 GIF 不能用作帧。请先把图片保存为被接受的类型之一;图片格式转换器可以做到。检查器无法识别的文件则会提示“不支持的文件类型”及其文件名。
- 有些帧两侧有黑边,或者被裁掉了一部分。
- 这是“帧适配”在起作用,而 GIF 的形状来自列表中的第一帧。使用“包含”时,形状不同的图片会出现用“背景颜色”填充的边条。选择“铺满”可填满画面并裁掉边缘。“拉伸”会去掉边条,但图片会变形。若要改变整体形状,请用“上移”把形状合适的图片移到最上面,然后点击“重新编码”。
- 提示“帧或设置已更改 — 请重新编码以更新 GIF。”
- 在 GIF 生成之后,你更改了某项设置、调整了帧顺序或更改了帧延迟。预览和“下载”按钮仍然保存着旧的 GIF,所以现在下载得到的是旧动画。请点击“重新编码”生成新的。添加或移除帧则会清除旧 GIF,所以那时你不会看到这条说明。
- GIF 文件有好几兆字节。
- 大小取决于帧数、宽度和“质量”设置。先降低“输出宽度”(起始值为 480),再把“质量”调向 30,然后减少帧数。对于已有的 GIF,本站的 GIF 压缩器可以缩小它。
对比分析
此工具只能用静态图片生成动画 GIF。如果是视频片段,请使用视频转 GIF。它只有一个“质量”滑块、一个宽度和一个帧延迟,没有调色板、抖动或优化设置。每一帧都绘制在背景颜色上,所以不保留透明度。它无法在帧内绘制、裁剪或编辑,字幕在所有帧上都是同一行文字。桌面动画软件在调色板和文件大小上提供更精细的控制。GIF 相对于所展示的内容来说体积很大,所以之后可以用 GIF 压缩器来帮忙。作为交换,无需安装任何东西,图片在你的浏览器中编码。
相关工具
照片幻灯片制作器
将照片制作成带有音乐、交叉淡入淡出和缓慢缩放的 MP4 幻灯片。16:9、9:16 或正方形,最高 1080p。在您的浏览器中制作;您的照片不会上传。
图片合并工具 — 把多张图片合成一张
把照片或截图合并成一张图片:从上到下、并排或网格排列,不裁剪。可统一宽度,添加间距、边框和背景,然后保存为 JPG、PNG 或 WebP。在浏览器中运行,不会上传任何内容。
PDF 转图片(JPG、PNG、WebP)
将 PDF 每页按您选择的分辨率转为 JPG、PNG 或 WebP 图片。可单独下载每页或打包为 ZIP 一次性下载。文件不离开您的浏览器。