Encoder / Decoder Base64
Encoder dan decoder Base64 online gratis. Encode teks atau file ke Base64 atau decode Base64 kembali ke teks.
Lepaskan file atau Telusuri
Privat & Aman
Pemrosesan sepenuhnya di browser lokal. Data tidak pernah diunggah ke server.
Dukungan File
Konversi gambar, dokumen, atau file biner dengan mudah ke string Base64.
Siap Offline
Bekerja tanpa koneksi internet setelah dimuat.
Pertanyaan yang sering diajukan
Apa itu encoding Base64 dan untuk apa digunakan?
Base64 adalah skema encoding biner-ke-teks yang mengonversi data biner menjadi format string ASCII menggunakan 64 karakter (A-Z, a-z, 0-9, +, /). Ini terutama digunakan untuk mentransmisikan data biner melalui protokol berbasis teks seperti HTTP, SMTP, atau dalam payload JSON. Aplikasi umum meliputi lampiran email melalui MIME, menyematkan gambar dalam HTML dan CSS sebagai data URL, encoding payload dalam JSON Web Token (JWT), dan menyimpan data biner di kolom database berbasis teks.
Apakah Base64 itu enkripsi? Apakah aman?
Tidak. Base64 adalah skema encoding, bukan enkripsi. Siapa pun yang memiliki string yang di-encode Base64 dapat mendekodekannya kembali ke data asli secara instan tanpa memerlukan kunci, kata sandi, atau rahasia apa pun. Base64 tidak menyediakan kerahasiaan, integritas, atau autentikasi. Anggap saja sebagai cara untuk merepresentasikan data yang sama dalam format yang berbeda — seperti menerjemahkan bahasa Indonesia ke kode Morse. Jika Anda perlu melindungi data sensitif, gunakan algoritma enkripsi yang tepat (seperti AES) terlebih dahulu, lalu secara opsional encode byte terenkripsi dengan Base64 untuk transmisi.
Mengapa Base64 terkadang diakhiri dengan tanda = atau ==?
Karakter = adalah padding. Base64 memproses data input dalam kelompok 3 byte (24 bit), menghasilkan 4 karakter Base64 per kelompok. Ketika panjang input bukan kelipatan 3 byte, encoding menambahkan karakter padding = untuk membuat output menjadi kelipatan 4 karakter. Satu = ditambahkan ketika tersisa 2 byte, dan dua karakter = ditambahkan ketika hanya tersisa 1 byte. Misalnya, "Man" (3 byte) di-encode menjadi "TWFu" tanpa padding, tetapi "Ma" (2 byte) di-encode menjadi "TWE=" dan "M" (1 byte) di-encode menjadi "TQ==".
Apakah Base64 membuat data lebih besar? Berapa banyak overhead yang ditambahkannya?
Ya, encoding Base64 meningkatkan ukuran data sekitar 33%. Untuk setiap 3 byte input biner, outputnya adalah 4 byte, ditambah padding opsional. Jadi file biner 3 MB menjadi sekitar 4 MB ketika di-encode Base64. Ini adalah trade-off untuk dapat mentransmisikan data biner melalui saluran khusus teks. Dibandingkan dengan encoding biner-ke-teks lainnya, Base64 relatif efisien — encoding heksadesimal, misalnya, menambahkan overhead 100%.
Apa perbedaan antara Base64 standar dan Base64url?
Base64 standar menggunakan + dan / dalam alfabetnya dan = untuk padding. Base64url (Base64 aman URL) mengganti + dengan - dan / dengan _, dan biasanya menghilangkan padding. Ini membuat Base64url aman untuk digunakan dalam URL, parameter kueri, dan nama file tanpa percent-encoding tambahan. Base64url didefinisikan dalam RFC 4648 dan digunakan secara luas dalam JSON Web Token (JWT), token OAuth, dan API web. Misalnya, string Base64 standar seperti Pj4+Pz8/Pw== menjadi Pj4-Pz8_Pw dalam Base64url.
Apa itu data URL Base64 dan bagaimana cara menggunakannya di HTML dan CSS?
Data URL adalah skema URI yang menyematkan data langsung dalam dokumen web. Untuk gambar, formatnya adalah data:image/png;base64,iVBORw0KGgo.... Ini dapat digunakan sebagai pengganti URL file di tag <img> HTML dan properti background-image CSS. Data URL menghilangkan kebutuhan akan permintaan HTTP terpisah untuk memuat gambar, yang dapat meningkatkan kinerja untuk aset kecil (biasanya di bawah 10 KB). Namun, ini meningkatkan ukuran file HTML/CSS sekitar 33% dan mencegah browser menyimpan gambar secara independen dalam cache.
Bisakah Anda mengonversi file apa pun ke Base64?
Ya — data biner apa pun, baik itu teks, gambar, audio, video, PDF, atau arsip terkompresi, dapat di-encode ke Base64. Prosesnya sama: baca byte mentah file dan terapkan algoritma encoding Base64. Ketika Anda mendekode string Base64, Anda mendapatkan kembali byte asli yang persis sama. Inilah cara kerja lampiran email — file biner di-encode Base64 sebelum dikirim melalui SMTP, dan didekode kembali ke file asli di pihak penerima.
Bagaimana cara menangani karakter Unicode (seperti emoji atau teks bahasa Indonesia) saat encoding Base64 di JavaScript?
Fungsi bawaan btoa() hanya bekerja dengan karakter Latin-1 (karakter byte tunggal). Untuk string Unicode yang berisi emoji, karakter Mandarin, atau karakter multi-byte lainnya, Anda perlu mengonversi ke byte terlebih dahulu menggunakan API TextEncoder: Di Node.js, kelas Buffer menangani Unicode secara native: Buffer.from('Hello 你好 🚀').toString('base64') bekerja tanpa penanganan khusus.