Apa Itu Alat Ini?
Base64 adalah skema encoding yang mengubah data biner atau teks menjadi kumpulan 64 karakter ASCII yang aman (A-Z, a-z, 0-9, + dan /). Digunakan di mana-mana dalam perangkat lunak: menyematkan gambar dalam HTML/CSS, header autentikasi HTTP Basic, lampiran email (MIME), JSON Web Token, dan payload API yang harus melewati saluran khusus teks.
Penting: Base64 adalah encoding, bukan enkripsi. Siapa pun bisa men-decode-nya. Tujuannya adalah membuat data aman untuk dikirim melalui sistem yang hanya memahami teks — bukan untuk menjaga kerahasiaannya.
Mengapa Menggunakannya?
- Decode token API, segmen JWT, dan header autentikasi untuk melihat isinya.
- Encode teks untuk data URI, file konfigurasi, atau header HTTP.
- Aman untuk UTF-8: emoji dan karakter non-Latin di-encode dan di-decode dengan benar.
- 100% privat — konversi terjadi di peramban Anda, tidak ada yang diunggah.
- Gratis, tanpa login, tanpa batas ukuran.
Cara Menggunakan
- Ketik atau tempel konten Anda ke kotak input.
- Klik "Encode" untuk mengubah teks menjadi Base64, atau "Decode" untuk mengubah Base64 kembali menjadi teks.
- Jika decode gagal, input bukan Base64 yang valid — periksa karakter yang hilang atau spasi berlebih.
- Klik "Copy" untuk menyalin hasilnya.
Contoh
Input
Hello, CodeKitHub! 你好 👋Output
SGVsbG8sIENvZGVLaXRIdWIhIOS9oOWlvSDwn5GLPerhatikan bagaimana huruf Tionghoa dan emoji tetap utuh setelah proses bolak-balik — itulah bagian yang aman untuk UTF-8.
Tips praktis
- Token JWT adalah tiga segmen Base64 yang digabung dengan titik — decode dua segmen pertama (header dan payload) secara terpisah untuk membacanya; segmen ketiga adalah tanda tangan biner dan akan terlihat seperti data acak.
- Jika decode gagal pada segmen JWT, itu karena encoding base64url: ganti - dengan + dan _ dengan / terlebih dahulu (alat standar mengharapkan alfabet +/).
- Spasi dan jeda baris di dalam string Base64 biasanya sisa yang tidak berbahaya dari email atau log, tetapi padding = di akhir yang hilang seringkali bukan — periksa panjangnya sebelum menganggap data rusak.
- Base64 memperbesar data sekitar 33%. Baik-baik saja untuk payload kecil; untuk gambar di atas beberapa KB, file asli hampir selalu pilihan yang lebih baik daripada data URI.
Skenario penggunaan nyata
Tiga kasus yang membawa orang ke sini setiap hari: membaca isi header Authorization atau JWT, men-decode field payload webhook/API yang tiba dalam bungkus Base64 (sering berupa JSON — format setelah decode), dan membuat data URI atau string Basic-Auth secara manual saat men-debug.
Untuk data biner (gambar, file), ingat bahwa hasil decode sebagai teks akan menjadi karakter tidak terbaca — datanya mungkin sepenuhnya valid, hanya saja bukan teks. Encode/decode data biner sebaiknya dilakukan di kode program; alat ini dioptimalkan untuk kasus teks.
Cara mendiagnosis kegagalan decode
Kegagalan decode Base64 hampir selalu bermuara pada salah satu dari tiga penyebab, diurutkan dari yang paling sering. Pertama, inputnya sebenarnya base64url (memakai - dan _ alih-alih + dan / standar, umum pada JWT dan konteks yang aman untuk URL) — karakter tersebut perlu ditukar kembali dulu sebelum decoding standar bisa menerimanya. Kedua, string terpotong di suatu tempat sepanjang jalan, misalnya salin-tempel yang melewatkan beberapa karakter terakhir atau baris log yang terpotong; ini bisa dideteksi karena panjang string Base64 yang valid selalu kelipatan 4 setelah padding diperhitungkan. Ketiga, ada karakter asing yang ikut tersalin — spasi tambahan, baris baru yang nyasar, atau karakter yang tidak sengaja terduplikasi. Karena itu, menempel langsung dari sumber asli selalu lebih aman daripada mengetik ulang.
Pertanyaan yang Sering Diajukan
Apakah Base64 itu enkripsi?
Bukan. Base64 adalah encoding yang bisa dibalik dan bisa di-decode oleh siapa saja — tidak memberikan keamanan sama sekali. Jika Anda perlu melindungi data, gunakan enkripsi sungguhan (seperti AES); Base64 hanya untuk membuat data aman diangkut sebagai teks.
Mengapa hasil decode saya terlihat seperti data acak?
Bisa karena input sebenarnya bukan Base64, terpotong, atau data aslinya adalah biner (seperti gambar) alih-alih teks. Data biner tidak akan tampil sebagai karakter yang bisa dibaca.
Apa maksud tanda = di bagian akhir?
Padding. Base64 bekerja dalam blok 3 byte input → 4 karakter output. Ketika panjang input tidak habis dibagi 3, satu atau dua karakter = menambal blok terakhir.
Apakah alat ini berfungsi dengan emoji dan huruf Tionghoa?
Ya. Teks di-encode sebagai byte UTF-8 terlebih dahulu, yang merupakan pendekatan standar. Alat sederhana yang langsung menggunakan btoa() gagal pada karakter di luar Latin-1 — alat ini tidak.
Apakah data saya diunggah ke suatu tempat?
Tidak. Encoding dan decoding berjalan sepenuhnya di peramban Anda dengan JavaScript. Data Anda tidak pernah meninggalkan perangkat Anda.