Encoder dan decoder Base64
Enkode teks ke Base64 atau dekode Base64 kembali ke teks, dengan alfabet standar dan URL-safe.
Contoh kode
Salin contoh ini ke proyek Anda sendiri. Masing-masing hanya memakai pustaka standar bahasanya, jadi tidak ada yang perlu diinstal.
const text = 'Hello, wereld! 👋'
const bytes = new TextEncoder().encode(text)
const encoded = btoa(String.fromCharCode(...bytes))
console.log(encoded)Fungsinya
Base64 mengubah byte apa pun menjadi teks biasa yang terdiri dari 64 karakter aman, sehingga data biner bisa melewati sistem yang hanya menangani teks: isi email, field JSON, URL, data URI, dan header HTTP. Alat ini mengenkode teks ke Base64 dan mendekode Base64 kembali ke teks, sepenuhnya di browser Anda.
Cara memakainya
- Pilih Enkode atau Dekode.
- Ketik atau tempel teks Anda, atau jatuhkan file ke kolom input.
- Pilih alfabet Standar (
+dan/) atau URL-safe (-dan_), dan tentukan apakah padding=ditambahkan. - Salin hasilnya, atau kirim langsung ke alat lain.
Aktifkan opsi per baris untuk mengonversi setiap baris sendiri-sendiri, misalnya daftar nilai yang sudah dienkode.
Contoh
Mengenkode Hello, world! menghasilkan:
SGVsbG8sIHdvcmxkIQ==
Byte yang sama dalam alfabet URL-safe tanpa padding:
SGVsbG8sIHdvcmxkIQ
Perlu diketahui
- Base64 adalah encoding, bukan enkripsi: siapa pun bisa mendekodenya.
- Hasilnya sekitar sepertiga lebih besar dari input (setiap 3 byte menjadi 4 karakter).
- Teks dikonversi sebagai UTF-8 secara default. Jika teks hasil dekode menampilkan karakter aneh, pilih charset yang dipakai saat teks itu ditulis.
- JSON Web Token memakai alfabet URL-safe tanpa padding.
Apa itu Base64?
Base64 merepresentasikan data biner dengan 64 karakter yang dapat dicetak, sehingga bisa melewati sistem yang hanya menerima teks, seperti isi email, field JSON, dan data URL. Setiap 3 byte menjadi 4 karakter, sehingga hasilnya sekitar 33% lebih besar.
Pertanyaan yang sering diajukan
Kapan sebaiknya saya memakai alfabet URL-safe?
Pakai saat hasilnya akan masuk ke URL atau nama file. Alfabet ini mengganti + dan / dengan - dan _. JWT memakainya tanpa padding.
Mengapa teks hasil dekode saya menampilkan karakter aneh?
Teksnya kemungkinan dienkode dengan charset yang berbeda dari yang dipilih. Coba ISO-8859-1, atau pastikan datanya berupa teks dan bukan file.
Apakah Base64 itu enkripsi?
Bukan. Siapa pun bisa mendekode Base64, jadi tidak ada yang tersembunyi. Pakai untuk mengangkut data, bukan untuk melindunginya.