Encode dan Decode Base64
Encode dan decode Base64 gratis dengan dukungan penuh UTF-8 dan opsi base64url yang aman untuk URL. Berjalan sepenuhnya di browser, tanpa unggahan.
Cara menggunakan encoder dan decoder Base64
- Pilih apakah Anda ingin Encode teks menjadi Base64 atau Decode Base64 kembali menjadi teks.
- Ketik atau tempel masukan Anda ke kotak teks. Huruf beraksen, aksara non-Latin, dan emoji semuanya didukung.
- Jika hasilnya akan dipakai di URL, nama file, atau JSON Web Token, aktifkan opsi Aman untuk URL (base64url) untuk mendapatkan varian base64url.
- Baca hasilnya lalu salin. Saat Anda melakukan decode dan masukan bukan Base64 yang valid, pesan kesalahan akan memberi tahu Anda, alih-alih menghasilkan karakter acak.
Apa itu Base64?
Base64 adalah cara merepresentasikan byte apa pun hanya dengan 64 karakter ASCII yang dapat dicetak: huruf besar A–Z, huruf kecil a–z, angka 0–9, serta dua simbol + dan /. Karakter = dipakai sebagai padding di bagian akhir. Base64 ada karena banyak sistem dirancang untuk membawa teks, bukan data biner mentah. Isi email, header HTTP, dokumen XML dan JSON, serta data URL semuanya mengharapkan karakter yang tetap utuh saat disalin, dicatat di log, dan dikirim.
Algoritmenya bekerja pada kelompok tiga byte (24 bit) dan memecahnya menjadi empat nilai 6 bit, yang masing-masing dipetakan ke salah satu dari 64 karakter. Karena itu hasil Base64 selalu sekitar 33% lebih besar daripada masukannya: setiap 3 byte menjadi 4 karakter. Jika panjang masukan bukan kelipatan tiga, satu atau dua tanda = ditambahkan agar panjang hasil menjadi kelipatan empat. Contohnya, kata Hi menjadi SGk= dan Hello menjadi SGVsbG8=.
Teks, byte, dan UTF-8
Base64 meng-encode byte, bukan karakter, sehingga teks harus diubah menjadi byte terlebih dahulu. Alat ini memakai UTF-8, encoding yang digunakan hampir semua halaman web dan API modern. Artinya café menjadi Y2Fmw6k= dan emoji seperti 👍 (empat byte dalam UTF-8) di-encode dengan benar dan kembali menjadi emoji yang sama saat di-decode. Banyak skrip cepat yang mengandalkan fungsi lama btoa() di browser gagal untuk karakter di luar Latin-1; alat ini tidak punya batasan tersebut.
Base64 standar vs. base64url
Base64 standar memakai + dan /, yang punya arti khusus di URL dan path file. Varian yang aman untuk URL, disebut base64url, mengganti + dengan - dan / dengan _, dan biasanya menghilangkan padding =. Format ini dipakai di JSON Web Token (JWT), di banyak parameter OAuth, dan di layanan pemendek URL. Aktifkan opsi aman untuk URL saat Anda membutuhkan format itu, dan biarkan nonaktif untuk lampiran email, data URL, atau file konfigurasi yang mengharapkan Base64 standar.
Base64 bukan enkripsi
Ini kesalahpahaman yang paling sering terjadi. Base64 adalah encoding: tidak ada kunci dan tidak ada rahasia, dan siapa pun bisa membaliknya seketika. Meng-encode kata sandi, API key, atau data pribadi dengan Base64 sama sekali tidak melindunginya. Autentikasi HTTP Basic, misalnya, mengirim username:password dalam Base64, itulah sebabnya autentikasi ini hanya boleh dipakai lewat HTTPS. Jika Anda memerlukan kerahasiaan, gunakan enkripsi sungguhan (seperti AES) atau hash kata sandi (seperti Argon2 atau bcrypt), bukan Base64.
Privasi
Semua proses encode dan decode berlangsung secara lokal di browser Anda dengan JavaScript. Teks yang Anda masukkan tidak pernah dikirim ke server, disimpan, atau dicatat, sehingga Anda bisa memeriksa token atau nilai konfigurasi dengan aman. Alat ini hanya bekerja dengan teks; alat ini tidak menerima unggahan file.
Pertanyaan yang sering diajukan
Mengapa teks hasil decode terlihat seperti simbol acak?
String Base64 tersebut kemungkinan mewakili data biner, seperti gambar, file terkompresi, atau konten terenkripsi, bukan teks. Hasil decode-nya berupa byte yang valid, tetapi bukan teks UTF-8 yang bermakna. Hal ini juga bisa terjadi jika teks aslinya di-encode dengan set karakter selain UTF-8.
Mengapa alat ini menyatakan Base64 saya tidak valid?
Base64 yang valid hanya berisi 64 karakter yang diizinkan ditambah padding = opsional, dan panjangnya harus sesuai dengan pengelompokan 4 karakter. Penyebab umumnya adalah karakter liar yang ikut tersalin, string yang terpotong, atau string base64url (dengan - dan _) yang di-decode tanpa mengaktifkan opsi aman untuk URL.
Bisakah saya meng-encode gambar atau file lain?
Tidak. Alat ini dirancang khusus untuk teks. Untuk menyisipkan gambar ke HTML atau CSS, Anda memerlukan alat yang membaca byte mentah file dan menghasilkan data URL.
Apakah Base64 aman untuk menyimpan kata sandi?
Tidak. Base64 bisa di-decode oleh siapa saja dalam sepersekian detik. Kata sandi harus disimpan dengan algoritme hashing lambat yang khusus, seperti Argon2, scrypt, atau bcrypt.
Apa bedanya Base64 dengan dan tanpa padding?
Padding = hanya membuat panjang hasil menjadi kelipatan empat; padding tidak membawa informasi. Sebagian besar decoder bisa merekonstruksi data tanpanya. base64url biasanya menghilangkan padding karena = sendiri adalah karakter yang dicadangkan di URL.
Alat terkait
- URL Encoder dan Decoder URL encoder dan decoder gratis. Encode parameter query atau URL lengkap, decode urutan %XX, dan tangani + sebagai spasi. Berjalan di browser Anda.
- JSON Formatter dan Validator JSON formatter dan validator gratis untuk merapikan, minify, dan memeriksa JSON di browser Anda, dengan kesalahan sintaksis yang dilaporkan per baris dan kolom.
- UUID Generator UUID generator gratis untuk UUID versi 4 dan versi 7. Buat hingga 1.000 sekaligus, huruf kapital atau tanpa tanda hubung, lalu salin atau unduh .txt.