Base64 Encoder / Decoder
Encode teks ke Base64 atau decode Base64 kembali ke teks. Aman untuk UTF-8 dengan dukungan varian base64url.
Masukkan input di atas untuk melihat hasilnya.
Dibuat oleh JXXR1 · ♥ Jadi sponsor · ☕ Belikan saya kopi
Apa yang sebenarnya Base64 lakukan
Base64 mengubah byte arbitrer menjadi 64 karakter ASCII (A–Z, a–z, 0–9 ditambah dua karakter ekstra). Tiga byte input menjadi empat karakter output, jadi hasilnya sekitar 33% lebih besar dari input. Ini adalah encoding, bukan enkripsi — siapa saja bisa decode-nya.
Kapan menggunakan Base64
- Menanamkan data biner kecil di dalam format yang hanya teks: data URI, value JSON, environment variable, string YAML.
- Meng-encode token biner (signature, key, hash) untuk dimasukkan ke URL, header, atau cookie.
- Attachment email dan SMIME — historis tapi masih hidup.
Standard vs base64url
- Standard (RFC 4648 §4) pakai
+,/,=. Aman di email, value JSON, sebagian besar XML. - base64url (RFC 4648 §5) pakai
-,_, dan biasanya menghilangkan trailing padding=. Dipakai di JWT, OAuth token, dan di mana pun value-nya hidup di URL di mana+///=akan butuh escape tambahan.
Kesalahan umum
- Jangan keliru dengan enkripsi. Base64 reversible oleh siapa pun. Kalau datanya sensitif, enkripsi dulu.
- UTF-8 round-trip dengan benar di sini — non-ASCII (é, 你好, 🚀) lewat
TextEncoder/TextDecoder, bukanbtoa/atoblangsung.btoa(str)naif di JavaScript rusak pada karakter non-Latin. - Padding — Base64 standard selalu berakhir dengan 0/1/2 karakter
=tergantung panjang input. base64url sering menghilangkannya. Decoder yang butuh padding akan menolak input tanpa padding; tool ini menambahkannya kembali saat decode kalau hilang. - Whitespace di dalam string yang sudah di-encode — decoder di sini menghapus spasi dan line break (umum dari copy-paste), tapi beberapa library tidak, jadi encode ulang kalau kamu menyalurkan ke library seperti itu.