Mengompres gambar tanpa menurunkan kualitas adalah langkah penting untuk mempercepat loading website dan menghemat ruang penyimpanan. Untungnya, di Ubuntu kamu bisa melakukan ini langsung lewat command line dengan hasil optimal.

Berikut panduan lengkapnya 👇

1. Instalasi Tool yang Diperlukan

Jalankan perintah berikut di terminal untuk menginstal semua tool yang dibutuhkan:

bash
sudo apt update
sudo apt install imagemagick jpegoptim optipng pngquant webp -y

Tool di atas mendukung berbagai format gambar:

  • ImageMagick → untuk semua format (universal)
  • jpegoptim → untuk JPG/JPEG
  • optipng → untuk PNG lossless
  • pngquant → untuk PNG (lebih kecil, sedikit lossy)
  • webp → format modern, ringan, dan efisien

2. Kompresi Lossless Berdasarkan Format

Kompres JPEG (dengan jpegoptim)

bash
jpegoptim --strip-all --preserve *.jpg

Penjelasan:

  • --strip-all menghapus metadata (EXIF, thumbnail)
  • --preserve menjaga timestamp asli
  • Kompresi dilakukan tanpa menurunkan kualitas visual

Untuk hasil lebih kecil (sedikit lossy):

bash
jpegoptim --max=90 --strip-all *.jpg

Kompres PNG (dengan optipng)

bash
optipng -o7 *.png

Penjelasan:

  • -o7 = level kompresi tertinggi (lossless)
  • Tidak mengubah kualitas gambar sama sekali

Alternatif (lebih kecil tapi sedikit lossy):

bash
pngquant --quality=85-95 --ext .png --force *.png

Konversi ke WebP (format modern)

WebP menawarkan ukuran file jauh lebih kecil tanpa kehilangan kualitas visual.

bash
cwebp -q 90 input.jpg -o output.webp

Penjelasan:

  • -q 90: kualitas tinggi, hampir lossless
  • Cocok untuk JPG, PNG, dan format umum lainnya

Kompres seluruh folder:

bash
for i in *.jpg; do cwebp -q 90 "$i" -o "${i%.*}.webp"; done

Gunakan ImageMagick (universal)

Jika kamu ingin satu tool untuk semua format:

bash
magick input.jpg -strip -interlace Plane -quality 90 output.jpg

Penjelasan:

  • -strip: hapus metadata
  • -interlace Plane: buat gambar progressive (lebih cepat muncul di web)
  • -quality 90: jaga kualitas tetap tinggi

3. Kompres Semua Gambar Sekaligus

Ingin kompres seluruh folder secara otomatis?

bash
find . -type f \( -iname '*.jpg' -o -iname '*.jpeg' \) -exec jpegoptim --strip-all --preserve {} \;
find . -type f -iname '*.png' -exec optipng -o7 {} \;

4. Bonus: Ubah Semua Gambar Jadi WebP

Jika ingin hasil paling efisien untuk website modern:

bash
for img in *.{jpg,jpeg,png}; do
    [ -f "$img" ] && cwebp -q 90 "$img" -o "${img%.*}.webp"
done

Kesimpulan

Mengompres gambar lewat terminal di Ubuntu sangat mudah dan fleksibel. Dengan tool seperti jpegoptim, optipng, pngquant, dan ImageMagick, kamu bisa menjaga kualitas gambar tetap tajam sambil menurunkan ukuran file secara signifikan.

Rekomendasi cepat:

  • Untuk JPEG: jpegoptim --strip-all --preserve
  • Untuk PNG: optipng -o7
  • Untuk semua format: gunakan ImageMagick
  • Untuk web modern: ubah ke WebP

🔗 Dengan optimasi gambar yang tepat, website kamu akan lebih cepat, efisien, dan SEO-friendly tanpa kehilangan kualitas visual.