Dekode Base64

Tempel string Base64 dan dapatkan kembali teks atau byte aslinya. Jeda baris, karakter aman untuk URL, padding yang hilang, dan awalan data: ditangani secara otomatis, dan pesan error menunjukkan karakter yang bermasalah secara tepat.

Berjalan sepenuhnya di browser Anda. Tidak ada yang diunggah.

Cara menggunakan

  1. Tempel string Base64 ke kolom masukan, atau klik Buka file untuk memuat file yang berisi teks Base64.
  2. Biarkan Keluaran sebagai pada Teks dan pilih set karakternya di Pengodean teks (default UTF-8), atau ganti ke Hex untuk data biner.
  3. Jika dekode gagal, baca pesan error-nya: pesan tersebut menunjukkan posisi karakter tidak valid yang pertama.
  4. Salin hasil dekode atau unduh.

Masukan yang diterima decoder

Dekode membalikkan proses enkode: setiap karakter dipetakan kembali ke nilai 6 bitnya, dan setiap empat karakter menjadi tiga byte. Base64 yang ditemukan di dunia nyata jarang bersih, jadi decoder ini cukup toleran:

  • Spasi dan jeda baris diabaikan, sehingga isi MIME dan blok PEM yang terbungkus dapat ditempel apa adanya. Namun, hapus dulu baris -----BEGIN dan -----END: huruf dan tanda hubungnya adalah karakter Base64 yang valid dan akan ikut didekode sebagai data.
  • Masukan aman untuk URL dengan - dan _ didekode sama seperti Base64 standar dengan + dan /.
  • Padding yang hilang tidak menjadi masalah. Hanya panjang 4n + 1 karakter yang ditolak, karena satu karakter sisa tidak dapat membentuk satu byte; biasanya ini berarti string tersebut terpotong.
  • Data URI juga didukung: awalan data:...;base64, di bagian depan dihapus sebelum didekode.

Keluaran teks atau biner

Hasil dekode selalu berupa urutan byte. Jika data aslinya teks, biarkan keluaran sebagai teks dan pilih set karakternya. Jika data aslinya berupa gambar, PDF, arsip, kunci, atau ciphertext, tidak ada set karakter yang dapat membuatnya terbaca: ubah keluaran ke hex untuk memeriksa byte-nya, atau buka Base64 ke File atau Base64 ke Gambar untuk melihat pratinjau dan menyimpannya. Beberapa karakter pertama sering kali sudah mengungkap isinya:

Base64 diawali denganIsi hasil dekode
iVBORw0KGgoGambar PNG
/9j/Gambar JPEG
R0lGODGambar GIF
JVBERi0Dokumen PDF
UEsDBArsip ZIP, termasuk DOCX, XLSX, dan JAR
H4sIData terkompresi gzip
eyJObjek JSON, misalnya header JWT

Mengapa teks hasil dekode terlihat kacau

  • Set karakter salah. Teks UTF-8 yang dibaca sebagai Windows-1252 mengubah é menjadi é, dan teks GBK atau Shift_JIS yang dibaca sebagai UTF-8 menampilkan karakter pengganti (�). Di Pengodean teks, pilih set karakter yang dipakai saat teks tersebut ditulis.
  • Data biner. Simbol acak dengan sesekali potongan yang dapat dibaca, seperti PNG atau PK di dekat awal, berarti isinya adalah file, bukan teks.
  • Data terkompresi atau terenkripsi. Stream gzip, Protocol Buffers, dan ciphertext didekode dengan benar, tetapi hasilnya bukan teks. Keluaran hex menunjukkan isi yang sebenarnya.
  • Enkode ganda. Jika keluarannya sendiri berupa Base64, tempel kembali ke masukan dan dekode untuk kedua kalinya.

Mendekode Base64 dalam kode

# Python
base64.b64decode(s).decode('utf-8')

// Node.js (juga menerima masukan aman untuk URL)
Buffer.from(s, 'base64').toString('utf8')

// Browser: atob() mengembalikan satu karakter per byte, jadi dekode UTF-8 setelahnya
new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0)))

# Shell Linux dan macOS
echo 'SGVsbG8=' | base64 --decode

Spesifikasi

AlfabetA-Z a-z 0-9 + /
Ukuran keluaran4 karakter per 3 byte (sekitar 133%)
PaddingDiisi = hingga kelipatan 4 karakter
StandarRFC 4648 bagian 4
Peka huruf besar-kecilYa

Contoh

Masukan (UTF-8)Keluaran
Hello, World!SGVsbG8sIFdvcmxkIQ==
Base64.isQmFzZTY0Lmlz
你好5L2g5aW9

Pertanyaan yang sering diajukan

Mengapa muncul error karakter tidak valid?
Masukan berisi sesuatu di luar alfabet Base64, seperti tanda kutip, garis miring terbalik, atau escape persen seperti %2B dan %3D yang ikut tersalin dari URL. Hapus tanda kutipnya atau lakukan dekode URL pada string tersebut terlebih dahulu. Pesan error menunjukkan posisi karakter bermasalah yang pertama.
Bisakah saya mendekode Base64 tanpa padding?
Bisa. Decoder ini tidak memerlukan tanda = di bagian akhir, sehingga string tanpa padding dari JWT, URL, dan API dapat didekode seperti biasa.
Mengapa keluarannya salah setelah menyalin Base64 dari URL?
Jika Base64 dimasukkan ke query string tanpa di-escape, proses dekode formulir sering mengubah setiap + menjadi spasi. Spasi diabaikan di sini, sehingga karakter tersebut hilang. Ganti spasi dengan + sebelum mendekode, dan gunakan Base64URL untuk nilai yang dikirim melalui URL.
Bagaimana cara mendekode Base64 menjadi gambar atau file?
Gunakan Base64 ke Gambar untuk melihat pratinjau dan mengunduh gambar, atau Base64 ke File untuk PDF, arsip, audio, dan file lainnya. Keduanya mendeteksi tipe file dari byte pertamanya.
Apakah Base64 saya dikirim ke server?

Tidak. Dekode berjalan di browser Anda dengan JavaScript dan masukan tidak pernah meninggalkan perangkat Anda. Hal ini penting saat Anda mendekode token, rahasia konfigurasi, atau data pribadi.