Base64 Encoder & Decoder
Konversi teks dan file ke Base64 dan sebaliknya. Menangani Unicode dengan benar, mendukung base64url yang aman untuk URL, dan menjelaskan dengan tepat mengapa input yang tidak valid gagal.
Berjalan di browser AndaTanpa daftarTidak ada yang diunggah
Cara menggunakan Base64 Encode / Decode
- Pilih Enkode atau Dekode.
- Ketik atau tempel input Anda. Hasilnya diperbarui saat Anda mengetik.
- Untuk URL, JWT, dan nama file, centang Aman untuk URL agar memakai
-dan_, dan bila perlu hilangkan padding=. - Untuk menyematkan gambar atau font, klik Enkode file dan biarkan Output sebagai data URI tercentang.
- Salin hasilnya, atau gunakan Tukar untuk memprosesnya kembali ke arah sebaliknya.
Cara kerja Base64
Base64 merepresentasikan data biner dengan 64 karakter ASCII yang dapat dicetak: A-Z, a-z, 0-9, + dan /. Setiap 3 byte input menjadi 4 karakter, sehingga data terenkode sekitar 33% lebih besar. Jika panjang input bukan kelipatan 3, satu atau dua tanda = ditambahkan sebagai padding. Base64 adalah encoding, bukan enkripsi: siapa pun dapat mendekodenya.
Base64 standar vs. base64url
Karakter + dan / memiliki arti khusus di URL dan path file. Alfabet aman-URL dari RFC 4648 §5 menggantinya dengan - dan _ dan biasanya menghilangkan padding. JWT, banyak parameter OAuth, dan sebagian API cloud memakai base64url. Decoder di sini menerima kedua alfabet secara otomatis.
Unicode dan jebakan btoa()
Di browser, btoa("café") berfungsi tetapi btoa("日本") melempar error, karena btoa hanya menerima Latin-1. Cara yang benar adalah mengenkode teks menjadi byte UTF-8 terlebih dahulu, seperti yang dilakukan tool ini. Di JavaScript: btoa(String.fromCharCode(...new TextEncoder().encode(text))), atau Buffer.from(text).toString('base64') di Node.js.
Penggunaan umum
- Data URI untuk gambar dan font kecil di CSS atau HTML
- Header autentikasi HTTP Basic (
user:passwordyang dienkode) - Lampiran biner di payload JSON dan email (MIME)
- Kubernetes Secrets, yang menyimpan nilai sebagai Base64