Cara menggunakan
- Tempel string Base64 atau URI data:image/webp;base64. Format gambar lain juga bisa.
- Periksa pratinjau, format yang terdeteksi, dan ukuran hasil dekode.
- Biarkan Unduh sebagai pada WebP untuk mengonversi, atau pilih File asli untuk menyimpan byte persis seperti hasil dekode.
- Unduh file .webp dan bandingkan ukurannya dengan file sumber.
Mengenali data WebP
WebP disimpan dalam kontainer RIFF, pembungkus yang sama dengan yang dipakai audio WAV. File diawali dengan teks ASCII RIFF, sehingga Base64-nya dimulai dengan UklGR; beberapa byte kemudian, penanda WEBP memastikan bahwa kontainer tersebut berisi gambar, bukan suara. Di dalamnya, gambar bisa berupa lossy (VP8), lossless (VP8L), atau file extended (VP8X) yang menambahkan transparansi, animasi, atau metadata. Tipe MIME-nya image/webp.
Mengapa mengonversi ke WebP
Menurut pengukuran Google, file WebP lossy kira-kira 25 hingga 34 persen lebih kecil daripada JPEG dengan kualitas sebanding, dan WebP lossless sekitar 26 persen lebih kecil daripada PNG. Tidak seperti JPEG, WebP mempertahankan kanal alfa, sehingga logo dan stiker transparan terkonversi dengan rapi. Semua browser utama saat ini dapat menampilkan WebP.
File yang lebih kecil memberi manfaat ganda ketika gambar disematkan inline: gambar yang lebih ringan juga berarti string Base64 yang lebih pendek di HTML, CSS, atau JSON Anda. Setelah mengonversi, Anda dapat mengenkode file baru tersebut lagi dengan WebP ke Base64.
Hasilnya tidak selalu lebih kecil. Ikon mungil, foto yang sudah terkompresi dengan baik, dan grafik datar dengan sedikit warna terkadang justru menjadi lebih besar; dalam kasus itu, PNG atau JPG adalah pilihan yang lebih baik. Konversi di sini juga merupakan cara cepat untuk menguji seberapa besar penghematan pada gambar tertentu sebelum Anda mengubah pipeline build: tempel PNG atau JPEG Base64, unduh WebP-nya, lalu bandingkan kedua ukurannya.
Mengonversi dengan Pillow
Untuk pekerjaan batch di server, konversi yang sama hanya memerlukan beberapa baris Python dengan pustaka Pillow:
import base64, io
from PIL import Image
img = Image.open(io.BytesIO(base64.b64decode(b64_string)))
img.save('output.webp', 'WEBP', quality=80)
Pertanyaan yang sering diajukan
Apakah WebP mempertahankan transparansi?
Ya. WebP mendukung kanal alfa penuh dalam mode lossy maupun lossless, sehingga area transparan tetap transparan setelah konversi.
Bisakah saya mempertahankan WebP animasi?
Unduh sebagai File asli untuk mempertahankan setiap frame. Konversi melewati kanvas, yang hanya menangkap satu frame diam.
Apakah keluaran WebP selalu lebih kecil daripada masukannya?
Tidak. Foto dan tangkapan layar berukuran besar biasanya menyusut, tetapi gambar kecil atau yang sudah sangat dioptimalkan bisa membesar. Bandingkan ukuran hasil dekode yang ditampilkan alat ini dengan ukuran file yang diunduh.
Sebagian perangkat lunak tidak bisa membuka file WebP saya. Apa yang bisa saya lakukan?
Penampil gambar dan program perkantoran versi lama mungkin tidak mendukung WebP. Tempel Base64 yang sama, lalu unduh sebagai PNG atau JPG.