Cara menggunakan
- Pilih Teks atau File di bagian atas.
- Untuk teks, pilih arah konversi, lalu ketik atau tempel teks. Hasilnya akan diperbarui saat Anda mengetik.
- Untuk mengodekan file, pilih atau seret file ke sini (maksimal 10 MB). Centang “Keluarkan sebagai data URL” jika ingin menyematkannya di HTML atau CSS.
- Untuk mengubah Base64 kembali menjadi file, pilih Base64 → Teks, tempel datanya, lalu klik “Unduh sebagai file”.
Cara kerja
Base64 merepresentasikan data biner menggunakan 64 karakter ASCII yang dapat dicetak: A–Z, a–z, 0–9, +, dan /. Setiap 3 byte menjadi 4 karakter, sehingga hasil encoding berukuran sekitar 33% lebih besar daripada data aslinya. Jika panjang input bukan kelipatan 3, hasilnya diberi padding berupa satu atau dua tanda =.
Base64 adalah encoding, bukan enkripsi. Siapa pun dapat mendekodenya tanpa kunci, jadi jangan pernah menggunakannya untuk menyembunyikan kata sandi atau data pribadi. Base64 digunakan agar data biner dapat dikirim melalui sistem yang dirancang untuk teks, seperti email (MIME), JSON, XML, header HTTP, dan data URL.
Teks terlebih dahulu diubah menjadi byte UTF-8, sehingga karakter di luar ASCII dapat di-encode dengan benar. Ini penting karena fungsi bawaan browser btoa gagal memproses karakter seperti é atau emoji. Saat mendekode, alat ini memeriksa apakah hasilnya merupakan UTF-8 yang valid. Jika tidak, berarti datanya biner dan akan ditampilkan dalam format heksadesimal, bukan sebagai teks yang tidak terbaca.
Varian yang aman untuk URL (base64url, RFC 4648 bagian 5) mengganti + dengan - dan / dengan _, serta biasanya menghilangkan padding = karena karakter tersebut memiliki arti khusus dalam URL. Varian ini digunakan dalam JSON Web Tokens dan banyak API web. Pemenggalan baris MIME (RFC 2045) membagi hasil menjadi baris dengan panjang maksimal 76 karakter, seperti yang diwajibkan oleh beberapa sistem email dan file sertifikat PEM.
Proses decoding toleran jika aman dilakukan: spasi kosong dan pergantian baris dilewati, padding yang hilang ditambahkan, dan kedua alfabet diterima. Kesalahan lain, seperti karakter asing atau padding di tengah, akan dilaporkan beserta posisinya, bukan diabaikan begitu saja.
Contoh
Meng-encode teks dengan aksen dan emoji
“Grüße 👋” menjadi R3LDvMOfZSDwn5GL. Masing-masing karakter ü dan ß menggunakan 2 byte UTF-8, sedangkan emoji menggunakan 4 byte. Jadi, 7 karakter berubah menjadi 12 byte dan 16 karakter Base64.
Membuat header Authorization Basic HTTP
Untuk pengguna “alice” dan kata sandi “s3cret”, encode alice:s3cret untuk mendapatkan YWxpY2U6czNjcmV0, lalu kirim header Authorization: Basic YWxpY2U6czNjcmV0. Karena Base64 bukan enkripsi, autentikasi Basic hanya boleh digunakan melalui HTTPS.
Memulihkan file dari data URL
Tempel string seperti data:image/png;base64,iVBORw0KGgo… ke Base64 → Teks. Alat ini menghapus awalan, mengenali data PNG, menampilkan tampilan heksadesimal karena datanya bukan teks, dan menyimpan decoded.png saat Anda memilih “Unduh sebagai file”.
Pertanyaan yang sering diajukan
Apakah Base64 merupakan bentuk enkripsi?
Tidak. Base64 adalah encoding yang dapat dibalik tanpa kunci atau rahasia. Siapa pun yang melihat string Base64 dapat langsung mendekodenya, jadi jangan pernah mengandalkannya untuk melindungi kata sandi, token, atau informasi pribadi.
Mengapa teks hasil dekode menampilkan karakter aneh di alat lain?
Biasanya, teks dikodekan sebagai UTF-8 tetapi didekodekan sebagai Latin-1 (atau sebaliknya). Alat ini selalu menggunakan UTF-8 dan memberi tahu Anda jika byte hasil dekode bukan teks UTF-8 yang valid.
Apa perbedaan Base64 dan base64url?
Keduanya menggunakan metode yang sama, tetapi base64url mengganti + dengan - dan / dengan _, serta biasanya menghilangkan padding =. Dengan begitu, hasilnya dapat digunakan di URL dan nama file tanpa perlu di-escape lagi. Dekoder ini menerima kedua format.
Mengapa hasil Base64 lebih besar daripada file aslinya?
Base64 mengubah setiap 3 byte menjadi 4 karakter, sehingga ukuran bertambah sekitar 33%. Pemenggalan baris menambahkan 2 karakter lagi (CRLF) setiap 76 karakter. Untuk gambar berukuran besar, biasanya lebih baik menyajikan file secara langsung daripada menyematkannya sebagai data URL.
Apakah ada batas ukuran?
Ukuran file maksimal 10 MB. Teks yang ditempel tidak memiliki batas tetap, tetapi input yang sangat besar (puluhan megabyte) dapat memperlambat halaman, terutama di ponsel.
Privasi
Proses encoding dan decoding berlangsung di browser Anda. Teks dan file tidak pernah diunggah atau disimpan, dan isinya tidak disertakan dalam analitik. File unduhan dibuat secara lokal di perangkat Anda.