Apa Itu Base64?
Base64 adalah cara menuliskan data apa pun, baik teks, gambar, maupun file utuh, hanya dengan 64 karakter aman: A–Z, a–z, 0–9, + dan /, dengan = sebagai padding di bagian akhir (didefinisikan dalam RFC 4648). Base64 ada agar data biner bisa melewati sistem yang dibuat untuk teks biasa, seperti email, JSON, HTML, dan header HTTP.
Setiap 3 byte input menjadi 4 karakter Base64, sehingga data hasil encode sekitar 33% lebih besar daripada aslinya. Misalnya, teks Hi menjadi SGk=. Anda akan menjumpai Base64 di lampiran email, URI gambar data: di HTML dan CSS, respons API yang membawa file, JSON Web Token, dan header autentikasi HTTP Basic.

Cara Decode Base64
Tempelkan ke kotak Decode. Jeda baris, spasi, prefix data:...;base64,, karakter URL-safe (- dan _), dan padding = yang hilang semuanya ditangani.
Jika datanya berupa teks, teks UTF-8 hasil decode langsung muncul, siap disalin.
Jika datanya berupa file, decoder mengenali formatnya dari byte-byte pertamanya: gambar ditampilkan pratinjaunya, sedangkan PDF, ZIP, dan file lain bisa diunduh.
Advertisement
Cara Encode Teks atau File ke Base64
Ketik atau tempel teks di tab Encode. Teks di-encode sebagai UTF-8, sehingga huruf beraksen, aksara Asia, dan emoji tetap utuh saat di-encode lalu di-decode kembali.
Centang URL-safe untuk Base64URL (dipakai di URL dan JWT), atau pecah baris per 76 karakter untuk isi email MIME.
Di tab File ke Base64, seret file apa pun hingga 10 MB. Salin Base64 mentahnya atau data URI siap pakai seperti data:image/png;base64,... untuk menyematkannya di HTML atau CSS.
Base64 ke Gambar dan Base64 ke PDF
Base64 sering membungkus sebuah file: gambar yang disematkan di halaman web atau email, atau PDF yang dikembalikan oleh API. Decoder memeriksa byte-byte pertama, yang dikenal sebagai magic number, untuk mengetahui jenis file tersebut: gambar PNG, JPEG, GIF, WebP, dan SVG mendapat pratinjau langsung, sedangkan file PDF, ZIP, GZIP, MP3, dan MP4 mendapat tombol unduh. PDF juga bisa dibuka di tab baru.
Untuk arah sebaliknya, gambar ke Base64 bisa dilakukan di tab File ke Base64: seret gambarnya ke sana, lalu salin data URI-nya.
Advertisement
Varian Base64: Standar, URL-Safe, MIME, dan Data URI
Memakai + dan / dengan padding =. Bawaan di sebagian besar library dan API.
Mengganti + dan / dengan - dan _ serta biasanya menghilangkan padding, sehingga hasilnya bisa dipakai di URL atau nama file. JSON Web Token menggunakannya.
Base64 standar yang dipecah menjadi baris-baris berisi 76 karakter, seperti yang dipakai untuk lampiran email.
Base64 dengan prefix yang menyebutkan jenis file, seperti data:image/png;base64,, sehingga browser bisa menampilkannya secara inline.
Base64 Adalah Encoding, Bukan Enkripsi
Base64 membuat data aman untuk dikirim, bukan membuatnya rahasia. Siapa pun bisa men-decode-nya dalam sedetik, termasuk dengan alat ini:
Jangan pernah memakai Base64 untuk menyembunyikan kata sandi atau kunci. Header autentikasi HTTP Basic hanyalah
user:passworddalam Base64, itulah sebabnya header ini hanya boleh dikirim lewat HTTPS. Periksa sertifikat sebuah situs dengan pemeriksa SSL.Payload JWT bisa dibaca. Bagian tengah JSON Web Token adalah JSON yang di-encode dengan Base64URL, sehingga siapa pun yang memegang token bisa membaca klaim di dalamnya.
Decode di sini bersifat privat. Alat ini berjalan sepenuhnya di browser Anda; data yang Anda tempel atau unggah tidak pernah sampai ke server kami.
Butuh kerahasiaan sungguhan? Gunakan enkripsi yang tepat, dan buat rahasia yang kuat dengan pembuat kata sandi.
Advertisement
Base64 di JavaScript, Python, dan Command Line
Setiap bahasa pemrograman sudah punya Base64 bawaan. Ingat untuk meng-encode teks sebagai UTF-8 terlebih dahulu, atau karakter non-Inggris akan rusak.
// Encode UTF-8 text
const b64 = btoa(String.fromCharCode(...new TextEncoder().encode('héllo'))) // 'aMOpbGxv'
// Decode back to text
const text = new TextDecoder().decode(Uint8Array.from(atob(b64), (c) => c.charCodeAt(0)))import base64
b64 = base64.b64encode('héllo'.encode()).decode() # 'aMOpbGxv'
text = base64.b64decode(b64).decode() # 'héllo'
url_safe = base64.urlsafe_b64encode(b'\xfb\xff\xbf') # b'-_-_'echo -n 'hello' | base64 # aGVsbG8=
echo 'aGVsbG8=' | base64 --decode # hello
base64 -w 0 image.png > image.txt # Linux: one line, no wrapping[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('hello')) # aGVsbG8=
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('aGVsbG8=')) # helloAlat Encoding dan Teks Lainnya
Konverter lain untuk bekerja dengan teks dan data: