🔄 Base64 Encoder & Decoder
Encode or decode Base64 text and files instantly. Supports images, PDFs, and any binary file. 100% browser-based Base64 encoder — your data never leaves your device.
How to Use
Choose mode
Select Text mode for plain text encoding/decoding, or File mode to encode any file.
Enter your input
Type or paste text, then click Encode or Decode. For files, drag and drop or click to browse.
Copy the output
Click Copy to copy the Base64 output to your clipboard for use in your project.
Frequently Asked Questions
Tam Rehber: Base64 Encoder & Decoder
Base64 Nedir ve Neden Önemlidir?
Base64, ikili verileri yalnızca 64 yazdırılabilir ASCII karakteriyle temsil eden bir ikili-metin kodlama şemasıdır (A–Z, a–z, 0–9, +, /). 1980'lerde yalnızca metin kabul eden kanallar (e-posta MIME, HTTP başlıkları, XML) üzerinden resim ve sertifika gibi ikili içerikleri güvenle iletmek için tasarlandı.
En önemli nokta: Base64 şifreleme değil, kodlamadır. Base64 dizisine sahip herkes onu kolayca çözebilir. Gizlilik sağlamaz. Tek amacı format uyumluluğu — ikili veriyi ham baytları yanlış işleyen sistemlerin bozamayacağı metne dönüştürmek.
Günlük karşılaştığınız yerler: HTML/CSS'e gömülü resimler (data:image/png;base64,…), HTTP Basic Auth başlıkları, JWT token'larının header ve payload kısımları, MIME e-posta ekleri.
Nasıl Kullanılır?
- Metin veya Dosya modunu seçin.
- Metin modunda: metni yapıştırın, Encode veya Decode'a tıklayın.
- Dosya modunda: herhangi bir dosyayı (resim, PDF, font) yükleme alanına sürükleyip bırakın.
- Çıktıyı kopyalayın. Data URI için "Copy as Data URI" seçeneğini kullanın.
Kod Örnekleri
// Tarayıcı: metin encode/decode
const encoded = btoa('Merhaba Dünya'); // dikkat: ASCII dışı için TextEncoder kullanın
const decoded = atob(encoded);
// Node.js: binary-safe encoding
const b64 = Buffer.from('Merhaba').toString('base64');
const geri = Buffer.from(b64, 'base64').toString('utf-8');
// HTTP Basic Auth başlığı
const kimlik = btoa('kullanici:sifre');
// Authorization: Basic a3VsbGFuaWNpOnNpZnJl
// Base64url (JWT için): + yerine -, / yerine _, = kaldır
const b64url = btoa(str).replace(/\+/g,'-').replace(/\//g,'_').replace(/=/g,'');
Yaygın Hatalar
- Base64'ü şifreleme sanmak — Kolayca tersine çevrilebilir. Parolaları veya hassas verileri gizlemek için kullanmayın.
- ASCII dışı metinle
btoa()kullanmak — Türkçe karakterler için önce UTF-8'e dönüştürün. - Base64 ile Base64url'yi karıştırmak — URL'lerde, cookie'lerde ve JWT'lerde Base64url (-, _, dolgu yok) gerekir.
- %33 boyut artışını göz ardı etmek — 1 MB resim, data URI olarak ~1.37 MB HTML anlamına gelir.
- Büyük resimleri inline etmek — Tarayıcı önbelleklemesini kırar; sayfa her yüklendiğinde resim yeniden indirilir.
Alternatiflerle Karşılaştırma
URL encoding (percent-encoding) URL parametreleri için kullanılır — ikili veri için değil. Hex encoding, her baytı iki hex rakamıyla gösterir; hash'ler ve debug için kullanılır ama %100 ek yük getirir. Büyük dosya yüklemeleri için Base64 yerine multipart form data kullanmak daha verimlidir.
Resmi Base64 data URI'sine dönüştürmek için Image to Base64 aracını kullanın. JWT token'larını anlamak için JWT Decoder'a bakın.
İpuçları
- Sadece küçük ikonlar için data URI kullanın: 2–3 KB'ın üzerindeki varlıkları ayrı dosya olarak sunun.
- URL'e yakın her şey için Base64url: URL, cookie veya dosya adında görünebilecek her Base64 için URL-safe varyantı kullanın.
- Çift encoding'i kontrol edin: Decode edilmiş çıktı hâlâ Base64 gibi görünüyorsa muhtemelen iki kez encode ettiniz.