Dekoding Base64 adalah proses kebalikan dari enkoding Base64: mengkonversi string ASCII yang dikodekan dengan Base64 kembali ke data biner atau teks asli. Setiap 4 karakter Base64 didekode menjadi 3 byte data asli. Dekoder mencari setiap karakter dalam alfabet Base64, merekonstruksi grup 6-bit asli, dan merakit ulang menjadi byte 8-bit.
Data yang dikodekan dengan Base64 dapat dikenali dari penggunaan huruf besar dan kecil, angka, serta +/ (standar) atau -_ (aman untuk URL), sering kali diakhiri dengan satu atau dua karakter padding =. Data ini sering muncul dalam token JWT, lampiran email, data URI, respons API, dan file konfigurasi โ di mana pun data biner atau terstruktur harus disematkan dalam konteks yang hanya terdiri dari teks.
Mengapa Menggunakan Alat Ini?
Dekoder ini menangani Base64 standar dan URL-safe, secara otomatis memperbaiki padding yang hilang, dan mendekode sepenuhnya di browser Anda tanpa data yang dikirim ke server.
โก
Perbaikan Padding Otomatis
Banyak sumber menghasilkan Base64 tanpa karakter = di akhir. Alat ini secara otomatis menghitung dan menambahkan padding yang hilang sebelum dekoding, mencegah pengecualian InvalidCharacterError.
๐ก๏ธ
Kedua Varian Didukung
Secara otomatis mendeteksi dan menangani Base64 standar (+/) dan URL-safe Base64 (-_), sehingga Anda dapat menempel token dari sumber mana pun tanpa konversi manual.
๐
Sepenuhnya Sisi Klien
Dekoding terjadi secara lokal di browser Anda menggunakan API atob asli. Data Anda โ yang mungkin berisi rahasia atau konten sensitif โ tidak pernah meninggalkan perangkat Anda.
๐
Keluaran Unicode
Mendekode teks yang dikodekan UTF-8 kembali ke Unicode lengkap dengan benar, termasuk karakter multi-byte, emoji, dan skrip CJK.
Cara menggunakan dekoder Base64 online ini
Tanpa akun, tanpa unggahan, tanpa instalasi. Tempel string Base64 Anda di kolom input dan hasil yang didekode muncul seketika. Semuanya berjalan di browser Anda โ data Anda tidak pernah meninggalkan perangkat Anda.
1
Tempel String Base64 Anda
Salin string berenkode Base64 apa pun dari sumber Anda โ JWT, respons API, header lampiran email, atau file konfigurasi โ dan tempelkan ke kolom input. Varian standar dan URL-safe dideteksi secara otomatis.
2
Deteksi Otomatis dan Perbaikan
Dekoder mengidentifikasi apakah input Anda menggunakan Base64 standar (+/) atau URL-safe Base64 (-_) dan secara otomatis memperbaiki padding = yang hilang. Tidak perlu menormalisasi string secara manual sebelum mendekode.
3
Periksa Hasilnya
Teks yang didekode muncul di kolom output. Jika data aslinya adalah teks UTF-8, teks tersebut ditampilkan sebagai karakter yang dapat dibaca. Data biner ditampilkan apa adanya. Pesan kesalahan muncul jika input mengandung karakter tidak valid yang tidak dapat didekode.
4
Salin atau Gunakan Hasilnya
Klik Salin untuk mengambil output yang didekode, atau gunakan langsung dalam alur kerja Anda. Perlu mengenkode ulang hasilnya? Beralih ke alat Base64 Encoder dengan satu klik.
Cara Kerja Dekoding
Setiap karakter Base64 dipetakan ke nilai 6-bit (0โ63). Empat karakter berurutan memberikan 24 bit, yang didekode menjadi 3 byte data asli. Contoh di bawah ini menunjukkan bagaimana "TWFu" didekode kembali menjadi "Man":
Contoh "Man" โ TWFu โ "Man"
Kar.
Indeks
6 bit
T
19
010011
W
22
010110
F
5
000101
u
46
101110
Empat grup 6-bit (010011 010110 000101 101110) digabungkan menjadi 24 bit, kemudian dibagi menjadi tiga byte 8-bit: 01001101 (M=77), 01100001 (a=97), 01101110 (n=110).
Memahami Padding
Enkoding Base64 mengelompokkan byte masukan dalam set 3. Ketika panjang masukan tidak habis dibagi 3, karakter padding (=) ditambahkan untuk melengkapi grup terakhir. Saat mendekode, karakter = ini dihapus dan dekoder tahu untuk membuang bit nol ekstra yang ditambahkan selama enkoding.
Asli
Dikodekan
Aturan padding
A
QQ==
1 byte โ 2 padding chars
AB
QUI=
2 bytes โ 1 padding char
ABC
QUJD
3 bytes โ no padding needed
Kasus Penggunaan Umum
Memeriksa Payload JWT
Token JWT terdiri dari tiga segmen yang dikodekan dengan URL-safe Base64. Mendekode segmen kedua (payload) mengungkapkan klaim: ID pengguna, peran, waktu kedaluwarsa, dan metadata lainnya โ tanpa memerlukan kunci tanda tangan.
Membaca Respons API
API REST sering mengembalikan data biner (konten file, thumbnail, materi kriptografi) yang dikodekan Base64 dalam respons JSON. Dekode bidang tersebut untuk membaca data asli.
Mendekode Konten Email
Badan dan lampiran email MIME dikodekan dengan Base64. Mendekodenya mengungkapkan konten teks asli atau memungkinkan Anda merekonstruksi lampiran biner.
Mengekstrak Rahasia Kubernetes
Kubernetes menyimpan nilai rahasia sebagai Base64 dalam manifes YAML. Mendekodenya mengungkapkan kata sandi, token, dan kunci aktual yang disimpan dalam kluster โ berguna untuk debugging dan auditing.
Debug Konfigurasi
Variabel lingkungan dan rahasia pipeline CI/CD sering dikodekan Base64 untuk penyimpanan aman dalam file konfigurasi YAML atau JSON. Dekode untuk memverifikasi nilai aktual saat debugging.
Mendekode URI Data
URI data menyematkan aset yang dikodekan Base64 langsung di HTML/CSS. Dekode bagian Base64 untuk mengekstrak gambar asli, font, atau sumber daya tertanam lainnya.
Jebakan Umum
Ini adalah penyebab paling sering dari kesalahan dekoding Base64 dalam praktik:
โ
Padding Hilang
String Base64 harus memiliki panjang yang merupakan kelipatan 4. Banyak API dan pustaka JWT menghapus = di akhir untuk kekompakan. Tambahkan kembali padding: jumlah = yang hilang adalah (4 - panjang % 4) % 4.
โ
Karakter URL-safe Tidak Dikonversi
URL-safe Base64 menggunakan - dan _ alih-alih + dan /. Jika Anda meneruskan URL-safe Base64 langsung ke atob() atau base64.b64decode(), akan gagal. Selalu ganti - โ + dan _ โ / sebelum mendekode dengan pustaka standar.
โ
Spasi dan Jeda Baris
Sertifikat PEM, data MIME, dan Base64 yang disalin-ditempel sering mengandung jeda baris setiap 76 karakter. Hapus semua spasi sebelum mendekode untuk menghindari InvalidCharacterError.
โ
Keluaran Biner vs Teks
Base64 dapat mengenkode data biner apapun, bukan hanya teks. Jika data asli adalah file biner (gambar, PDF), mendekodenya sebagai teks UTF-8 akan menghasilkan sampah. Gunakan metode keluaran biner yang sesuai untuk payload non-teks.
Contoh Kode
Cara mendekode string Base64 dalam bahasa dan lingkungan yang populer:
JavaScript (browser)
// Standard Base64
const decoded = decodeURIComponent(escape(atob(encoded)))
// URL-safe Base64 (restore padding first)
function decodeUrlSafe(str) {
const padded = str.replace(/-/g, '+').replace(/_/g, '/')
const pad = padded.length % 4
return decodeURIComponent(escape(atob(padded + '='.repeat(pad ? 4 - pad : 0))))
}
Beberapa alat dapat mendekode Base64, tetapi berbeda dalam hal privasi, kecepatan, dan kenyamanan.
Alat ini
Berbasis browser, instan, privat. Tidak ada data yang dikirim ke server apa pun. Menangani Base64 standar dan URL-safe, memperbaiki padding yang hilang secara otomatis, dan bekerja secara offline.
CLI (base64 -d)
Cepat untuk skrip dan file besar. Membutuhkan terminal. Memerlukan normalisasi manual untuk input URL-safe (-_ โ +/).
Alat Serbaguna
Curl, Postman, DevTools browser, dan konverter online semuanya dapat mendekode Base64. Kemudahan penggunaan bervariasi; beberapa mengirimkan data ke server jarak jauh.
Pertanyaan yang Sering Diajukan
Mengapa dekoding memberi saya karakter yang tidak terbaca?
Penyebab paling umum adalah mendekode data biner (gambar, file terkompresi) sebagai teks UTF-8 โ byte biner sering tidak membentuk urutan Unicode yang valid. Penyebab lain adalah mendekode URL-safe Base64 (-_) dengan dekoder standar yang mengharapkan +/. Periksa varian mana yang digunakan sumber Anda.
Apa itu InvalidCharacterError?
Error browser dari atob() ini terjadi ketika masukan mengandung karakter di luar alfabet Base64, seperti karakter URL-safe (- atau _), spasi, jeda baris, atau karakter non-ASCII. Hapus spasi dan konversi karakter URL-safe sebelum memanggil atob().
Bagaimana cara mengetahui apakah Base64 saya URL-safe atau standar?
Cari karakter - atau _: jika ada, itu Base64 URL-safe. Base64 standar menggunakan + dan /. URL-safe Base64 juga biasanya menghilangkan karakter padding =. Token JWT selalu menggunakan URL-safe Base64.
Bisakah dekoding Base64 gagal diam-diam?
Ya. Beberapa dekoder diam-diam mengabaikan karakter tidak valid alih-alih melempar error, menghasilkan keluaran yang salah. Selalu validasi bahwa data yang didekode sesuai dengan format yang diharapkan (JSON, header gambar, dll.) daripada mengasumsikan dekoder berhasil.
Apakah ada batas ukuran untuk dekoding Base64?
Alat berbasis browser ini dapat menangani string Base64 hingga beberapa megabyte sebelum UI menjadi lambat. Untuk file yang sangat besar, gunakan alat CLI atau dekoder sisi server.
Mengapa Base64 berakhir dengan satu atau dua tanda =?
= adalah karakter padding. Base64 mengenkode 3 byte menjadi 4 karakter. Jika panjang data asli bukan kelipatan 3, satu atau dua karakter = ditambahkan agar total panjang keluaran menjadi kelipatan 4. Satu = berarti 2 byte masukan di grup terakhir; dua == berarti 1 byte masukan.
Bisakah saya mendekode file biner, gambar, atau PDF?
Ya, tetapi hasilnya akan berupa data biner mentah yang mungkin tidak ditampilkan dengan benar sebagai teks. Untuk konten biner, lebih baik gunakan data URI langsung di tag '<'img'>' atau '<'a'>', atau simpan byte yang didekode ke file menggunakan skrip.
Apakah ada batas ukuran untuk pendekodean?
Alat ini berjalan sepenuhnya di browser tanpa batas dari sisi server. Batas praktis bergantung pada memori browser Anda. String Base64 yang sangat besar (di atas beberapa MB) lebih baik ditangani dengan alat CLI seperti base64 -d (Linux/macOS) atau certutil -decode (Windows).