Base64 Encoder / Decoder
Metni Base64'e dönüştürün veya Base64'ten çözün. URL-safe (RFC 4648) mod ve UTF-8 tam desteği. Sunucuya veri gönderilmez.
Metni Base64'e dönüştürün veya Base64'ten çözün. URL-safe (RFC 4648) mod ve UTF-8 tam desteği. Sunucuya veri gönderilmez.
Base64, her 3 byte'ı 4 ASCII karaktere dönüştürür (6-bit gruplar). Standart alfabe A–Z, a–z, 0–9, +, / ve = dolgu karakteridir. URL-safe variant + yerine -, / yerine _ kullanır ve dolguyu kaldırır.
Base64, binary veriyi yalnızca ASCII karakterlerle temsil eden bir kodlama şemasıdır. 64 karakterlik alfabe (A-Z, a-z, 0-9, +, /) kullanılarak her 3 byte'ı 4 karakter halinde temsil eder. Bu yaklaşım binary veriyi metin tabanlı protokollerle (e-posta, HTTP, JSON) uyumlu kılar.
Kullanım alanları: (1) E-posta ekleri (MIME), (2) HTTP form POST'u (multipart), (3) JSON içinde binary veri taşıma, (4) Temel kimlik doğrulama başlığı (Authorization: Basic base64(user:pass)), (5) Veri URI'leri (data:image/png;base64,...), (6) JWT header ve payload.
hesaplatr.net base64 encoder/decoder: Metin veya binary dosyayı Base64'e çevirin ya da Base64 string'i geri decode edin. URL-safe Base64 (Base64URL) seçeneği de mevcuttur.
Standart Base64: +, / karakterleri ve = padding kullanır. URL'lerde sorun çıkarır; %2B, %2F encode edilmesi gerekir.
Base64URL: + yerine -, / yerine _ kullanılır; = padding kaldırılır. URL ve dosya adlarında güvenle kullanılır. JWT token'ları Base64URL formatındadır.
Ne zaman hangisi? Web uygulamaları ve URL parametrelerinde Base64URL; e-posta veya veri URI gibi klasik bağlamlarda standart Base64 tercih edilir.
Base64 boyut etkisi: 3 byte binary → 4 karakter Base64 dönüşümü ~%33 boyut artışına neden olur. 100 KB resim Base64'e çevrilince ~133 KB string olur. Bu nedenle büyük dosyalarda Base64 verimsizdir.
GZIP + Base64: Base64'ten önce GZIP ile sıkıştırmak net boyutu azaltabilir; ancak sıkıştırma ve açma işlem maliyeti getirir. Küçük ve orta boyutlu veriler için faydalıdır.
Alternatif: Büyük binary dosyalar için Base64 yerine pre-signed URL (S3, GCS), multipart upload veya binary streaming tercih edilmelidir.
Resim encode: `<img src='data:image/png;base64,...' />` şeklinde HTML'e gömülü resim, ek HTTP isteği gerektirmeden render edilir. Küçük ikonlar için performans avantajı olabilir; büyük resimler için uygun değildir.
JavaScript'te Base64: `btoa(string)` string'i encode eder; `atob(base64)` decode eder. Binary dosya için `FileReader.readAsDataURL()` kullanılır. Node.js'de `Buffer.from(str, 'base64').toString('utf8')` decode eder.
Python'da Base64: `import base64; base64.b64encode(bytes_data)` ve `base64.b64decode(base64_string)`. URL-safe için `urlsafe_b64encode`/`urlsafe_b64decode` kullanılır.
Base64 şifreleme değildir: Base64 kolayca decode edilebilir. Şifreleme sunmaz; yalnızca kodlama (encoding) yapar. Gizli veriler için AES veya RSA gibi gerçek şifreleme algoritmaları kullanılmalıdır.
XSS riski: Kullanıcıdan alınan Base64 data URI'leri `<img>` veya `<script>` etiketlerine doğrudan enjekte edilmemeli; sanitization yapılmalıdır.
Temel HTTP auth'ta base64: `Authorization: Basic base64(user:pass)` başlığı şifreli değildir; yalnızca HTTP üzerinden iletilirse kolayca okunabilir. Her zaman HTTPS ile birlikte kullanılmalıdır.