Base64 adalah skema enkoding biner-ke-teks yang merepresentasikan data biner menggunakan set 64 karakter ASCII yang dapat dicetak. Dirancang untuk mengangkut data biner dengan aman melalui sistem yang hanya menangani teks — seperti email (MIME), header HTTP, dan XML. Nama "Base64" berasal dari 64 karakter yang digunakan dalam alfabet enkoding.
Pengkodean bekerja dengan mengambil tiga byte input (24 bit) dan membaginya menjadi empat kelompok 6-bit. Setiap nilai 6-bit dipetakan ke satu karakter dalam alfabet Base64. Jika panjang input bukan kelipatan tiga, karakter padding (=) ditambahkan untuk mencapai kelipatan empat karakter output. Hasilnya adalah string yang sekitar 33% lebih besar dari data asli, tetapi aman untuk dikirimkan sebagai teks biasa.
Mengapa Menggunakan Alat Ini?
Enkoder ini menangani teks Unicode dengan benar, mendukung varian standar dan URL-safe, dan mengenkode sepenuhnya di browser Anda — data Anda tidak pernah meninggalkan mesin Anda.
⚡
Enkoding Instan
Hasil muncul saat Anda mengetik. Tidak ada tombol untuk diklik, tidak perlu menunggu respons server.
🔗
Pengalih URL-safe
Beralih antara enkoding standar (+/) dan URL-safe (-_) dengan satu klik. Padding dihapus secara otomatis untuk varian URL-safe.
🔒
Sepenuhnya Sisi Klien
Semua enkoding terjadi secara lokal di browser Anda menggunakan API btoa asli dan TextEncoder. Tidak ada yang dikirim ke server mana pun.
🎛️
Dukungan Unicode
Menangani Unicode lengkap dengan benar termasuk emoji, karakter CJK, dan teks UTF-8 apapun dengan menggunakan encodeURIComponent sebelum enkoding.
Cara Menggunakan Encoder Base64 Online Ini
Tidak perlu akun, tidak perlu instalasi, tidak perlu upload — tempel teks dan output yang dikodekan muncul seketika.
1
Tempel atau Ketik Teks Anda
Klik kolom input dan tempel teks apa pun — string biasa, payload JSON, kunci API, alamat email, atau konten UTF-8 apa pun. Pengkodean diperbarui secara langsung saat Anda mengetik.
2
Pilih Varian Anda
Pilih Standard (RFC 4648) untuk MIME, HTTP Basic Auth, dan penggunaan umum. Pilih URL-safe untuk token JWT, parameter query string, nama file, dan konteks apa pun di mana + atau / akan merusak parsing URL.
3
Salin Output
Klik Salin untuk mengirim string Base64 ke clipboard Anda dengan satu klik. Output siap ditempel langsung ke kode, file konfigurasi, atau permintaan API Anda.
4
Gunakan dalam Aplikasi Anda
Tempel string yang dikodekan di mana pun diperlukan — header Authorization, data URI, field JSON, variabel lingkungan, atau secret Kubernetes. Untuk output URL-safe, padding sudah dihapus.
Alfabet Base64
Base64 menggunakan 64 karakter: huruf besar A–Z (nilai 0–25), huruf kecil a–z (26–51), angka 0–9 (52–61), dan dua karakter khusus untuk nilai 62 dan 63. Varian standar RFC 4648 menggunakan + dan /; varian URL-safe menggantinya dengan - dan _ untuk menghindari konflik dalam URL dan nama file.
A–Z
0–25
ABCDEFGHIJKLMNOPQRSTUVWXYZ
a–z
26–51
abcdefghijklmnopqrstuvwxyz
0–9
52–61
0123456789
+, /
62–63
RFC 4648 standar — hindari dalam URL dan nama file
-, _
62–63
Varian URL-safe (RFC 4648 §5) — aman dalam URL dan nama file
Base64 Standar vs URL-safe
Alfabet Base64 standar menggunakan + dan / yang merupakan karakter khusus dalam URL dan jalur file. Varian URL-safe menggantikannya dengan - dan _ dan biasanya menghilangkan karakter padding =. Gunakan enkoding URL-safe untuk token JWT, data dalam string kueri, nama file, dan konteks apapun di mana + atau / akan disalahartikan.
Masukan
Standar
URL-safe
Man
TWFu
TWFu
Hello
SGVsbG8=
SGVsbG8
A
QQ==
QQ
1+1=2
MSsxPTI=
MSsxPTI
Kasus Penggunaan Umum
Lampiran Email (MIME)
SMTP dirancang untuk teks ASCII 7-bit. Enkoding Base64 digunakan oleh standar MIME untuk menyematkan lampiran biner (gambar, PDF, file yang dapat dieksekusi) dengan aman dalam pesan email.
URI Data
Sematkan gambar, font, dan aset lainnya langsung di HTML atau CSS menggunakan URI data: data:image/png;base64,... — menghilangkan permintaan HTTP ekstra untuk sumber daya kecil.
Payload API
API REST sering mengharuskan bidang biner (unggahan file, kunci kriptografi, sertifikat) dikodekan dengan Base64 saat disematkan dalam JSON, karena JSON tidak memiliki tipe biner.
File Konfigurasi
Rahasia Kubernetes, variabel lingkungan, dan konfigurasi CI/CD umumnya menyimpan rahasia biner dan sertifikat sebagai string Base64 untuk menghindari masalah escape.
HTTP Basic Auth
Header HTTP Authorization: Basic mengenkode kredensial sebagai Base64(nama_pengguna:kata_sandi). Ini bukan enkripsi — hanya menyediakan enkoding untuk transport dalam header.
Token JWT
JSON Web Token menggunakan URL-safe Base64 (base64url) untuk mengenkode segmen header dan payload, membuat token aman digunakan dalam URL dan header HTTP tanpa escaping.
Kapan TIDAK Menggunakan Base64
Base64 adalah pengkodean transport, bukan mekanisme keamanan. Berikut adalah kesalahan penggunaan paling umum yang menyebabkan masalah nyata di produksi:
✕
Tidak untuk Keamanan atau Enkripsi
Base64 sangat mudah dibalik — tidak diperlukan kunci atau kata sandi untuk mendekodekannya. Siapa pun yang melihat string Base64 dapat mendekodekannya dalam hitungan detik. Jangan pernah gunakan Base64 sebagai pengganti enkripsi, hashing, atau kontrol akses.
✕
Tidak untuk Kompresi
Base64 meningkatkan ukuran output sekitar 33%. Ini kebalikan dari kompresi. Jangan gunakan untuk mengurangi ukuran payload — gunakan gzip, Brotli, atau zstd.
✕
Tidak untuk Penyimpanan File Biner
Menyimpan file biner besar sebagai Base64 di database atau API JSON menghabiskan banyak penyimpanan dan memori. Gunakan object storage (S3, R2, Cloudflare) dan sajikan biner secara langsung.
Contoh Kode
Cara mengenkode string ke Base64 dalam bahasa dan lingkungan yang populer:
JavaScript (browser)
// Standard Base64
const encoded = btoa(unescape(encodeURIComponent(text)))
// URL-safe Base64 (no padding)
const urlSafe = btoa(unescape(encodeURIComponent(text)))
.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '')
Ada beberapa encoder Base64 online. Pembeda utama untuk penggunaan pengembang sehari-hari adalah privasi, ketepatan, dan dukungan varian.
Sepenuhnya Privat — Tanpa Server
Encoder ini berjalan sepenuhnya di browser Anda menggunakan API btoa native dan TextEncoder. Teks Anda tidak pernah dikirimkan ke server mana pun — aman untuk kunci API, token, dan rahasia.
Pengkodean Unicode yang Benar
Banyak alat Base64 online secara diam-diam merusak input non-ASCII. Alat ini menangani Unicode lengkap dengan benar — emoji, CJK, Arab, dan semua teks UTF-8 — dengan mengkodekan ke byte UTF-8 terlebih dahulu.
Kedua Varian dalam Satu Tempat
Sebagian besar alat hanya menawarkan Base64 standar. Encoder ini menyediakan varian standar (+/) dan URL-safe (-_) dengan penanganan padding otomatis — tidak perlu penggantian karakter manual.
Pertanyaan yang Sering Diajukan
Apakah Base64 sama dengan enkripsi?
Tidak. Base64 adalah skema enkoding, bukan enkripsi. Ini dapat dibalik secara sepele oleh siapa saja — tidak diperlukan kunci atau kata sandi untuk mendekodenya. Jangan pernah menggunakan Base64 untuk melindungi data sensitif. Gunakan enkripsi yang tepat (AES, RSA) untuk tujuan itu.
Mengapa keluaran Base64 berakhir dengan = atau ==?
Base64 bekerja dalam kelompok 3 byte (24 bit), menghasilkan 4 karakter Base64. Jika panjang masukan bukan kelipatan 3, karakter padding (=) ditambahkan agar panjang keluaran menjadi kelipatan 4. Satu = berarti grup terakhir memiliki 2 byte; dua = berarti memiliki 1 byte.
Apa itu URL-safe Base64?
URL-safe Base64 (didefinisikan dalam RFC 4648 §5) mengganti + dengan - dan / dengan _ sehingga string yang dikodekan dapat digunakan dalam URL, nama file, dan header HTTP tanpa persen-enkoding. Karakter padding = juga biasanya dihilangkan.
Berapa banyak Base64 meningkatkan ukuran file?
Enkoding Base64 meningkatkan ukuran sekitar 33%. Setiap 3 byte masukan menjadi 4 karakter keluaran. Untuk file 1 MB, keluaran Base64 akan sekitar 1,37 MB.
Bisakah saya mengenkode file biner dengan alat ini?
Alat ini mengenkode string teks (yang kemudian diperlakukan sebagai byte UTF-8). Untuk mengenkode file biner arbitrer (gambar, PDF, file yang dapat dieksekusi), gunakan pustaka bahasa atau alat CLI yang membaca byte mentah.
Apa perbedaan antara btoa() dan Buffer.from().toString('base64')?
btoa() adalah built-in browser yang bekerja pada string Latin-1; akan melempar error untuk karakter non-ASCII kecuali Anda mengenkodenya ke byte UTF-8 terlebih dahulu (menggunakan encodeURIComponent). Buffer.from(teks).toString('base64') di Node.js menangani string UTF-8 secara langsung dan merupakan pendekatan yang disukai di sisi server.
Apakah Base64 berfungsi dengan file biner?
Alat ini mengkodekan string teks sebagai byte UTF-8 ke Base64. Untuk file biner (gambar, PDF, file yang dapat dieksekusi), gunakan alat CLI atau library bahasa yang membaca byte mentah. Di browser, gunakan FileReader.readAsDataURL() yang mengembalikan data URI dengan konten biner yang dikodekan Base64.
Apakah ada batas ukuran untuk pengkodean?
Alat ini berjalan sepenuhnya di browser tanpa batas sisi server. Batas praktis bergantung pada memori browser Anda. Untuk input yang sangat besar (di atas beberapa MB), alat CLI seperti base64 (Linux/macOS) atau certutil -encode (Windows) lebih efisien.