Base64 decode dan encode online

Tempel teks Anda, pilih arah dan format, lalu salin hasilnya: alat ini mengubah teks ke Base64 atau Base64url dan sebaliknya – huruf beraksen dan emoji diproses dengan benar sebagai UTF-8 – serta melakukan URL encoding dengan tanda persen dalam tiga varian umum. Input yang tidak valid dilaporkan beserta posisinya.

Untuk decode, tempel teks Base64 atau teks ber-percent-encoding. Baris baru dalam Base64 diabaikan.

Teks Anda tetap di browser Anda – tidak dikirim, tidak disimpan, dan tidak ditambahkan ke bilah alamat.

Hasil

Hasil
U2FsYW0gZGFyaSBKYWthcnRhISDwn5GL
Ukuran
21 karakter = 24 byte UTF-8 → 32 karakter

Cara menghitung

Apa itu Base64?

Base64 menuliskan byte apa pun hanya dengan 64 karakter yang bisa dicetak (A–Z, a–z, 0–9, + dan /). Setiap 3 byte menjadi 4 karakter; jika di akhir tersisa byte, satu atau dua tanda sama dengan mengisi kekosongan (padding). Hasilnya sekitar sepertiga lebih panjang dari aslinya. Dengan begitu data biner bisa dikirim lewat saluran yang hanya menerima teks – lampiran email, data URL (data:image/png;base64,…), HTTP Basic Auth atau JSON.

Cara decode dan encode Base64

  1. Tempel teks atau string Base64 Anda ke kolom input.
  2. Pilih arah (encode atau decode) dan format: Base64, Base64url atau salah satu dari tiga URL encoding.
  3. Centang atau hapus centang “Tambahkan padding (=)” sesuai kebutuhan, lalu salin hasilnya.

Base64 bukan enkripsi. Siapa pun bisa mengembalikannya ke bentuk asli tanpa kunci. Jangan pernah mengandalkan Base64 untuk melindungi kata sandi atau data login.

Base64 vs. Base64url

Tanda plus dan garis miring punya arti khusus di URL dan nama file. Karena itu Base64url (RFC 4648 § 5) menggantinya dengan tanda minus dan garis bawah, dan biasanya tanpa padding – JSON Web Token (JWT) di-encode dengan cara ini. Contoh: byte FB FF menjadi +/8= di Base64 dan -_8 di Base64url.

Mengapa UTF-8 penting

Base64 meng-encode byte, bukan huruf. Karena itu alat ini lebih dulu mengubah teks Anda ke UTF-8: “é” menjadi dua byte, emoji empat byte. Fungsi bawaan browser btoa() tidak bisa melakukannya dan menghasilkan error untuk karakter di luar Latin-1. Jika byte hasil decode bukan teks UTF-8 yang valid, alat ini menampilkannya sebagai nilai heksadesimal.

URL encoding: tiga varian

Setiap karakter di luar set yang diizinkan ditulis sebagai % diikuti dua digit heksadesimal per byte UTF-8 (RFC 3986 § 2.1): spasi = %20, é = %C3%A9.

Semua konversi berjalan di browser Anda. Input Anda tidak dikirim, tidak disimpan dan tidak ditulis ke bilah alamat.

Pertanyaan umum

Apa itu Base64 decode?

Base64 decode berarti mengubah kode Base64 kembali ke data aslinya. Pilih “Decode” dan format “Base64”, lalu tempel kodenya – teks asli langsung muncul. Jika kode berisi - dan _, itu Base64url; pilih format tersebut.

Apakah Base64 termasuk enkripsi?

Tidak. Base64 hanya cara lain menuliskan data yang sama dan bisa dibalik tanpa kunci. Untuk melindungi data Anda butuh enkripsi sungguhan, dan untuk kata sandi sebuah password hash.

Bagaimana cara decode gambar Base64?

String gambar biasanya diawali data:image/png;base64,. Bagian setelah koma adalah data gambar. Jika Anda men-decode-nya di sini, hasilnya bukan teks, sehingga alat ini menampilkannya sebagai byte heksadesimal.

Mengapa Base64 sering diakhiri = atau ==?

Base64 bekerja dalam kelompok 3 byte. Jika di akhir tersisa 1 atau 2 byte, hasilnya diberi == atau = agar panjangnya kelipatan 4. Base64url biasanya tanpa padding ini.

Apa beda encodeURI dan encodeURIComponent?

encodeURI untuk alamat lengkap dan membiarkan / ? & = #. encodeURIComponent ikut meng-encode karakter itu dan tepat untuk nilai parameter – jika tidak, tanda & di dalam nilai akan memecah URL.

Seberapa besar file bertambah dalam Base64?

Sekitar 4/3 dari ukuran asli: 3 byte menjadi 4 karakter. Gambar 300 KB menjadi kira-kira 400 KB dalam Base64, sedikit lebih dengan baris baru MIME.

Sumber dan dasar hukum

Diperbarui:

Alat terkait