Lewati ke konten utama

Cara Konversi JPG dan PNG ke WebP

Panduan mengonversi gambar JPG dan PNG ke format WebP dengan perintah cwebp, mulai dari satu file, banyak file sekaligus, sampai cara mengukur penghematan ukurannya.

WebP adalah format gambar dari Google yang bisa memangkas ukuran file secara signifikan dibanding JPG atau PNG, tanpa penurunan kualitas yang terlihat. Ini penting terutama untuk gambar yang dipakai di web, makin cepat halaman dimuat. Panduan ini memakai cwebp, alat command-line resmi dari proyek libwebp, untuk mengonversi gambar satu per satu maupun sekaligus dalam jumlah banyak.

Prasyarat

cwebp biasanya belum terpasang secara default. Instal lewat package manager sesuai distribusi:

sudo apt install webp          # Debian/Ubuntu
sudo dnf install libwebp-tools # Fedora
sudo pacman -S libwebp         # Arch Linux

Verifikasi instalasi:

cwebp -version

Mengonversi Satu File

Perintah dasarnya sama untuk PNG maupun JPG, hanya file input yang berbeda:

cwebp infile.png -o outfile.webp # Mengonversi gambar PNG menjadi WebP
cwebp infile.jpg -o outfile.webp # Mengonversi gambar JPG menjadi WebP

Untuk mengatur seberapa agresif kompresinya, tambahkan flag -q:

cwebp -q 80 infile.jpg -o outfile.webp
FlagFungsi
-oTentukan nama dan path file output
-q <0-100>Atur kualitas kompresi (default 75; makin kecil, makin kecil ukurannya tapi makin turun kualitasnya)
-losslessKompresi tanpa kehilangan kualitas sama sekali, ukuran file lebih besar dibanding mode -q

Mengonversi Beberapa File

Untuk folder berisi banyak file PNG (termasuk di dalam subfolder), kombinasikan find, grep, sed, dan xargs:

find . * | grep -E "(png)" | sed 'p;s/\.png/\.webp/' | xargs -n2 bash -c 'cwebp $0 -o $1'

Cara kerjanya:

  1. find . * menemukan semua file di folder saat ini beserta turunannya.
  2. grep -E "(png)" menyaring hasilnya hanya untuk yang berekstensi .png.
  3. sed 'p;s/\.png/\.webp/' menduplikasi setiap baris nama file, lalu mengubah salinan keduanya menjadi ekstensi .webp. Hasilnya sepasang baris: nama asli dan nama tujuan.
  4. xargs -n2 bash -c 'cwebp $0 -o $1' membaca dua baris sekaligus (nama asli sebagai $0, nama tujuan sebagai $1) lalu menjalankan cwebp untuk tiap pasangan.

Untuk file JPG, ganti pola png di perintah grep dan sed dengan jpg.

Mengukur Penghematan Ukuran

Setelah konversi, bandingkan ukuran file asli dan hasilnya dengan du -h:

du -h *.jpg *.webp

Contoh hasil dari dua foto yang saya konversi sendiri:

4,1M  aw1.jpg
524K  aw1.webp
3,1M  aw2.jpg
254K  aw2.webp

Dari angka di atas, aw1.webp turun sekitar 87% dari ukuran aslinya, dan aw2.webp turun sekitar 92%. Selisih sebesar ini konsisten saya temui untuk foto-foto biasa (bukan hasil scan atau gambar dengan banyak detail halus) - jadi WebP layak jadi pilihan default kalau prioritasnya kecepatan muat halaman.