# Base64 encode dan decode

> Encode & decode teks ke Base64 secara instan. Mendukung karakter UTF-8 dan format URL-safe, langsung di browser Anda. Gratis, tanpa registrasi.

URL: https://acrafto.com/id/konverter-base64-online/

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

Apakah Anda perlu mengonversi teks yang dapat dibaca ke format Base64 untuk digunakan dalam header HTTP, atau sebaliknya, memecahkan isi token API? **Encoder & Dekoder Teks Base64** kami adalah alat khusus untuk bekerja dengan string teks, yang dapat menangani seluk-beluk seperti diakritik atau karakter khusus.

> **Apakah Anda bekerja dengan gambar?**  
> Jika kode Anda dimulai dengan `data:image/png...` atau Anda ingin mengonversi file ke teks, alat ini hanya akan menampilkan karakter yang tidak masuk akal. Gunakan alat khusus kami untuk konversi ke gambar.

## Bagaimana Format Base64 Bekerja?

Banyak orang menggunakan Base64 setiap hari, tetapi sedikit yang tahu bagaimana cara kerjanya “di balik layar”. Ini bukan sihir, melainkan matematika sederhana dengan bit.

Teks biasa di komputer disimpan sebagai 8 bit (1 byte). Namun, Base64 menggunakan “alfabet” yang terdiri dari 64 karakter (`A-Z`, `a-z`, `0-9`, `+`, `/`). Karena `2^6 = 64`, satu karakter Base64 mewakili tepat **6 bit** informasi.

**Proses Konversi (Algoritma):**

1. Tiga karakter dari teks Anda diambil (3 × 8 bit = 24 bit).
2. 24 bit ini dibagi menjadi empat kelompok masing-masing 6 bit.
3. Setiap kelompok diberi karakter dari tabel Base64.

**Implikasi:** Karena kita mengubah 3 karakter menjadi 4 karakter, string Base64 yang dihasilkan selalu kira-kira **33% lebih panjang** dari teks aslinya.

## Masalah Kumpulan Karakter: Mengapa Konverter Base64 Umum Merusak Karakter Bahasa Ceko?

Jika Anda pernah mencoba mengkodekan kata “Kůň” di konsol browser menggunakan fungsi `btoa('Kůň')`, Anda mungkin mendapatkan kesalahan: *String contains characters outside of the Latin1 range.*

Base64 awalnya dirancang untuk karakter ASCII 7-bit. Namun, karakter bahasa Ceko, emoji, dan simbol khusus lainnya (UTF-8) menempati lebih banyak byte dalam memori (multibyte characters).

- Huruf `a` = 1 byte.
- Huruf `ř` = 2 byte.
- Emoji 🚀 = 4 byte.

Alat kami mengatasi masalah ini. Sebelum pengodean Base64 yang sebenarnya, teks akan kami konversi dengan benar menjadi urutan byte UTF-8. Berkat ini, Anda dapat dengan aman mengodekan objek JSON, teks bahasa Ceko, dan simbol modern tanpa risiko kerusakan data.

## Di Mana Pengodean Teks Base64 Digunakan?

Sementara gambar dalam Base64 terutama digunakan untuk penyisipan ke dalam CSS/HTML, teks Base64 memiliki kegunaan yang sama sekali berbeda dalam sistem backend:

### 1\. HTTP Basic Authentication

Ketika Anda masuk ke API, header sering terlihat seperti ini: `Authorization: Basic cGVuZ2d1bmE6c2FuZGk=` Di balik kode ini terdapat nama pengguna dan kata sandi yang digabungkan sederhana dalam format `pengguna:sandi`. Alat kami memungkinkan Anda dengan mudah membuat atau memeriksa header ini.

### 2\. JSON Web Tokens (JWT)

Aplikasi web modern menggunakan apa yang disebut JWT untuk login. Token semacam itu terlihat seperti tiga string panjang yang dipisahkan oleh titik. Bagian data (Payload) adalah objek JSON biasa yang dikodekan dalam Base64.

- **Tip:** Coba masukkan bagian tengah token JWT Anda di sini dan dekode. Anda akan melihat data persis apa yang dicatat aplikasi tentang Anda (misalnya, ID pengguna, kedaluwarsa).

### 3\. File Konfigurasi (Kubernetes Secrets)

Platform seperti Kubernetes menyimpan data rahasia (Secrets) dalam file YAML konfigurasi dalam Base64. Ini bukan enkripsi, tetapi cara untuk menyimpan data biner atau teks dengan karakter bermasalah (baris baru, tanda kutip) dalam file teks.

## Apa itu “URL Safe Base64 Encoding” dan Mengapa Itu Penting?

Alfabet Base64 standar berisi karakter `+` (plus) dan `/` (garis miring). Kedua karakter ini memiliki arti khusus dalam alamat URL:

- `/` memisahkan direktori.
- `+` sering diinterpretasikan sebagai spasi.

Jika Anda mengirim Base64 standar dalam parameter URL (misalnya, `site.com?token=ab/cd+ef`), server dapat salah membaca data.

