网站图片批量压缩教程(免费工具+脚本)

网站图片批量压缩教程(免费工具+脚本)

你的网站打开慢,Google PageSpeed Insights给你一个建议:“压缩图片”。你看了看,首页几张图片加起来快10MB。一张相机原图2MB,直接往网页里扔。首屏加载光等图片就好几秒,用户早跑了。

之前聊过CDN、聊过Nginx缓存,今天从源头解决问题——把图片本身变小。

据统计,图片资源通常占据网页总大小的60%以上。一个未压缩的PNG图片可能2-3MB,压缩到200KB,用户几乎看不出区别,但加载时间从2秒降到0.2秒。今天推荐几款免费工具,附一键脚本,让你批量压缩图片。

图片压缩的核心原理:在体积和画质之间找平衡

图片压缩本质是一个取舍:体积要小,画质不能糊。

有损压缩:丢掉一些人眼不敏感的细节。比如JPEG质量从100调到80,体积可能减少70%,但你看不出区别。适合照片类内容

无损压缩:优化存储方式,不损失任何画质。比如PNG用更高效的算法重新编码,体积减小但画质不变。适合图标、截图、需要透明背景的图片

格式升级:把JPEG/PNG转成WebP或AVIF。WebP在同质量下体积比JPEG小25%-34%,AVIF比WebP再小30%。浏览器支持度方面,WebP已达95%以上,可以放心用

免费命令行工具:Linux服务器批量压缩

如果你手头有一堆图片需要压缩,或者想做自动化处理,命令行工具是最快的方式。

工具清单

工具适用格式特点安装命令
jpegoptimJPEG有损/无损,可指定质量上限apt install jpegoptim
optipngPNG无损压缩,多级优化apt install optipng
pngquantPNG有损量化,体积减少70%+apt install pngquant
cwebpPNG/JPEG→WebP格式转换,高压缩率apt install webp

安装所有工具

bash

apt update
apt install -y jpegoptim optipng pngquant webp

单文件压缩示例

JPEG压缩到80%质量

bash

jpegoptim --max=80 image.jpg

PNG无损优化(最高等级)

bash

optipng -o7 image.png

PNG有损量化(256色)

bash

pngquant --quality=65-80 image.png --output image-compressed.png

转WebP格式

bash

cwebp -q 80 image.png -o image.webp

一键批量压缩脚本

把下面的脚本保存为compress_images.sh,放在图片目录下执行。

bash

#!/bin/bash

# 图片批量压缩脚本
# 用法: chmod +x compress_images.sh && ./compress_images.sh

echo "开始批量压缩图片..."

# 压缩所有JPEG(质量75%)
find . -type f \( -name "*.jpg" -o -name "*.jpeg" \) | while read file; do
    echo "压缩: $file"
    jpegoptim --max=75 --strip-all "$file"
done

# 压缩所有PNG(无损优化+有损量化)
find . -type f -name "*.png" | while read file; do
    echo "处理: $file"
    # 先无损优化
    optipng -o7 "$file"
    # 再生成WebP版本
    cwebp -q 75 "$file" -o "${file%.png}.webp"
done

echo "压缩完成!"

保存后执行:

bash

chmod +x compress_images.sh
./compress_images.sh

效果:原图2MB的JPEG压缩到约400KB;原图1MB的PNG压缩到约200KB,同时生成WebP版本。

GUI工具:不用敲命令也能批量压缩

如果你不想碰命令行,这几个图形化工具有免费版,支持拖拽批量处理。

TinyPNG/TinyJPG(在线+API)

最知名的在线压缩服务,压缩率高、画质损失小。网页版单次最多20张,单文件不超过5MB。注册API可获每月500次免费压缩,适合集成到自己的工具链

RIOT(Windows)

轻量级压缩工具,支持拖拽批量处理,可实时对比压缩前后效果

XnConvert(跨平台)

支持超过500种格式转换,可自定义压缩模板批量处理

压缩参数怎么调?三个经验值

场景推荐格式质量参数预期体积
照片/文章配图WebP或JPEG75-85%原图的20%-30%
图标/UI元素PNG-8或WebP无损原图的50%-70%
缩略图WebP65-75%原图的10%-20%

JPEG质量不建议超过85%:85%再往上,体积增加明显但画质提升肉眼几乎看不出

一个真实案例

一个摄影博客,每篇文章配20张图,每张原图约3MB,一篇文章光图片就60MB。用户打开慢不说,每月CDN流量费上千元。

用jpegoptim批量压缩到75%质量,每张图从3MB降到600KB,压缩80%。配合转WebP,降到400KB。一篇文章从60MB降到8MB。用户说“网站变快了”,流量费降了70%。

最后一句

图片压缩不是玄学,是数学。同样的画质,体积可以差好几倍。

今天在你的服务器上跑一遍apt install jpegoptim optipng pngquant webp,再把我给的脚本存下来。以后每次上传图片,先压缩再上线。

你的用户不会知道你做了什么,但他们会发现“这个网站挺快”。这就够了。

知识库

SSH连接慢?这些配置让登录快10倍

2026-5-14 15:33:14

知识库

服务器迁移实战:从旧机器搬家到新机器

2026-5-15 15:47:59

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