Base64 Kodlayıcı-Çözücü
Metni Base64'e kodlar veya Base64'ten geri çözer. Standart ve URL-güvenli (base64url) varyantları destekler; UTF-8 uyumludur. Dönüşüm tamamen tarayıcınızda yapılır; metin sunucuya gönderilmez.
Son güncelleme:
Çıktı
Soldaki alana metin girin; sonuç anında görünür.
Base64 ne zaman devreye girer
İkili veriyi metin kanalından geçirirken
JSON'a sertifika gömmek, CSS'e küçük bir ikon yerleştirmek, bir API'ye ham bayt göndermek: hepsi yalnızca metin kabul eden kanallardır. Base64 bu kanallardan ikili veriyi bozulmadan geçirmenin standart yoludur.
Kubernetes Secret'larını okurken
kubectl get secret çıktısındaki data alanları Base64 ile kodlanmıştır ve bu bir güvenlik önlemi değildir: herkes anında çözebilir. Bir Secret'ın gerçek içeriğini görmek de, "şifreli zannetme" hatasından kurtulmak da bu çözme işlemiyle başlar.
Bozuk çözme hatalarını ayıklarken
"Invalid Base64" hatalarının çoğu verinin değil alfabenin suçudur: bir taraf standart, öteki URL-güvenli varyant bekliyordur. Değeri burada iki modda da deneyip hangi alfabeyle üretildiğini bulabilirsiniz.
Çalışılmış örnek: "İstanbul" neden 12 karakter oluyor
Kısa bir Türkçe kelime, Base64'ün karakter değil bayt saydığını göstermek için birebir.
- "İstanbul" kelimesini kodlayın: çıktı xLBzdGFuYnVs.
- Kelime 8 karakterdir ama 9 bayttır: İ harfi UTF-8'de 2 bayt, kalan 7 harf 1'er bayt tutar.
- 9 bayt üç tam gruba bölünür; her 3 baytlık grup 4 karaktere çevrilir: 3 × 4 = 12 karakter.
- 9 tam bölündüğü için dolgu işareti (=) hiç yok.
- Çıktıyı çöz moduna yapıştırın: "İstanbul" harfi harfine geri gelir; dönüşüm kayıpsızdır.
Uzunluk hesabı her zaman bayt üzerinden yapılır: çıktı, bayt sayısının 3'e bölünüp 4'le çarpılmasıyla bulunur ve kalan 1 bayt "==", kalan 2 bayt "=" dolgusu üretir. Türkçe metinde karakter sayarak sütun genişliği ya da kota hesabı yapmak bu yüzden yanıltır: ş, ğ, İ gibi her harf hesabı 1 bayt kaydırır.
Sık yapılan dört hata
Kodlamayı gizlilik sanmak
Base64 kilit değil zarftır; açması anahtarsızdır. Kubernetes Secret'ının, Basic auth başlığının veya konfigürasyondaki "karmaşık görünen" değerin Base64 olması onları sır yapmaz. Gizlilik gerekiyorsa şifreleme ve erişim kontrolü gerekir.
URL'ye standart alfabeyle çıkmak
Standart çıktıdaki + işareti sorgu dizesinde boşluğa çözülür, / ise yolu böler. URL'de taşınacak her değer için base64url varyantı kullanılmalı; bu sayfadaki URL-güvenli mod tam bunun içindir.
Satır kıran çıktıyı tek satır bekleyen yere vermek
MIME geleneğinden gelen araçlar (openssl base64 dahil) çıktıyı 64 veya 76 karakterde bir satır sonuyla böler. Bu çıktı, tek satır bekleyen bir çözücüye yapıştırıldığında "geçersiz karakter" hatası üretir; suçlu veri değil, görünmez satır sonlarıdır.
Sütun boyutunu karakter üzerinden hesaplamak
100 baytlık bir değerin Base64 hâli 136 karakterdir; veritabanı sütununu orijinal boyuta göre açmak taşmayla biter. Kural: saklanacak karakter sayısı = bayt sayısının 3'e bölümünün yukarı yuvarlanması × 4.
Bu araçla birlikte kullanılanlar
- JWT Çözücü Bir JSON Web Token'ın header ve payload bölümlerini çözün, standart claim'leri ve geçerlilik süresini görün. Token tarayıcıdan çıkmaz.
- HTML / Entity Kodlayıcı-Çözücü Metni HTML entity'lerine kodlayın veya geri çözün. XSS önleme için özel karakterleri kaçışlayın; tarayıcıda, kayıt gerektirmez.
- CIDR / Subnet Hesaplayıcısı CIDR notasyonundan ağ adresi, broadcast, subnet maskesi, kullanılabilir host aralığı ve adres tipini hesaplayın.
- Cron İfade Çözümleyici Bir cron ifadesini alan alan çözümleyin ve sonraki çalışma zamanlarını görün. Kubernetes CronJob ve zamanlanmış görevler için.
- Epoch / Unix Timestamp Dönüştürücü Unix epoch zaman damgalarını okunabilir tarihlere çevirin ve geri dönüştürün. Saniye ve milisaniye otomatik algılanır.
Sık Sorulan Sorular
Base64 bir şifreleme yöntemi mi?
Hayır. Base64 bir kodlamadır, şifreleme değildir — gizlilik sağlamaz. Herkes anahtarsız geri çözebilir. Amacı, ikili (binary) veriyi yalnızca metin kabul eden kanallardan (URL, JSON, e-posta, data URI) güvenle taşımaktır.
Base64 ile base64url arasında ne fark var?
Standart Base64 alfabesi 62. ve 63. karakter olarak + ve / kullanır, dolgu için = ekler. base64url ise URL ve dosya adında sorun çıkaran bu karakterleri - ve _ ile değiştirir, dolguyu çoğu zaman atar. JWT'nin üç bölümü base64url ile kodlanır. Bu araç çözerken her iki varyantı da otomatik tanır.
Base64 veriyi neden büyütür?
Base64 her 3 baytı 4 ASCII karaktere çevirir; bu yaklaşık %33 boyut artışı demektir. Bu yüzden Base64, büyük dosyaları depolamak veya taşımak için verimli değildir — küçük gömülü veriler (ikon, sertifika, token) için uygundur.
.NET'te Base64 nasıl kullanılır?
Convert.ToBase64String(byte[]) kodlar, Convert.FromBase64String(string) çözer. Metin için önce Encoding.UTF8.GetBytes ile bayta çevirin. .NET 9+ ile Base64Url sınıfı URL-güvenli varyantı doğrudan destekler.
Base64'te UTF-8 karakterler doğru taşınır mı?
Evet — yeter ki metin önce UTF-8 baytlarına çevrilsin. Bu araç tam olarak bunu yapar: Türkçe, Arapça veya emoji içeren metinler kodlanıp çözüldüğünde birebir korunur. Yanlış kodlama (örn. Latin-1 varsayımı) bozulmaya yol açar.