**Solusi (Mode URL Safe):** Tombol kami mengaktifkan varian **Base64URL** (sesuai RFC 4648), yang melakukan perubahan ini:

- `+` diubah menjadi `-` (tanda hubung).
- `/` diubah menjadi `_` (garis bawah).
- Di akhir, karakter `=` (padding) dihapus, karena tidak diperlukan dalam URL.

---

## Mitos: Base64 Bukan Enkripsi!

Penting untuk memahami perbedaan mendasar yang sering dikacaukan oleh pemula:

1. **Pengodean (Encoding - Base64):** Digunakan untuk transfer data. Ini seperti mengemas barang ke dalam koper agar tidak rusak dalam perjalanan. Siapa pun yang menemukan koper itu dapat membukanya (mendekode) dan melihat isinya. **Ini tidak aman untuk data rahasia.**
2. **Enkripsi (Encryption - AES, RSA):** Mengunci data dengan kunci. Tanpa kunci, Anda tidak dapat mengakses konten.
3. **Hashing (Hashing - SHA, MD5):** Proses satu arah (misalnya, untuk menyimpan kata sandi). Teks asli tidak dapat diperoleh dari hasilnya.

*Jika Anda perlu mengirim kata sandi atau data sensitif, Base64 saja tidak cukup. Anda harus menggunakan HTTPS (SSL/TLS), yang akan mengenskripsi transmisi.*

---

## Pertanyaan yang Sering Diajukan (FAQ)

### Apa arti karakter "=" di akhir string?

