Cara menggunakan
- Pilih Enkode atau Dekode di bagian atas alat.
- Ketik atau tempel teks Anda, atau klik Buka file untuk mengenkode file apa pun.
- Sesuaikan Varian (standar atau aman untuk URL), Padding, Bungkus baris, atau Pengodean teks bila perlu. Hasilnya diperbarui saat Anda mengetik.
- Salin hasilnya, unduh, atau tekan tombol Tukar masukan dan keluaran untuk memprosesnya kembali ke arah sebaliknya.
Apa itu Base64?
Base64 adalah pengodean biner-ke-teks yang merepresentasikan urutan byte apa pun dengan 64 karakter ASCII yang dapat dicetak: A-Z, a-z, 0-9, +, dan /, dengan = sebagai padding. Berkat Base64, data biner seperti gambar, kunci, atau file terkompresi dapat dikirim dengan aman melalui sistem yang dirancang untuk teks, seperti email, JSON, XML, URL, dan HTML.
Encoder membaca masukan tiga byte (24 bit) sekaligus dan membaginya menjadi empat kelompok 6 bit. Setiap nilai 6 bit, dari 0 hingga 63, memilih satu karakter dari alfabet. Jika panjang masukan bukan kelipatan tiga, kelompok terakhir diberi padding berupa satu atau dua tanda =. Akibatnya, keluaran Base64 selalu sekitar 33% lebih besar daripada data aslinya.
Base64 adalah pengodean, bukan enkripsi. Siapa pun dapat mendekodenya, jadi jangan pernah menggunakannya untuk menyembunyikan kata sandi atau data rahasia.
Base64 dan Base64URL
Base64 standar menggunakan + dan /, yang memiliki arti khusus di URL dan nama file. Base64URL, yang didefinisikan dalam RFC 4648 bagian 5, menggantinya dengan - dan _ serta biasanya menghilangkan padding. Varian ini dipakai oleh JSON Web Token, OAuth, dan di mana pun sebuah nilai harus diletakkan di dalam URL. Decoder di halaman ini menerima kedua bentuk tersebut secara otomatis.
| Base64 standar | Base64URL | |
|---|---|---|
| Karakter 62 dan 63 | + / | - _ |
| Padding | = wajib | Opsional, biasanya dihilangkan |
| Aman di URL dan nama file | Tidak | Ya |
| Penggunaan umum | Email (MIME), data URI, JSON, kunci PEM | JWT, OAuth, parameter URL |
Penggunaan umum Base64
- Lampiran email. MIME mengenkode lampiran sebagai Base64 yang dibungkus 76 karakter per baris. Gunakan opsi Bungkus baris untuk menghasilkan format ini.
- Menyematkan gambar dan file. Data URI memasukkan gambar kecil, font, atau ikon langsung ke dalam HTML dan CSS. Lihat Gambar ke Base64 dan Base64 ke Gambar.
- API dan konfigurasi. JSON tidak memiliki tipe biner, sehingga API mengirim file, tanda tangan, dan kunci sebagai string Base64. Kubernetes Secrets juga menyimpan nilainya dalam Base64.
- Autentikasi. Autentikasi HTTP Basic mengirim
username:passwordsebagai Base64, dan JSON Web Token terdiri dari tiga segmen Base64URL. - Sertifikat dan kunci. File PEM berisi data DER yang dienkode Base64 dan dibungkus 64 karakter per baris.
Base64 dalam bahasa pemrograman
| Bahasa | Enkode | Dekode |
|---|---|---|
| JavaScript (browser) | btoa(binaryString) | atob(base64) |
| Node.js | Buffer.from(str).toString('base64') | Buffer.from(b64, 'base64').toString() |
| Python | base64.b64encode(data) | base64.b64decode(data) |
| PHP | base64_encode($str) | base64_decode($b64) |
| Java | Base64.getEncoder().encodeToString(bytes) | Base64.getDecoder().decode(b64) |
| C# | Convert.ToBase64String(bytes) | Convert.FromBase64String(b64) |
| Go | base64.StdEncoding.EncodeToString(b) | base64.StdEncoding.DecodeString(s) |
| Shell | base64 file.bin | base64 -d file.txt |
Di browser, btoa hanya menerima karakter hingga U+00FF. Untuk mengenkode teks Unicode, ubah dulu teks tersebut menjadi byte UTF-8, misalnya dengan TextEncoder, atau gunakan alat ini, yang secara default mengenkode teks sebagai UTF-8.
Lebih dari sekadar Base64
Base64.is juga mencakup anggota keluarga Base-N lainnya: Base32, Base58, Base62, Base85, Ascii85, basE91, Base45, hex, dan biner. Jika Anda tidak yakin pengodean apa yang dipakai sebuah string, coba pendeteksi pengodean, atau bandingkan semuanya sekaligus dengan Semua Pengodean.
Spesifikasi
| Alfabet | A-Z a-z 0-9 + / |
|---|---|
| Ukuran keluaran | 4 karakter per 3 byte (sekitar 133%) |
| Padding | Diisi = hingga kelipatan 4 karakter |
| Standar | RFC 4648 bagian 4 |
| Peka huruf besar-kecil | Ya |
Contoh
| Masukan (UTF-8) | Keluaran |
|---|---|
Hello, World! | SGVsbG8sIFdvcmxkIQ== |
Base64.is | QmFzZTY0Lmlz |
你好 | 5L2g5aW9 |
Pertanyaan yang sering diajukan
Apakah data saya diunggah ke server?
Tidak. Proses enkode dan dekode berjalan sepenuhnya di browser Anda dengan JavaScript. Teks dan file yang Anda masukkan tidak pernah meninggalkan perangkat Anda, dan alat ini tetap berfungsi secara offline setelah halaman selesai dimuat.
Mengapa teks hasil dekode terlihat kacau?
Apa arti tanda sama dengan di bagian akhir?
Itu adalah padding. Base64 bekerja dalam blok empat karakter, dan = mengisi blok terakhir jika panjang masukan bukan kelipatan tiga byte. Satu = berarti blok terakhir mengenkode dua byte, sedangkan dua = berarti blok itu hanya mengenkode satu byte.
Seberapa besar data bertambah setelah dienkode?
Base64 mengubah setiap 3 byte menjadi 4 karakter, sehingga keluarannya sekitar 33% lebih besar daripada masukan, ditambah jeda baris jika Anda mengaktifkan bungkus baris.
Apakah Base64 termasuk enkripsi?
Tidak. Base64 hanya mengubah cara data direpresentasikan. Base64 tidak memiliki kunci dan siapa pun dapat mendekodenya, jadi gunakan enkripsi sungguhan seperti AES atau TLS untuk melindungi informasi sensitif.