RevealTheme logo

Encoder dan Decoder Base64

Encode string ke Base64 atau decode Base64 menjadi teks. Menghormati privasi Anda: berjalan di browser Anda.

Apa itu Base64 dan mengapa ada di mana-mana?

Base64 adalah skema encoding —bukan enkripsi— yang merepresentasikan data biner sembarang hanya dengan menggunakan 64 karakter ASCII yang dapat dicetak (A-Z, a-z, 0-9, ditambah +, / dan = sebagai padding). Base64 ada karena banyak protokol transportasi, format file, dan API hanya menerima teks atau memperlakukan byte tertentu secara khusus: email (SMTP dirancang untuk ASCII 7-bit), JSON (tidak dapat memuat byte mentah), URL (memiliki karakter yang dicadangkan), header HTTP (teks berorientasi baris), dan atribut HTML semuanya membutuhkan cara untuk mengangkut data biner melalui kanal teks. Base64 menyelesaikannya dengan mengelompokkan byte input menjadi kumpulan 3 (24 bit) dan meng-encode ulang setiap kumpulan menjadi 4 karakter Base64 (masing-masing 6 bit). Penalti ukurannya tepat 33%: setiap 3 byte menjadi 4 karakter. Alat ini meng-encode teks UTF-8 atau string Base64 ke arah mana pun, sepenuhnya di browser Anda. Alat ini menangani karakter UTF-8 multi-byte (emoji, abjad non-Latin) dengan benar, yang sering dirusak oleh implementasi Base64 naif yang menggunakan atob/btoa secara langsung.

Kasus penggunaan umum

  • Menyematkan gambar kecil langsung di CSS sebagai data: URL (menghilangkan satu permintaan HTTP untuk ikon mungil).

  • Mendekodekan payload dari JWT atau header Basic Auth untuk memeriksa isinya.

  • Mengodekan konten file biner untuk dimasukkan ke field JSON atau variabel lingkungan.

  • Memindahkan data biner melalui sistem yang tidak mempertahankan byte sembarang (email, salin/tempel).

  • Mendekodekan respons API atau payload webhook berenkode base64 saat melakukan debugging.

  • Mengonversi kredensial biner ke format ramah salin-tempel untuk serah terima operasi.

Pertanyaan yang sering diajukan

Apakah Base64 itu enkripsi?
Bukan. Base64 adalah encoding yang dapat dibalik: siapa pun dapat men-decode-nya secara instan tanpa kunci. Untuk kerahasiaan, gunakan enkripsi yang sebenarnya (AES-256, RSA, atau alat Enkripsi AES kami). Menganggap Base64 sebagai keamanan adalah kesalahan paling umum mengenainya.
Mengapa Base64 menambah ukuran ~33%?
Encoding memetakan 3 byte (24 bit) input ke 4 karakter (24 bit, karena setiap karakter Base64 merepresentasikan 6 bit). Beban ukuran ini melekat dan tidak terhindarkan. Untuk representasi biner yang lebih kecil, gunakan Base85 atau kirim biner mentah jika kanalnya mendukung.
Apa itu Base64 yang aman untuk URL?
Sebuah varian yang didefinisikan dalam RFC 4648 yang mengganti + dengan - dan / dengan _, sehingga outputnya aman untuk disertakan dalam path URL atau nama file tanpa percent-encoding. JWT menggunakan Base64 yang aman untuk URL. Banyak API menerima kedua varian tersebut.
Mengapa saya melihat '=' di akhir?
Itu adalah karakter padding. Base64 mengeluarkan output dalam kelompok 4 karakter; jika inputnya bukan kelipatan 3 byte, kelompok terakhir diisi dengan '=' hingga mencapai 4 karakter. Beberapa varian Base64 menghilangkan padding; keduanya di-decode dengan cara yang sama.
Apakah alat ini menangani emoji dan teks non-Latin?
Ya. Alat ini terlebih dahulu mengonversi teks menjadi byte UTF-8 lalu meng-encode byte tersebut ke Base64. Ini menghindari kesalahan klasik JavaScript di mana btoa() gagal pada karakter non-Latin1.
Di mana saya melihat Base64 dalam aplikasi nyata?
Di mana-mana: URL data: gambar dalam CSS, header Authorization: Basic, segmen JWT, tanda tangan URL bertanda tangan, URL prasign S3, sertifikat PKCS (format PEM), lampiran email (MIME), payload kode QR, dan secret bergaya .env pada platform deployment modern.

Alat terkait