🔐 Base64 Nedir? Nasıl Çalışır?
📅 29 Mart 2026 · ☕ 6 dakika okuma · Yazar: Yunus Ayan
Base64 Nedir?
Base64, ikili (binary) verileri 64 farklı ASCII karakteri kullanarak metin formatına dönüştüren bir kodlama yöntemidir. Adını kullandığı 64 karakterlik alfabe setinden alır.
Base64, verileri şifrelemez — yalnızca farklı bir formatta temsil eder. Bu nedenle güvenlik amacıyla değil, veri aktarım uyumluluğu amacıyla kullanılır.
Base64 Karakter Seti
Base64 kodlamasında kullanılan 64 karakter şunlardır:
A-Z (26 karakter) → Değer: 0-25 a-z (26 karakter) → Değer: 26-51 0-9 (10 karakter) → Değer: 52-61 + (1 karakter) → Değer: 62 / (1 karakter) → Değer: 63 = (padding) → Dolgu karakteri
Base64 Nasıl Çalışır?
Base64 kodlama süreci şu adımları izler:
- Metin → Binary: Giriş metni ASCII/UTF-8 olarak ikili sayılara çevrilir
- 6-bit gruplar: İkili veriler 6'şar bitlik gruplara ayrılır (8-bit yerine)
- Karakter eşleme: Her 6-bit grup, Base64 tablosundaki karşılık gelen karaktere eşlenir
- Padding: Sonuç 4'ün katı olacak şekilde
=dolgu karakterleri eklenir
Örnek: "Hi" kelimesinin kodlanması
Metin: H i ASCII: 72 105 Binary: 01001000 01101001 6-bit: 010010 000110 1001(00) ← 2 bit padding Base64: S G k = Sonuç: SGk=
Base64 Nerelerde Kullanılır?
1. E-posta Ekleri (MIME)
E-posta protokolü (SMTP) yalnızca 7-bit ASCII karakterlerini destekler. İkili dosyaları (resim, PDF vb.) e-posta ekine eklemek için Base64 kodlaması kullanılır.
2. Data URI'ler
Küçük görselleri doğrudan HTML veya CSS içine gömmenize olanak tanır:
<img src="data:image/png;base64,iVBORw0KGgo..." />
Bu, HTTP isteklerini azaltarak sayfa yükleme performansını artırabilir.
3. API İletişimi
HTTP Basic Authentication'da kullanıcı adı ve şifre Base64 ile kodlanarak
Authorization header'ında gönderilir:
Authorization: Basic dXNlcjpwYXNzd29yZA== // "user:password" → Base64 kodlanmış hali
4. JWT Token'lar
JSON Web Token (JWT) yapısında header ve payload kısımları Base64URL olarak kodlanır.
JavaScript'te Base64
// Kodlama (Encode)
const encoded = btoa("Merhaba Dünya");
console.log(encoded); // "TWVyaGFiYSBEw7xueWE="
// Çözme (Decode)
const decoded = atob("TWVyaGFiYSBEw7xueWE=");
console.log(decoded); // "Merhaba Dünya"
// UTF-8 destekli versiyon
const encodeUTF8 = (str) => btoa(unescape(encodeURIComponent(str)));
const decodeUTF8 = (str) => decodeURIComponent(escape(atob(str)));
Base64'ün Avantajları ve Dezavantajları
✅ Avantajları
- İkili verileri metin tabanlı protokollerle taşımayı sağlar
- Evrensel olarak desteklenir
- İlave HTTP istekleri olmadan küçük dosyalar gömmek mümkün
- Hızlı kodlama/çözme işlemi
❌ Dezavantajları
- Veri boyutunu yaklaşık %33 artırır
- Şifreleme değildir — kolayca çözülebilir
- Büyük dosyalar için verimsizdir
- Büyük Base64 stringleri tarayıcı önbelleğinden yararlanamaz
🔐 Base64 Kodlama/Çözme Aracı
Base64 Codec'i Aç →