
SnapImg:让图片压缩更简单,一键瘦身不求人
继桌面版 ImageMinify 之后,又做了一个在线版图片压缩工具 —— SnapImg,不用安装,打开网页就能用。
压缩原理

SnapImg 的压缩分两类:有损和格式转换。PNG 走的是 pngquant / imagequant 这套量化算法——把图片的颜色数从最多 1600 万压到一个有限调色板里,文件体积能砍掉一大半,肉眼几乎看不出区别;JPEG、WebP、AVIF 则是调整编码质量参数,在体积和画质之间找平衡点。
为什么做 SnapImg
做开发、写博客的,大概都碰到过这些场景:
- 写文章配图,图片太大上传失败
- 网站图片加载慢,拖累用户体验
- 临时要压一张图,又不想为此装个软件
- 换了台电脑,压缩工具还得重新装一遍
SnapImg 要解决的就是这些场景 —— 打开浏览器、拖入图片、一键压缩、即刻下载,不装任何东西。
核心特性
| 特性 | 说明 |
|---|---|
| 高压缩率 | PNG 使用 pngquant / imagequant 算法,压缩率可达 70%+ |
| 多格式支持 | 支持 PNG、JPEG、WebP、AVIF 格式互转 |
| 隐私安全 | 图片仅在内存中处理,不落盘、不保存到服务器磁盘 |
| 批量处理 | 单次最多支持 20 张图片同时压缩 |
| 效果对比 | 滑动对比压缩前后效果,质量一目了然 |
| 深色模式 | 支持浅色 / 深色主题 |
这里要单独说一句"隐私安全":图片全程只在内存里处理,压完即走,不写硬盘、不进数据库。对不想把图片传到来路不明的在线工具上的人来说,这一点比压缩率更重要。
效果展示


技术栈
前端:
- React 19 + TypeScript
- Tailwind CSS + Shadcn UI
- Vite 构建
后端:
- FastAPI + Python
- Pillow + imagequant + pngquant
- 纯内存处理,无数据库依赖
底层和桌面版 ImageMinify 一样基于 Pillow,沿用了那套压缩能力,再针对 Web 场景做了优化——主要是把单次任务控制在合理范围、用内存处理避免并发落盘的开销。
快速体验
不用安装,打开浏览器就能用:
三步搞定:
- 选择格式 —— 按需求选输出格式(原格式 / AVIF / WebP / PNG / JPEG)
- 上传图片 —— 拖拽或点击上传,支持批量
- 下载结果 —— 压缩完成后一键下载
私有化部署
想跑在自己服务器上的,也提供了 Docker 一键部署:
# 构建镜像
docker build -t snapimg .
# 运行容器
docker run -d -p 80:80 --name snapimg snapimg
开源地址
SnapImg(在线版):https://github.com/Moresl/snapimg
ImageMinify(桌面版):https://github.com/Moresl/ImageMinify
写在最后
从桌面版 ImageMinify 到在线版 SnapImg,两个工具其实就干一件事:把图片压缩这件小事做得省心。
怎么选看场景:
- 要离线用、批量处理大量本地图片 —— 选 ImageMinify 桌面版
- 临时压一下、跨设备使用、随手分享 —— 选 SnapImg 在线版
这个小工具如果对你有用,欢迎去 GitHub 点个 Star;有问题或建议,提 Issue 或留言都行。
相关链接:
—— 别看了 · 2026