Encoder dan decoder Base64
Berjalan di browser Anda; tidak ada yang diunggah
Encode teks atau file ke Base64, atau decode Base64 kembali menjadi teks, byte, atau gambar. Jika input tidak valid, karakternya ditunjukkan.
Text
Base64
Base64 appears here as you type.
Apa itu Base64?
Base64 adalah cara menulis byte apa pun hanya dengan 64 karakter aman: A–Z, a–z, 0–9, +, dan /, dengan = sebagai padding di akhir. Setiap 3 byte input menjadi 4 karakter output, jadi data yang di-encode sekitar sepertiga lebih besar dari aslinya.
Base64 ada karena banyak sistem hanya bisa menangani teks dengan andal. Dengan Base64 Anda bisa memasukkan data biner, seperti gambar, file, atau kunci kriptografi, ke dalam JSON, email, URL, atau header HTTP tanpa rusak di perjalanan.
Ada dua alfabet. Alfabet standar (RFC 4648) memakai + dan /. Versi aman-URL memakai - dan _ sebagai gantinya, karena + dan / punya arti di URL, dan biasanya tanpa padding =; JWT memakai versi ini. Email (MIME) memotong Base64 standar menjadi baris 76 karakter.
Dalam pekerjaan API Anda akan sering bertemu Base64. Autentikasi HTTP Basic mengirim username:password yang di-encode Base64 di header Authorization, bagian-bagian JWT adalah Base64 aman-URL, dan banyak API mengembalikan file atau thumbnail sebagai string Base64 atau URL data: di dalam JSON. Base64 adalah encoding, bukan enkripsi: siapa pun bisa men-decode-nya.
Cara memakai tool ini
- 1Pilih Encode atau Decode. Saat berganti mode, apa yang Anda ketik tetap ada; Swap (Alt+Shift+S) memindahkan output ke input dan mengganti mode.
- 2Untuk encode, ketik teks (di-encode sebagai UTF-8), atau seret atau buka file untuk meng-encode byte-nya apa adanya. URL-safe, Wrap at 76, dan data: URL mengubah bentuk hasilnya.
- 3Untuk decode, tempel Base64, Base64 MIME yang dipotong per baris, atau URL
data:lengkap. Alfabet dan padding yang hilang dideteksi otomatis, dan status bar menunjukkan bentuknya. - 4Jika input bukan Base64 yang valid, karakternya ditandai di editor dan F8 membawa Anda ke sana. Pesannya menjelaskan apa yang salah, misalnya karakter di luar alfabet atau jumlah padding yang keliru.
- 5Teks hasil decode ditampilkan sebagai teks. Byte yang bukan teks UTF-8 ditampilkan sebagai hex dump, gambar ditampilkan sebagai pratinjau, dan Download (Ctrl+S) menyimpan byte sebagai file dengan ekstensi yang tepat.
Pemecahan masalah
.bukan karakter Base64- Input kemungkinan besar adalah JWT, yang tiga bagiannya dipisahkan titik. Decode satu bagian per satu, atau tempel token ke JWT decoder.
%bukan karakter Base64- Base64 ini sudah di-percent-encode untuk URL (
+menjadi%2B,=menjadi%3D). Decode dulu dengan URL decoder. - Ada satu karakter yang kurang atau lebih
- Base64 datang dalam kelompok empat karakter, dan string ini diakhiri kelompok satu karakter. Hampir pasti string ini terpotong saat disalin.
- Byte hasil decode bukan teks UTF-8
- Datanya biner (gambar, zip, kunci) atau teks dengan encoding lain seperti Latin-1. Lihat tampilan Hex atau unduh byte-nya, jangan disalin sebagai teks.
- Hasilnya berisi
�di tempat yang seharusnya emoji - Teks yang Anda encode berisi setengah emoji, biasanya karena string dipotong di tengah emoji. Status bar menunjuk karakternya; setengah karakter itu tidak bisa di-encode, jadi berubah menjadi U+FFFD.
Pertanyaan umum
Apakah data saya dikirim ke server?
Tidak. Encode, decode, dan pratinjau gambar berjalan di browser Anda, dan file yang Anda buka dibaca secara lokal. Teks yang Anda tempel disimpan di session storage tab ini sampai Anda menghapusnya atau menutup tab, jadi tidak hilang saat reload, dan Copy link menaruhnya di link setelah tanda #, bagian yang tidak pernah dikirim browser ke server. Opsi yang Anda pilih, seperti URL-safe, diingat di browser ini.
Kenapa ada string hasil encode yang lebih panjang padahal jumlah karakternya sama?
Base64 meng-encode byte, bukan karakter. Di UTF-8 satu huruf Latin biasa memakai 1 byte, huruf beraksen 2 byte, dan banyak karakter Asia 3 byte, jadi teks dalam aksara tersebut menghasilkan Base64 yang lebih panjang.
Bagaimana cara men-decode header Basic auth?
Ambil bagian setelah Basic di header Authorization lalu decode di sini. Hasilnya adalah username dan password yang dipisahkan titik dua.
Apakah padding `=` diperlukan?
Sebagian besar decoder, termasuk yang ini, menerima Base64 tanpa padding, dan Base64 aman-URL biasanya tidak memakainya. Beberapa decoder yang ketat mewajibkannya; Base64 standar menambahkannya agar panjangnya kelipatan empat.