| name | image-compress |
| description | Compress images to reduce file size while preserving quality. Use when images are slowing down builds, uploads, or page loads. |
Image Compression
Compress images to reduce file size with minimal quality loss.
Supported Formats
- PNG, JPEG, GIF, WebP, AVIF
Tools
Command Line
npx sharp-cli input.png --resize 800 output.png
magick input.jpg -quality 85 -resize 1200 output.jpg
cwebp -q 80 input.png -o output.webp
avifenc input.png -o output.avif
Python
python3 -c "from PIL import Image; i=Image.open('input.png'); i.save('output.jpg', quality=85, optimize=True)"
Common Patterns
Compress Single Image
magick input.png -resize 1200x1200/> -quality 85 output.jpg
Batch Compress
for f in *.png; do magick "$f" -quality 85 -resize 1200x1200\> "${f%.png}-compressed.jpg"; done
Convert to WebP
cwebp -q 80 -resize 1200 0 input.png -o output.webp
Quality Guidelines
| Use Case | Quality | Format |
|---|
| High quality (screenshots) | 90% | PNG/WebP |
| Photos | 85% | JPEG/WebP |
| Thumbnails | 70% | WebP/AVIF |
| Icons/Logos | Lossless | PNG/WebP |
Batch Processing
Find Large Images
find . -type f \( -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" \) -size +100k -exec ls -lh {} \;
Target Sizes
- Icons: < 10KB
- Thumbnails: < 50KB
- Full images: < 500KB
- Screenshots: < 1MB
Notes/Inspiration
Inspired by opencode-image-compress - Image compression for OpenCode.