Ini adalah "padding". Karena Base64 mengkodekan data dalam kelompok 3 karakter, panjang teks asli mungkin tidak dapat dibagi tiga. Karakter \`=\` ditambahkan di akhir agar dekoder tahu berapa banyak bit yang harus diabaikan di akhir.

### Mengapa teks yang didekodekan muncul sebagai "huruf acak"?

Anda mungkin mencoba mendekode data yang bukan teks. Jika string Base64 mewakili file terkompresi (ZIP), gambar, atau data terenkripsi, mengonversinya ke teks (UTF-8) tidak masuk akal. Coba cari tahu asal-usul data tersebut.

### Apakah alat ini berfungsi secara offline?

Ya. Semua logika konversi ditulis dalam JavaScript dan berjalan langsung di browser Anda. Setelah halaman dimuat, Anda dapat memutuskan koneksi internet dan alat ini akan tetap berfungsi. Data Anda tidak dikirim ke mana pun.

## Other languages

- Čeština (cs): [Base64 Encoder a Decoder](https://acrafto.com/cs/base64-decoder-encoder/) ([Markdown](https://acrafto.com/cs/base64-decoder-encoder/index.md))
- Slovenčina (sk): [Base64 kódovač a dekódovač](https://acrafto.com/sk/base64-kodovac-dekodovac-online/) ([Markdown](https://acrafto.com/sk/base64-kodovac-dekodovac-online/index.md))
- English (en): [Base64 Encoder and Decoder](https://acrafto.com/en/base64-encoder-decoder/) ([Markdown](https://acrafto.com/en/base64-encoder-decoder/index.md))
- Deutsch (de): [Base64 Encoder und Decoder](https://acrafto.com/de/base64-encoder-decoder-online/) ([Markdown](https://acrafto.com/de/base64-encoder-decoder-online/index.md))
- Français (fr): [Encodeur et décodeur Base64](https://acrafto.com/fr/encodeur-decodeur-base64/) ([Markdown](https://acrafto.com/fr/encodeur-decodeur-base64/index.md))
- Español (es): [Codificador y decodificador Base64](https://acrafto.com/es/codificador-base64-decodificador-online/) ([Markdown](https://acrafto.com/es/codificador-base64-decodificador-online/index.md))
- Italiano (it): [Encoder e decoder Base64](https://acrafto.com/it/encoder-decoder-base64-online/) ([Markdown](https://acrafto.com/it/encoder-decoder-base64-online/index.md))
- Português (pt): [Codificador e decodificador Base64](https://acrafto.com/pt/encoder-decoder-base64-online/) ([Markdown](https://acrafto.com/pt/encoder-decoder-base64-online/index.md))
- Nederlands (nl): [Base64 encoder en decoder](https://acrafto.com/nl/base64-encoder-decoder/) ([Markdown](https://acrafto.com/nl/base64-encoder-decoder/index.md))
- Polski (pl): [Koder i dekoder Base64](https://acrafto.com/pl/koder-dekoder-base64-online/) ([Markdown](https://acrafto.com/pl/koder-dekoder-base64-online/index.md))
- Română (ro): [Base64 encoder și decoder](https://acrafto.com/ro/codor-decodor-base64/) ([Markdown](https://acrafto.com/ro/codor-decodor-base64/index.md))
- Magyar (hu): [Base64 kódoló és dekódoló](https://acrafto.com/hu/base64-kodolo-dekodolo-online/) ([Markdown](https://acrafto.com/hu/base64-kodolo-dekodolo-online/index.md))
- Ελληνικά (el): [Κωδικοποίηση και αποκωδικοποίηση Base64](https://acrafto.com/el/base64-encoder-decoder/) ([Markdown](https://acrafto.com/el/base64-encoder-decoder/index.md))
- Български (bg): [Base64 енкодер и декодер](https://acrafto.com/bg/base64-enkoder-dekoder-onlain/) ([Markdown](https://acrafto.com/bg/base64-enkoder-dekoder-onlain/index.md))
- Hrvatski (hr): [Base64 koder i dekoder](https://acrafto.com/hr/base64-koder-dekoder/) ([Markdown](https://acrafto.com/hr/base64-koder-dekoder/index.md))
- Slovenščina (sl): [Base64 kodirnik in dekodirnik](https://acrafto.com/sl/base64-kodirnik-dekodirnik/) ([Markdown](https://acrafto.com/sl/base64-kodirnik-dekodirnik/index.md))
- Eesti (et): [Base64 kodeerija ja dekodeerija](https://acrafto.com/et/base64-teisendaja/) ([Markdown](https://acrafto.com/et/base64-teisendaja/index.md))
- Latviešu (lv): [Base64 kodētājs un dekodētājs](https://acrafto.com/lv/base64-kodetajs-dekodetajs/) ([Markdown](https://acrafto.com/lv/base64-kodetajs-dekodetajs/index.md))
- Lietuvių (lt): [Base64 koduotuvas ir dekoduotuvas](https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/) ([Markdown](https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/index.md))
- Svenska (sv): [Base64 encode och decode](https://acrafto.com/sv/base64-kodare-avkodare-online/) ([Markdown](https://acrafto.com/sv/base64-kodare-avkodare-online/index.md))
- Dansk (da): [Base64 encoder og dekoder](https://acrafto.com/da/base64-encoder-dekoder-online/) ([Markdown](https://acrafto.com/da/base64-encoder-dekoder-online/index.md))
- Suomi (fi): [Base64-kooderi ja -dekooderi](https://acrafto.com/fi/base64-kooderi-dekooderi/) ([Markdown](https://acrafto.com/fi/base64-kooderi-dekooderi/index.md))
- Norsk (no): [Base64-enkoder og -dekoder](https://acrafto.com/no/base64-enkoder-dekoder/) ([Markdown](https://acrafto.com/no/base64-enkoder-dekoder/index.md))
- Українська (uk): [Base64 кодер і декодер](https://acrafto.com/uk/base64-koder-dekoder-onlajn/) ([Markdown](https://acrafto.com/uk/base64-koder-dekoder-onlajn/index.md))
- Русский (ru): [Base64 кодировщик и декодировщик](https://acrafto.com/ru/base64-koder-dekoder/) ([Markdown](https://acrafto.com/ru/base64-koder-dekoder/index.md))
- Српски (sr): [Base64 enkoder i dekoder](https://acrafto.com/sr/base64-enkoder-dekoder-online/) ([Markdown](https://acrafto.com/sr/base64-enkoder-dekoder-online/index.md))
- Македонски (mk): [Base64 енкодер и декодер](https://acrafto.com/mk/base64-converter/) ([Markdown](https://acrafto.com/mk/base64-converter/index.md))
- Bosanski (bs): [Base64 koder i dekoder](https://acrafto.com/bs/base64-koder-dekoder/) ([Markdown](https://acrafto.com/bs/base64-koder-dekoder/index.md))
- Shqip (sq): [Base64 kodues dhe dekodues](https://acrafto.com/sq/kodues-dekodues-base64-online/) ([Markdown](https://acrafto.com/sq/kodues-dekodues-base64-online/index.md))
- Türkçe (tr): [Base64 kodlayıcı ve çözücü](https://acrafto.com/tr/base64-kodlayici-cozucu-online/) ([Markdown](https://acrafto.com/tr/base64-kodlayici-cozucu-online/index.md))
- 日本語 (ja): [Base64エンコード・デコード](https://acrafto.com/ja/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ja/base64-encoder-decoder/index.md))
- 한국어 (ko): [Base64 인코딩 디코딩](https://acrafto.com/ko/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ko/base64-encoder-decoder/index.md))
- العربية (ar): [ترميز وفك ترميز Base64](https://acrafto.com/ar/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ar/base64-encoder-decoder/index.md))
- हिन्दी (hi): [Base64 एन्कोडर और डिकोडर](https://acrafto.com/hi/base64-encoder-decoder-online/) ([Markdown](https://acrafto.com/hi/base64-encoder-decoder-online/index.md))
- Tiếng Việt (vi): [Mã hóa và giải mã Base64](https://acrafto.com/vi/base64-ma-hoa-giai-ma-online/) ([Markdown](https://acrafto.com/vi/base64-ma-hoa-giai-ma-online/index.md))
- ไทย (th): [เข้ารหัสและถอดรหัส Base64](https://acrafto.com/th/base64-encoder-decoder/) ([Markdown](https://acrafto.com/th/base64-encoder-decoder/index.md))
- עברית (he): [קידוד ופענוח Base64](https://acrafto.com/he/base64-encoder-decoder/) ([Markdown](https://acrafto.com/he/base64-encoder-decoder/index.md))
