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

Output Base64

Cara menggunakan Base64 Encode / Decode

  1. Pilih Enkode atau Dekode.
  2. Ketik atau tempel input Anda. Hasilnya diperbarui saat Anda mengetik.
  3. Untuk URL, JWT, dan nama file, centang Aman untuk URL agar memakai - dan _, dan bila perlu hilangkan padding =.
  4. Untuk menyematkan gambar atau font, klik Enkode file dan biarkan Output sebagai data URI tercentang.
  5. 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:password yang dienkode)
  • Lampiran biner di payload JSON dan email (MIME)
  • Kubernetes Secrets, yang menyimpan nilai sebagai Base64

Pertanyaan yang sering diajukan

Apakah Base64 itu enkripsi?
Bukan. Base64 adalah encoding yang dapat dibalik tanpa kunci. Siapa pun bisa mendekodenya, jadi jangan pernah memakainya untuk menyembunyikan kata sandi atau rahasia.
Mengapa Base64 saya gagal didekode?
Penyebab umum adalah karakter di luar alfabet (sering berupa tanda kutip atau baris baru yang ikut tersalin), string yang terpotong, atau tercampur teks yang bukan Base64. Pesan error menunjukkan posisi masalah pertama.
Output hasil dekode terlihat seperti karakter acak. Mengapa?
Data tersebut kemungkinan biner, misalnya gambar, file terkompresi, atau byte terenkripsi, bukan teks. Tool ini mendeteksinya, menampilkan hex dump, dan memungkinkan Anda mengunduh byte mentahnya.
Apakah saya perlu padding =?
Banyak decoder, termasuk yang ini, tetap berfungsi tanpanya karena panjang string sudah menunjukkan berapa byte yang kurang. Beberapa decoder yang ketat mewajibkannya. JWT dan sebagian besar penggunaan base64url menghilangkan padding.
Apakah file saya diunggah?
Tidak. File dibaca dan dienkode secara lokal dengan File API browser. Tidak ada yang dikirim ke server.

Tools terkait