Gambar ke Base64 adalah teknik yang mengodekan data biner gambar menjadi string teks ASCII. Base64 menggunakan 64 karakter cetak (A-Z, a-z, 0-9, +, /) untuk merepresentasikan data biner, mengubah setiap 3 byte menjadi 4 karakter Base64, dan menambahkan = sebagai padding di akhir. Seluruh proses mengikuti standar RFC 4648.
**Prinsip encoding**: Base64 membagi setiap 3 byte (24 bit) menjadi empat grup 6-bit, masing-masing dipetakan ke karakter dalam alfabet Base64. Jika jumlah byte tidak habis dibagi 3, 1-2 karakter = padding ditambahkan di akhir. Ini menjelaskan mengapa ukuran file bertambah sekitar 33% (4/3 ≈ 1.33).
**Optimasi Web Worker**: tool ini menggunakan Web Worker untuk menjalankan encoding di thread browser yang terpisah dari thread utama. ArrayBuffer.transfer() memungkinkan transfer data zero-copy ke Worker dan menghindari blocking. Bahkan saat memproses gambar multi-megabyte, UI tetap responsif dan progres tampil real-time.
**Privasi dan keamanan**: berbeda dari tool yang mengharuskan upload gambar ke server, tool ini berjalan sepenuhnya di browser. Data gambar tidak melewati server pihak ketiga, penting saat menangani gambar sensitif seperti identitas atau kontrak.
**Kasus penggunaan**: gambar Base64 sering digunakan untuk CSS Sprites (mengurangi HTTP request), template email HTML (menghindari pemblokiran gambar oleh klien email), transmisi data biner lewat API, serta ekstensi browser atau aplikasi single-file ketika resource eksternal tidak dapat direferensikan.