Satu dekade lalu, mengedit gambar di situs web berarti mengunggahnya, menunggu server melakukan pekerjaan, dan mengunduh hasilnya. Hari ini browser bisa mengompres foto 30 MB, mengonversi PNG ke WebP, atau mengubah ukuran satu batch gambar tanpa pernah menghubungi server. Dua teknologi memungkinkan pergeseran itu: Canvas dan WebAssembly. Tak satu pun misterius begitu Anda melihat apa yang dilakukan masing-masing.
Canvas: permukaan menggambar dengan akses tingkat-piksel

Setiap browser modern hadir dengan Canvas API — sebuah persegi panjang kosong yang bisa Anda gambari dengan JavaScript. Kekuatan sejatinya untuk alat gambar bukanlah menggambar bentuk; melainkan Canvas memberi kode akses langsung ke piksel individual sebuah gambar.
Ketika Anda memuat foto ke kanvas, browser menyerahkan kode Anda sebuah array angka: nilai merah, hijau, biru, dan alpha (transparansi) untuk setiap piksel. Dari sana, operasi biasa menjadi mudah:
- Mengubah ukuran berarti mengambil sampel kisi piksel itu ke yang lebih kecil atau lebih besar.
- Memotong berarti menyalin area persegi panjang ke kanvas baru.
- Memutar dan membalik adalah transformasi geometris yang diterapkan sebelum menggambar.
- Konversi format terjadi ketika Anda mengekspor kanvas — minta JPEG, PNG, atau WebP dan browser mengenkode pikselnya sesuai itu.
Semua ini berjalan di perangkat Anda sendiri, menggunakan CPU Anda dan, di mana tersedia, GPU Anda. Tak ada yang diunggah, karena piksel tak pernah keluar dari halaman. Itulah sebabnya Konverter Gambar bisa mengubah PNG menjadi WebP saat itu juga saat Anda menjatuhkannya — tak ada perjalanan bolak-balik untuk ditunggu.
WebAssembly: kecepatan mendekati-native di dalam browser

Canvas menangani transformasi umum, tetapi beberapa pekerjaan butuh otot komputasi serius — enkoding JPEG berkualitas tinggi, optimasi PNG, menjalankan model AI untuk memotong latar belakang. JavaScript saja bisa terlalu lambat untuk ini. Di situlah WebAssembly (sering disingkat Wasm) masuk.
WebAssembly adalah format tingkat-rendah yang ringkas yang bisa dieksekusi browser mendekati kecepatan native. Pengembang mengambil kode cepat yang teruji yang ditulis dalam bahasa seperti C, C++, atau Rust — pustaka yang sama yang menggerakkan perangkat lunak gambar desktop — dan mengompilasinya ke Wasm. Browser lalu menjalankan kode itu di lingkungan yang ketat dan ber-sandbox, jauh lebih cepat daripada JavaScript yang setara.
Dalam praktik ini berarti sebuah tab browser kini bisa melakukan pekerjaan yang dulu butuh server atau aplikasi desktop: mengenkode gambar dengan kompresi kelas-pro, membersihkan metadata, atau menjalankan jaringan saraf untuk penghapusan latar belakang — semua secara lokal.
Mengapa pemrosesan lokal itu pribadi sekaligus cepat
Satukan Canvas dan WebAssembly dan manfaatnya muncul secara alami.
Privasi bersifat struktural, bukan janji. Karena piksel tetap di halaman dan pemrosesan berjalan di CPU Anda, tak ada langkah unggah. Tak ada salinan server dari file Anda untuk disimpan, dicatat, di-cache, atau dilatih — karena file tak pernah dikirim. Anda tak perlu mempercayai kebijakan privasi; Anda bisa memverifikasinya dengan menyalakan mode pesawat dan menyaksikan alat terus berfungsi.
Kecepatan datang dari memangkas jaringan sepenuhnya. Langkah paling lambat alat server biasanya mengantar-jemput file Anda ke atas dan kembali ke bawah. Singkirkan itu, dan foto 40 MB diproses kira-kira secepat foto 40 KB. Juga tak ada antrean — perangkat Anda mengerjakan gambar Anda sendiri, bukan milik ribuan orang lain.
Ada bonus yang tak diharapkan kebanyakan orang: karena seluruh alat hanyalah kode dan aset, browser bisa menyimpannya cache. IMG.DIY adalah PWA dengan service worker, jadi setelah kunjungan pertama Anda, alat-alat disimpan di perangkat Anda dan terus berfungsi offline — dalam mode pesawat, di pesawat, di mana saja. Mengompres dan mengonversi tak butuh koneksi sama sekali.
Kompromi-nya, secara jujur
Pemrosesan dalam-browser bukan sihir dan tak bebas dari batasan. Batch yang sangat besar bisa membebani memori ponsel kelas rendah, karena pekerjaan memakai sumber daya perangkat Anda alih-alih milik pusat data. Dan beberapa fitur memang butuh jaringan — apa pun yang memanggil layanan eksternal, seperti audit kecepatan halaman, tak bisa berjalan offline. Penghapusan latar belakang adalah kasus tengah: ia berjalan lokal, tetapi hanya setelah unduhan sekali file model.
Namun untuk pekerjaan sehari-hari — kompres, konversi, ubah ukuran, potong, putar — browser kini adalah bengkel gambar yang lengkap, pribadi, dan cepat yang kebetulan tinggal di sebuah tab. Tanpa unggahan, tanpa server, tanpa penungguan.
