Imagen
Comprime imágenes 60–80% sin subirlas a ningún sitio
Los compresores en línea tipo TinyPNG usan por dentro las mismas bibliotecas de código abierto que puedes correr en tu terminal: pngquant para PNG, jpegoptim para JPG y cwebp para WebP. La diferencia es que en tu máquina no hay límite de archivos, no hay tamaño máximo y tus imágenes no salen de tu computadora.
Instalación
# macOS (Homebrew)
brew install pngquant jpegoptim webp
# Ubuntu / Debian
sudo apt install pngquant jpegoptim webp
En Windows, los tres proyectos publican ejecutables en sus sitios oficiales: pngquant.org, github.com/tjko/jpegoptim y developers.google.com/speed/webp.
PNG: pngquant
pngquant convierte PNG de 24 bits a paleta de 256 colores con difuminado inteligente — típicamente 60–80% menos peso sin diferencia visible:
pngquant --quality 65-80 imagen.png
Genera imagen-fs8.png junto al original. Para comprimir toda la carpeta sobreescribiendo los originales:
pngquant --quality 65-80 --ext .png --force *.png
JPG: jpegoptim
Recomprime a calidad máxima 85 y elimina metadatos — el punto dulce para fotos en web:
jpegoptim -m85 --strip-all *.jpg
Si necesitas garantizar un peso máximo (por ejemplo 200 KB por imagen):
jpegoptim --size=200k *.jpg
WebP: cwebp
WebP pesa ~30% menos que JPG a la misma calidad visual y todos los navegadores actuales lo soportan. Calidad 80 es el estándar para web:
cwebp -q 80 foto.jpg -o foto.webp
Toda la carpeta en un ciclo de shell:
for f in *.jpg; do cwebp -q 80 "$f" -o "${f%.jpg}.webp"; done
¿Cuál usar?
- Fotografías para web: WebP con
cwebp -q 80. Mejor relación peso/calidad que JPG. - Capturas de pantalla, logos, gráficas: PNG con pngquant. Mantiene bordes nítidos y transparencia.
- JPGs existentes que no quieres convertir: jpegoptim. Mismo formato, menos peso.
Antes de comprimir, revisa también las dimensiones: una foto de 4000 píxeles mostrada a 800 desperdicia más peso que cualquier compresión. Redimensiona primero con ImageMagick y comprime después.
Verificar el resultado
du -h imagen_original.png imagen-fs8.png
Compara el antes y el después. Con imágenes típicas de web, la suma de redimensionar + comprimir suele dejar los archivos en una décima parte del peso original.
GIF: gifsicle
Los GIFs animados pesan una barbaridad. gifsicle (brew install gifsicle / sudo apt install gifsicle) los recomprime con pérdida controlada:
gifsicle -O3 --lossy=80 animado.gif -o ligero.gif
Si el GIF viene de un video, casi siempre conviene más regenerarlo con FFmpeg a menos cuadros por segundo.
AVIF: el formato más ligero
AVIF comprime ~50% más que JPG y todos los navegadores actuales lo soportan. ImageMagick lo genera directo:
magick foto.jpg -quality 50 foto.avif
Lo probamos aquí mismo
Corrimos los comandos de esta página sobre una misma imagen de 1280 px. Tamaños reales, sin trucos:
$ du -h foto*
256K foto.png ← PNG original de 24 bits
60K foto-pngquant.png ← pngquant --quality 65-80 (-77%)
44K foto.jpg ← JPG calidad 92
24K foto-jpegoptim.jpg ← jpegoptim -m85 --strip-all (-45%)
8.0K foto.webp ← cwebp -q 80 (-81% vs JPG)
Y esta es la WebP de 8 KB — júzgala tú mismo: