Decode sebuah kata sederhana
SGVsbG8gV29ybGQ=
Hello World
Tanda = di akhir adalah padding karena Hello World berukuran 11 byte, yang bukan kelipatan 3. Proses decode selalu menghapusnya dengan benar.
Encode atau decode string dan file Base64 secara instan.
Terakhir diperbarui
Coddy mengajarimu dengan menulis kode sungguhan di browser: pelajaran interaktif, umpan balik instan, dan bantuan AI saat kamu buntu.
Base64 adalah skema encoding yang merepresentasikan data biner dengan 64 karakter yang bisa dicetak. Developer memakainya setiap kali sistem yang hanya menerima teks perlu membawa byte: gambar kecil yang disematkan di HTML, token, lampiran email, data URL, secret yang bisa disalin dari log, dan field JSON yang menyimpan blob biner.
Base64 adalah *encoding*, bukan enkripsi. Men-decode string Base64 biasanya langsung memperlihatkan isi aslinya, jadi Base64 tidak boleh dianggap sebagai pengaman. Apa pun di dalam Base64 pada dasarnya publik, kecuali sudah dienkripsi *sebelum* di-encode.
Di baliknya, Base64 mengambil 3 byte (24 bit) lalu menulisnya ulang sebagai 4 karakter dari alfabet tetap berisi 64 karakter (A sampai Z, a sampai z, 0 sampai 9, +, /). Ketika panjang input bukan kelipatan 3, encoder menambahkan satu atau dua karakter = di akhir sebagai padding. Itulah sebabnya string Base64 sering berakhir dengan =.
= melengkapi kelompok 4 karakter terakhir dan wajar ada di banyak string Base64.+ dan /) dan Base64URL (memakai - dan _ sehingga aman di URL dan JWT).Pilih Encode kalau kamu punya teks biasa atau file dan ingin output Base64. Pilih Decode kalau kamu punya string Base64 dan ingin isi aslinya kembali.
Tempel string ke kotak teks, atau seret file (gambar, PDF, apa saja) ke area drop. File diubah menjadi URL data: yang siap disematkan di HTML atau CSS.
Output encode adalah string Base64. Output decode adalah teks aslinya, atau kalau input-nya file, byte yang dipulihkan ditampilkan sebagai tautan unduhan.
Klik tombol salin untuk menaruh hasilnya di clipboard. Semuanya berjalan di browser-mu, jadi input-mu tidak pernah meninggalkan perangkatmu.
Bagian-bagian yang akan terus kamu temui begitu mulai bekerja dengan Base64, didefinisikan oleh RFC 4648.
| Elemen | Arti | Contoh |
|---|---|---|
| Alfabet | 64 karakter yang dipakai Base64 standar | A–Z, a–z, 0–9, +, / |
| Alfabet aman untuk URL | Dipakai oleh JWT dan URL | A–Z, a–z, 0–9, -, _ |
| Padding | Melengkapi kelompok terakhir saat panjangnya bukan kelipatan 3 | = atau == |
| Ukuran kelompok | Byte per potongan yang di-encode → 4 karakter output | 3 byte → 4 karakter |
| Pertambahan panjang | Output sekitar 33% lebih besar dari input | 100 B → 136 karakter |
| Data URL | Penyematan file langsung untuk HTML/CSS | data:image/png;base64,... |
SGVsbG8gV29ybGQ=
Hello World
Tanda = di akhir adalah padding karena Hello World berukuran 11 byte, yang bukan kelipatan 3. Proses decode selalu menghapusnya dengan benar.
{"role":"student","active":true}eyJyb2xlIjoic3R1ZGVudCIsImFjdGl2ZSI6dHJ1ZX0=
Token JWT meng-encode setiap segmennya persis seperti ini. Itulah sebabnya payload JWT biasanya diawali eyJ, yaitu bentuk Base64 dari {".
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgAAIAAAUAAen8GVAAAAAASUVORK5CYII=
Awalannya menyatakan tipe media (image/png) dan encoding-nya (base64). Semua yang ada setelah koma adalah isi file. Berguna untuk gambar mungil yang dimuat bersama halaman.
Pj4/Pyc+Pg==
Pj4_Pyc-Pg
Base64 yang aman untuk URL menukar + dengan - dan / dengan _ supaya nilainya bisa berada di dalam URL tanpa perlu di-escape lagi. JWT memakai varian ini.
= secara manual lalu memberikan hasilnya ke decoder ketat yang mengharapkannya. (Decoder aman untuk URL biasanya menerima padding yang hilang; decoder standar belum tentu.)Base64 adalah encoding yang merepresentasikan data biner sebagai teks yang bisa dicetak memakai alfabet 64 karakter. Base64 dipakai di mana pun byte perlu melewati sistem yang hanya menerima teks: API, JSON, JWT, email, dan data URL.
= ditambahkan sebagai padding.atob() di browser, Buffer.from(str, 'base64') di Node.js, dan base64.b64decode() di Python.Tidak. Base64 adalah encoding, bukan enkripsi. Base64 dirancang untuk representasi dan pengiriman, bukan untuk kerahasiaan. Kalau kamu butuh kerahasiaan, enkripsi datanya dulu, lalu encode ciphertext-nya ke Base64.
=?= adalah padding. Base64 menghasilkan 4 karakter untuk setiap 3 byte input. Ketika panjang input bukan kelipatan 3, satu atau dua = ditambahkan supaya panjang hasil encode tetap kelipatan 4.data:image/png;base64,..., sehingga gambar tersemat langsung di HTML, CSS, atau JSON tanpa request jaringan terpisah.