← Semua alat

Encode & Decode Base64

Encode dan decode Base64 secara instan di browser. Pelajari apa itu Base64, mengapa ukurannya bertambah 33%, dan mengapa ini encoding bukan enkripsi.

Apa Itu Base64 dan Mengapa Ada

Base64 adalah skema encoding biner-ke-teks. Ia mengambil byte mentah — jenis data yang membentuk gambar, arsip, kunci kriptografi, atau apa pun yang bukan teks biasa yang dapat dibaca — dan menulis ulang semuanya menggunakan alfabet kecil yang aman terdiri dari 64 karakter yang dapat dicetak: 26 huruf kapital A-Z, 26 huruf kecil a-z, sepuluh digit 0-9, dan dua simbol tambahan, biasanya + dan /. Tanda sama dengan digunakan untuk padding di bagian akhir. Karena setiap karakter yang dihasilkan adalah ASCII biasa, hasilnya dapat melewati sistem yang hanya dirancang untuk menangani teks.

Itulah alasan keberadaan Base64. Banyak protokol lama — email adalah contoh klasiknya — mengasumsikan konten yang mereka bawa adalah teks. Jika Anda memberikan byte biner mentah, beberapa byte akan rusak, dihapus, atau diinterpretasikan sebagai karakter kontrol, dan data tiba dalam keadaan korup. Base64 menghindari masalah ini dengan mengonversi byte ke dalam bentuk yang akan dilewatkan dengan utuh oleh saluran yang aman untuk teks. Data asli kemudian dapat direkonstruksi dengan tepat di sisi lainnya.

Aliran data biner yang bercahaya berubah menjadi aliran karakter teks pada latar belakang indigo gelap dengan cahaya cyan dan emas
Base64 mengubah byte mentah menjadi aliran karakter yang aman dan ramah teks.

Cara Kerja Konversi

Secara mekanis, Base64 mengelompokkan input menjadi potongan tiga byte — yaitu 24 bit — lalu memotong ulang 24 bit yang sama menjadi empat kelompok masing-masing enam bit. Enam bit dapat merepresentasikan 64 nilai yang memungkinkan, itulah tepatnya mengapa alfabet memiliki 64 karakter. Jadi tiga byte input selalu menjadi empat karakter output. Ketika panjang input bukan kelipatan bersih dari tiga, encoder mengisi grup terakhir dengan satu atau dua karakter = sehingga decoder tahu di mana data nyata berakhir.

Rasio empat-untuk-tiga ini juga merupakan asal dari penalti ukuran yang terkenal: output Base64 sekitar 33% lebih besar dari data aslinya. Jika teks yang dienkode dibungkus ke dalam baris dengan lebar tetap, seperti yang sering disyaratkan oleh standar email, Anda membayar beberapa persen tambahan di atas itu untuk baris baru. Overhead tersebut adalah harga kompatibilitas, dan untuk sebagian besar penggunaan, ini adalah pertukaran yang adil.

Di Mana Anda Menjumpai Base64

Begitu Anda tahu apa yang dicari, Base64 muncul di mana-mana dalam komputasi sehari-hari:

  • Data URI. Gambar kecil atau font dapat disematkan langsung ke HTML atau CSS dengan URI data:, dengan isi file ditulis sebagai Base64. Browser mendekodenya secara inline, menghemat permintaan jaringan terpisah.
  • Lampiran email. MIME, standar yang memungkinkan email membawa file, mengandalkan Base64 untuk memindahkan lampiran biner melalui sistem email yang hanya teks tanpa kerusakan.
  • HTTP Basic authentication. Header Authorization: Basic ... yang familiar hanyalah nama pengguna dan kata sandi yang digabungkan dengan titik dua dan dienkode dengan Base64 — itulah tepatnya mengapa Basic auth harus selalu berjalan melalui HTTPS.
  • Token dan konfigurasi. JSON Web Token, sertifikat, kunci SSH, dan berbagai nilai konfigurasi disimpan atau dikirimkan sebagai Base64 agar dapat bertahan melalui copy-paste dan penyimpanan berbasis teks.

Encoding Bukan Enkripsi

Ini adalah hal terpenting yang perlu dipahami, dan hal ini menjebak pemula maupun pengembang berpengalaman. Base64 bukan enkripsi dan tidak memberikan keamanan sama sekali. Tidak ada kunci rahasia, tidak ada kata sandi, dan tidak ada yang bersifat privat di dalamnya. Transformasinya sepenuhnya publik dan dapat dibalikkan sepenuhnya: siapa pun yang melihat string Base64 dapat mendekodenya kembali ke byte asli dalam sedetik, menggunakan alat seperti ini.

Jadi Base64 adalah tempat persembunyian yang buruk untuk kata sandi, kunci API, atau nilai sensitif apa pun. Jika sebuah string tampak acak, bukan berarti ia terlindungi. Enkripsi, sebaliknya, mengubah data dengan kunci rahasia sehingga hanya seseorang yang memegang kunci tersebut yang dapat membacanya. Keduanya memecahkan masalah yang berbeda: enkripsi melindungi kerahasiaan, Base64 melindungi kompatibilitas. Keduanya sering digunakan bersama — Anda mungkin mengenkripsi data dengan AES lalu mengenkode ciphertext dengan Base64 agar dapat melewati saluran teks — tetapi yang satu tidak pernah menggantikan yang lain.

Gambar abstrak yang larut menjadi aliran karakter bercahaya dan berkumpul kembali, indigo navy dengan cyan dan emas
Encoding dan decoding dapat dibalikkan secara sempurna — dan tidak memberikan kerahasiaan.

Enkode vs Dekode

Dua arah tersebut adalah cerminan sederhana satu sama lain. Encoding mengambil teks atau biner asli Anda dan menghasilkan string karakter Base64. Decoding mengambil string Base64 dan merekonstruksi byte asli yang tepat. Alat kami melakukan keduanya langsung di browser Anda — tidak ada yang Anda ketik atau tempelkan yang pernah dikirim ke server, sehingga operasinya sepenuhnya lokal dan privat. Ini membuatnya aman untuk mendekode token yang sedang Anda debug atau mengenkode cuplikan yang ingin Anda sematkan, tanpa data Anda meninggalkan halaman.

Untuk konversi yang terkait, lihat alat encode/decode URL kami untuk percent-encoding, atau dekoder JWT ketika Anda perlu memeriksa segmen Base64 di dalam token. Anda akan menemukan ini bersama dengan alat developer kami yang lain.

Pertanyaan yang sering diajukan

Apakah Base64 adalah bentuk enkripsi?

Tidak. Base64 adalah encoding, bukan enkripsi. Tidak menggunakan kunci dan dapat dibalikkan sepenuhnya oleh siapa saja, sehingga tidak memberikan keamanan. Gunakan enkripsi nyata seperti AES atau RSA untuk melindungi data sensitif.

Mengapa Base64 membuat data lebih besar?

Base64 mengubah setiap tiga byte input menjadi empat karakter output, yang menambah sekitar 33% ke ukurannya. Jika output dibagi menjadi baris dengan panjang tetap, baris baru menambahkan beberapa persen lagi.

Karakter apa yang digunakan Base64?

Alfabet standar adalah 26 huruf kapital, 26 huruf kecil, digit 0 sampai 9, ditambah simbol plus dan garis miring, dengan tanda sama dengan yang digunakan untuk padding di akhir.

Bisakah saya menyimpan kata sandi dalam Base64 dengan aman?

Tidak. Base64 hanya mengubah tampilan data, bukan siapa yang dapat membacanya. Siapa pun dapat mendekodenya secara instan. Kata sandi harus di-hash dengan algoritma yang kuat, dan rahasia harus dienkripsi.

Apakah alat Base64 ini privat?

Ya. Encoding dan decoding terjadi sepenuhnya di browser Anda. Tidak ada yang Anda masukkan yang diunggah atau dikirim ke server apa pun, sehingga data Anda tetap di perangkat Anda sendiri.

Apa perbedaan antara encoding dan decoding?

Encoding mengonversi teks atau biner asli menjadi string Base64. Decoding membalikkan itu, mengubah string Base64 kembali menjadi byte asli yang tepat. Keduanya adalah operasi cermin.