๐Ÿ”งToolify

Encoder / Decoder Base64 (UTF-8 dan URL-safe)

Ketik teks apa pun atau tempel string Base64 untuk mengonversi ke kedua arah. Menangani UTF-8 (termasuk emoji dan CJK) dan mendukung varian URL-safe yang digunakan dalam JWT dan OAuth.

Hasil encode
 

Cara kerjanya

Apa itu Base64 dan apa bukan

Base64 mengenkode byte arbitrer menggunakan alfabet 64 karakter (A-Z, a-z, 0-9, +, /, dengan padding =). Ini adalah cara standar untuk menyematkan data biner โ€” byte gambar, blob terenkripsi, token yang ditandatangani โ€” ke dalam format hanya teks seperti JSON, HTML, atau header email. Output sekitar 33% lebih besar dari input.

Base64 adalah encoding, bukan enkripsi. Siapa pun dapat mendecode string Base64 kembali ke byte aslinya. Jangan gunakan untuk menyembunyikan rahasia โ€” gunakan algoritma enkripsi nyata jika Anda membutuhkan kerahasiaan.

URL-safe vs standar

Base64 standar menyertakan '+' dan '/', yang memiliki makna khusus dalam URL dan perlu di-percent-encode. Base64 URL-safe (RFC 4648 ยง5) mengganti '+' dengan '-', '/' dengan '_', dan menghapus padding '=' di akhir. JWT, token OAuth, dan banyak API web menggunakan bentuk URL-safe.

Jika mendecode JWT atau token secara manual, aktifkan URL-safe. Jika bekerja dengan email klasik atau data yang disematkan dalam PDF, biarkan nonaktif. Decoder menerima kedua bentuk saat URL-safe aktif, karena alfabet standar adalah superset minus pasangan khusus.

Penanganan UTF-8

btoa() browser lama hanya dapat menangani ASCII. Alat ini menggunakan TextEncoder untuk mengonversi input Anda ke byte UTF-8 terlebih dahulu, lalu meng-encode byte tersebut dengan Base64. Artinya emoji, karakter CJK, Latin beraksen, dan Unicode lainnya semuanya di-encode dan round-trip dengan benar. Pendekatan bytes-then-base64 sama dengan yang digunakan oleh library JWT dan sebagian besar framework modern.

Pertanyaan umum

โ€บApakah Base64 adalah enkripsi?

Tidak. Ini adalah cara untuk mengenkode biner sebagai teks ASCII. Siapa pun dapat mendekodenya. Gunakan enkripsi nyata (AES, RSA, dll.) untuk kerahasiaan.

โ€บMengapa URL-safe berbeda?

Base64 standar menggunakan '+' dan '/' yang memiliki makna khusus dalam URL dan perlu di-percent-encode. Base64 URL-safe mengganti '-' dan '_' untuk menghindari itu.

โ€บBisakah saya mendecode tanda tangan JWT?

Mendecode tanda tangan memberikan Anda byte mentah dari tanda tangan, tetapi itu dimaksudkan untuk verifikasi, bukan dibaca manusia. Decode header dan payload JWT (dua segmen pertama) untuk melihat datanya.

โ€บApakah ini bekerja untuk file biner?

Tidak langsung โ€” tempel teks saja. Untuk file, gunakan alat yang mendukung biner. (Sebagian besar browser memiliki pasangan atob/btoa bawaan yang dapat Anda gunakan di DevTools untuk file kecil.)

โ€บMengapa teks yang saya decode kacau?

Entah inputnya bukan Base64 valid, atau itu mengenkode byte non-UTF-8 (mis., file Latin-1). Verifikasi encoding asli. Alat yang mendecode 'sebagai teks' mengasumsikan UTF-8.

โ€บApakah data dikirim ke mana pun?

Tidak. Encoding dan decoding berjalan sepenuhnya di browser Anda.

โ€บBerapa overhead ukurannya?

Sekitar 33% lebih besar dari byte sumber (setiap 3 byte input menjadi 4 karakter output). URL-safe tanpa padding memiliki overhead yang sama.

โ€บMengapa padding penting?

Base64 standar menambahkan '=' di akhir sehingga panjangnya adalah kelipatan 4. Versi URL-safe sering melewati ini karena tidak diperlukan untuk decoding.

Alat terkait

Terakhir diperbarui:

Coba prompt AI kami โ†’