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.
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
- Tempel teks atau string Base64 Anda ke kolom input.
- Pilih arah (encode atau decode) dan format: Base64, Base64url atau salah satu dari tiga URL encoding.
- 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
- Bagian URL (
encodeURIComponent): meng-encode semua kecuali A–Z, a–z, 0–9 dan- _ . ! ~ * ' ( )– termasuk/ ? & = #. Tepat untuk nilai tunggal, misalnya kata pencarian di?q=…. - URL lengkap (
encodeURI): mempertahankan karakter yang punya arti khusus (: / ? # & = +…) dan hanya meng-encode spasi, huruf beraksen dan sejenisnya. Untuk tautan lengkap yang harus tetap berfungsi. - Data formulir (
application/x-www-form-urlencoded): cara formulir HTML mengirim data. Spasi menjadi+, dan! ' ( ) ~juga di-encode. Saat decode,+kembali menjadi spasi.
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
- RFC 4648: RFC 4648 – The Base16, Base32, and Base64 Data Encodings (§ 4 Base64, § 5 Base64url, § 3.2 Padding)
- RFC 3986: RFC 3986 – Uniform Resource Identifier (URI): Generic Syntax (§ 2.1 Percent-Encoding, § 2.2 Reserved Characters)
- WHATWG URL Standard – application/x-www-form-urlencoded
- MDN Web Docs – encodeURIComponent()
- MDN Web Docs – encodeURI()
- MDN Web Docs – Base64 (Unicode problem, TextEncoder)
Diperbarui:
Alat terkait
- Hash generator: SHA-256, SHA-512, SHA-1, MD5Hitung hash SHA-256, SHA-384, SHA-512, SHA-1 dan MD5 dari teks atau file dan cocokkan checksum – langsung di browser, tanpa upload, gratis.
- Regex TesterRegex tester online untuk JavaScript: kecocokan disorot langsung, grup tangkapan dalam tabel, dan setiap bagian pola dijelaskan. Gratis, tanpa unggah.
- JSON formatter, validator, dan minifyJSON formatter online: validasi JSON sesuai RFC 8259, lihat error lengkap dengan baris, kolom, dan penjelasannya. Rapikan, minify, urutkan key – di browser.
- UUID generator: buat dan validasi UUID v4 dan v7UUID generator online: buat UUID versi 4 (acak) atau versi 7 (urut waktu), hingga 1.000 sekaligus. Validasi UUID dan baca versi, varian serta waktunya.
- Generator passwordBuat password acak yang kuat dan passphrase yang mudah diingat, lengkap dengan entropi dalam bit – dihitung di browser Anda, tidak dikirim dan tidak disimpan.
- Cek dan hitung check digit dengan algoritma LuhnValidasi nomor dengan algoritma Luhn (mod 10, ISO/IEC 7812-1) atau hitung check digit-nya – hanya cek format, berjalan sepenuhnya di browser Anda.