# Encoder dan decoder Base64

Enkode teks ke Base64 atau dekode Base64 kembali ke teks, dengan alfabet standar dan URL-safe.

https://codeknife.dev/id/enkode-dekode-base64/

## Fungsinya

Base64 mengubah byte apa pun menjadi teks biasa yang terdiri dari 64 karakter aman, sehingga data biner bisa melewati sistem yang hanya menangani teks: isi email, field JSON, URL, data URI, dan header HTTP. Alat ini mengenkode teks ke Base64 dan mendekode Base64 kembali ke teks, sepenuhnya di browser Anda.

## Cara memakainya

1. Pilih **Enkode** atau **Dekode**.
2. Ketik atau tempel teks Anda, atau jatuhkan file ke kolom input.
3. Pilih alfabet **Standar** (`+` dan `/`) atau **URL-safe** (`-` dan `_`), dan tentukan apakah padding `=` ditambahkan.
4. Salin hasilnya, atau kirim langsung ke alat lain.

Aktifkan opsi per baris untuk mengonversi setiap baris sendiri-sendiri, misalnya daftar nilai yang sudah dienkode.

## Contoh

Mengenkode `Hello, world!` menghasilkan:

```
SGVsbG8sIHdvcmxkIQ==
```

Byte yang sama dalam alfabet URL-safe tanpa padding:

```
SGVsbG8sIHdvcmxkIQ
```

## Perlu diketahui

- Base64 adalah encoding, bukan enkripsi: siapa pun bisa mendekodenya.
- Hasilnya sekitar sepertiga lebih besar dari input (setiap 3 byte menjadi 4 karakter).
- Teks dikonversi sebagai UTF-8 secara default. Jika teks hasil dekode menampilkan karakter aneh, pilih charset yang dipakai saat teks itu ditulis.
- JSON Web Token memakai alfabet URL-safe tanpa padding.

## Apa itu Base64?

Base64 merepresentasikan data biner dengan 64 karakter yang dapat dicetak, sehingga bisa melewati sistem yang hanya menerima teks, seperti isi email, field JSON, dan data URL. Setiap 3 byte menjadi 4 karakter, sehingga hasilnya sekitar 33% lebih besar.

## Pertanyaan yang sering diajukan

### Kapan sebaiknya saya memakai alfabet URL-safe?

Pakai saat hasilnya akan masuk ke URL atau nama file. Alfabet ini mengganti + dan / dengan - dan _. JWT memakainya tanpa padding.

### Mengapa teks hasil dekode saya menampilkan karakter aneh?

Teksnya kemungkinan dienkode dengan charset yang berbeda dari yang dipilih. Coba ISO-8859-1, atau pastikan datanya berupa teks dan bukan file.

### Apakah Base64 itu enkripsi?

Bukan. Siapa pun bisa mendekode Base64, jadi tidak ada yang tersembunyi. Pakai untuk mengangkut data, bukan untuk melindunginya.