Encoder Base64
Encode teks atau byte hex ke Base64 di browser Anda. Dukungan UTF-8 penuh (emoji, CJK, aksen), alfabet aman URL, padding opsional, dan pembungkusan 76 karakter.
24 karakter · 28 byte (UTF-8)
0 karakter · 0 byte (UTF-8)
Berjalan sepenuhnya di browser Anda. Data Anda tidak pernah diunggah.
Apa itu Base64 Encode?
Mengonversi teks menjadi Base64 sesuai definisi RFC 4648. Teks terlebih dahulu diubah menjadi byte UTF-8, sehingga emoji serta karakter Mandarin, Arab, atau Vietnam ter-encode dengan benar, lalu byte tersebut ditulis dengan alfabet Base64 berisi 64 karakter. Anda juga bisa menempel byte mentah dalam bentuk hex alih-alih teks.
Cara menggunakan Base64 Encode
- Ketik atau tempel teks Anda di Masukan (atau ubah Format input ke Byte heksadesimal untuk meng-encode byte mentah).
- Opsional, centang Alfabet aman URL (- dan _), hilangkan centang Tambahkan padding =, atau aktifkan Bungkus baris setiap 76 karakter (MIME).
- Hasil Base64 langsung muncul di Keluaran.
- Klik Salin, atau Jadikan input untuk beralih ke dekode dan memverifikasi bolak-baliknya.
Contoh
Hello, World! Xin chào 👋
SGVsbG8sIFdvcmxkISBYaW4gY2jDoG8g8J+Riw==
Opsi default: input UTF-8, alfabet standar dengan padding.
Kapan menggunakan Base64 Encode
Gunakan Base64 ketika data biner atau non-ASCII harus melewati saluran yang hanya mendukung teks: field JSON, data URI, header HTTP Basic auth, email (MIME), atau file konfigurasi. Jangan memakainya untuk melindungi data – Base64 adalah encoding, siapa pun bisa mendekodenya – dan hindari untuk file besar di mana tambahan ukuran 33% berpengaruh (gunakan encoder file Base64 untuk file).
Cara kerja Base64 Encode
Input dikonversi menjadi byte (UTF-8 lewat TextEncoder, atau diurai dari hex). Setiap 3 byte (24 bit) dipecah menjadi empat kelompok 6 bit, masing-masing dipetakan ke satu karakter dari A–Z a–z 0–9 + /. Jika kelompok terakhir berisi 1 atau 2 byte, output di-padding dengan = hingga kelipatan 4 karakter. Varian aman URL (RFC 4648 §5, "base64url") mengganti + dengan - dan / dengan _ dan biasanya dipakai tanpa padding. Pembungkusan 76 karakter mengikuti aturan panjang baris MIME.
Kasus Penggunaan Umum
- Membuat header HTTP
Authorization: Basicdariuser:password - Menyematkan string atau token pendek di JSON atau YAML
- Membuat nilai base64url untuk header dan payload JWT
- Meng-encode teks non-ASCII agar tetap utuh di sistem lama yang hanya mendukung ASCII
- Memeriksa byte apa yang sebenarnya dihasilkan sebuah string UTF-8
Catatan Keamanan
Encoding berlangsung secara lokal di browser Anda; tidak ada yang diunggah. Ingat bahwa Base64 tidak memberikan kerahasiaan.
Pertanyaan Umum
Mengapa Base64 saya berbeda dengan alat lain untuk teks non-Inggris?
Beberapa alat meng-encode teks sebagai Latin-1 atau UTF-16. Alat ini selalu memakai UTF-8, yang diharapkan oleh browser, btoa(unescape(encodeURIComponent(s))), Python base64.b64encode(s.encode()), dan sebagian besar API.
Apa bedanya Base64 dan base64url?
base64url memakai - dan _ alih-alih + dan /, sehingga hasilnya bisa ditaruh di URL dan nama file tanpa percent-encoding. JWT memakai base64url tanpa padding =.
Apakah Base64 itu enkripsi?
Bukan. Base64 hanya mengubah representasi; siapa pun bisa mendekodenya. Gunakan enkripsi sungguhan (misalnya AES-GCM) jika datanya rahasia.
Seberapa besar output Base64?
Empat karakter output untuk setiap tiga byte input, jadi sekitar 33% lebih besar, ditambah jeda baris jika pembungkusan diaktifkan.