Base64 Kodlayıcı/Çözücü

Metni Base64'e kodlayın veya Base64'ü metne çözün

Tam kılavuzu okuyun

Türkiye'nin en kullanışlı Base64 kodlayıcı/çözücü aracıyla metin ve dosyalarınızı Base64 formatına dönüştürün. E-posta ekleri, HTML içi resimler (data URI), API iletişimi ve web geliştirme için ideal. Trendyol, Hepsiburada gibi e-ticaret platformlarının API entegrasyonları, e-Devlet web servisleri ve SOAP/REST API'larda yaygın kullanılan Base64 kodlamasını anında gerçekleştirin. Türkçe karakterler (ğ, ü, ş, ı, ö, ç) dahil UTF-8 tam desteği. Tüm işlemler tarayıcınızda gerçekleşir—hiçbir veri sunucuya gönderilmez, tam gizlilik garantisi.

Base64, ikili (binary) verileri 64 farklı ASCII karaktere dönüştüren bir kodlama algoritmasıdır. 1987'de RFC 989 ile standartlaştırılan bu format, MIME (e-posta ekleri), HTTP Basic Authentication ve Data URI'lerde kullanılır. 'Base64' adı, kullanılan 64 karakterden gelir: A-Z (26), a-z (26), 0-9 (10), + ve /. Her 3 byte (24 bit) veri, 4 karakter (4x6=24 bit) Base64'e dönüşür. Dolayısıyla kodlanmış veri orijinalden yaklaşık %33 daha büyük olur. Base64 ŞİFRELEME DEĞİLDİR—sadece veri formatı dönüşümüdür. Herkes kolayca çözebilir (decode). Hassas veriler için AES, RSA gibi gerçek şifreleme kullanın. Türkiye'de özellikle banka API'ları, e-Devlet web servisleri ve e-ticaret platformları entegrasyonlarında yaygın kullanılır.

HTML'de Gömülü Resimler (Data URI)

Web sayfalarında küçük resimleri (ikonlar, logolar) doğrudan HTML/CSS içine gömmek için Base64 kullanın. <img src='data:image/png;base64,...'> formatı, HTTP isteklerini azaltır ve sayfa yükleme hızını artırır. Türkiye'de e-ticaret siteleri, özellikle ürün ikonları ve badge'ler için bu yöntemi kullanır. Dikkat: 10KB'dan büyük resimler için ayrı dosya kullanın—Base64 %33 büyütür.

E-posta Ekleri ve MIME

E-posta protokolü (SMTP) sadece ASCII metin taşır. Resim, PDF, ZIP gibi ikili dosyalar e-postaya Base64 olarak kodlanarak eklenir. Türkiye'deki kurumsal e-posta sistemleri (Microsoft Exchange, Zimbra) otomatik olarak Base64 kodlar/çözer. Manuel olarak Base64 encode etmeniz gerektiğinde bu aracı kullanın. Outlook, Gmail, Yandex Mail tüm Base64 formatını destekler.

API Entegrasyonları ve Web Servisleri

REST/SOAP API'larda ikili veri gönderirken Base64 kullanılır. Trendyol Seller API'sında ürün resimleri Base64 olarak gönderilir. Hepsiburada Entegrasyon API'sı dosya yüklemeleri için Base64 ister. e-Fatura (GİB), e-İrsaliye ve e-Arşiv sistemlerinde XML içindeki imza ve ek dosyalar Base64 formatındadır. Banka API'ları (İş Bankası, Garanti BBVA) belge/imza verilerini Base64 olarak alır.

HTTP Basic Authentication

HTTP Basic Auth, kullanıcı adı ve şifreyi 'username:password' formatında Base64 kodlar. Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ= şeklinde gönderilir. Türkiye'deki legacy sistemler, özellikle SOAP web servisleri ve eski ERP entegrasyonları bu yöntemi kullanır. HTTPS ile kullanın—aksi halde şifre kolayca görülebilir.

JWT (JSON Web Token) İşleme

JWT tokenler üç parçadan oluşur: header.payload.signature. Header ve payload Base64URL formatındadır. Türkiye'deki modern web uygulamaları (e-ticaret, SaaS) JWT ile kimlik doğrulama kullanır. JWT payload'ını decode ederek içindeki kullanıcı bilgilerini (sub, exp, iat) kontrol edebilirsiniz. base64url'de + yerine -, / yerine _ kullanılır.

Konfigürasyon Dosyaları ve Secrets

Kubernetes secrets, Docker configs ve .env dosyalarında hassas veriler Base64 olarak saklanır. kubectl create secret generic ile oluşturulan secretler otomatik Base64 kodlanır. Türkiye'deki DevOps ekipleri CI/CD pipeline'larında (GitLab CI, Jenkins) bu formatı kullanır. Dikkat: Base64 şifreleme değil—secretlar için Vault veya sealed-secrets kullanın.

Base64 kodlama, her 3 byte (24 bit) veriyi 4 karakter (4x6 bit) Base64'e dönüştürür. Süreç: 1) Girdi verisi byte dizisine çevrilir (metin için UTF-8 encoding). 2) Her 3 byte, 24 bitlik bir grup oluşturur. 3) 24 bit, 4 adet 6-bit parçaya bölünür. 4) Her 6-bit değer (0-63) Base64 alfabesindeki karaktere eşlenir: A-Z=0-25, a-z=26-51, 0-9=52-61, +=62, /=63. 5) Veri 3'e tam bölünmezse, eksik byte'lar için '=' padding eklenir (1 eksik=1 pad, 2 eksik=2 pad). Örnek: 'Merhaba' → TWVyaGFiYQ==. JavaScript'te btoa() ve atob() fonksiyonları Base64 işler, ancak UTF-8 Türkçe karakterler için encodeURIComponent() ile sarmalamak gerekir. Bu araç UTF-8'i otomatik işler, Türkçe karakterlerle sorunsuz çalışır.

Base64A-Za-z0-9+/=%33E-posta, API, data URI
Base64URLA-Za-z0-9-_%33JWT, URL parametreleri
Hex0-9A-Fa-f%100Hash değerleri, renk kodları
URL Encoding%XX formatDeğişkenURL parametreleri, form data
ASCII8533-117 ASCII%25PDF, PostScript
Base32A-Z2-7%60TOTP/HOTP, dosya isimleri

Base64 işlemleri tüm modern tarayıcılarda desteklenir. JavaScript btoa() (encode) ve atob() (decode) fonksiyonları IE10+'dan beri mevcuttur. Türkiye'de tarayıcı dağılımı: Chrome %65, Safari %20, Firefox %8, Edge %5—tümü destekliyor. Dikkat: btoa()/atob() Latin1 (ISO-8859-1) charset kullanır—Türkçe karakterler (ğ, ü, ş, ı, ö, ç) için UTF-8 encoding gerekir. Bu araç TextEncoder/TextDecoder API'lerini kullanarak UTF-8 Türkçe karakterleri sorunsuz işler. Node.js'de Buffer.from(str).toString('base64') kullanılır. Dosya Base64 kodlaması için FileReader.readAsDataURL() metodu tüm tarayıcılarda çalışır.

Sıkça Sorulan Sorular

Base64 şifreleme midir? Güvenli mi?
Hayır, Base64 şifreleme DEĞİLDİR—sadece veri formatı dönüşümüdür. Herkes kolayca decode edebilir, hiçbir anahtar veya şifre gerekmez. Base64 kodlanmış veri 'gizli' değildir. Türkiye'de bazı geliştiriciler yanlışlıkla Base64'ü 'şifreleme' olarak kullanıyor—bu ciddi güvenlik açığıdır. Hassas veriler için AES-256, RSA veya bcrypt gibi gerçek şifreleme algoritmaları kullanın. Base64 sadece ikili veriyi metin formatına çevirmek için kullanılır.
Türkçe karakterler Base64'te neden bozuluyor?
JavaScript'in btoa() fonksiyonu Latin1 (ISO-8859-1) charset kullanır—sadece 0-255 arası karakterleri destekler. Türkçe ğ, ü, ş, ı, ö, ç karakterleri UTF-8'de birden fazla byte olduğundan btoa() hata verir. Çözüm: Önce encodeURIComponent() ile UTF-8 byte dizisine çevirin: btoa(unescape(encodeURIComponent('Türkçe'))). Bu araç otomatik olarak UTF-8 işler, Türkçe metinleri sorunsuz encode/decode eder.
Base64 veriyi ne kadar büyütür?
Base64 kodlama veriyi yaklaşık %33 büyütür. Her 3 byte (24 bit) girdi, 4 karakter (32 bit) çıktıya dönüşür: 4/3 = 1.33 = %33 artış. Örnek: 1 MB dosya → 1.33 MB Base64. E-posta eklerinde ve API'larda bu artış bant genişliği ve depolama maliyetini artırır. Büyük dosyalar için Base64 yerine multipart/form-data veya doğrudan binary upload tercih edin. Data URI'lerde 10KB üzeri resimler için ayrı dosya kullanmak daha verimli.
Base64 ve Base64URL arasındaki fark nedir?
Standart Base64, + ve / karakterleri kullanır—bu karakterler URL'de özel anlam taşır (+ = boşluk, / = path ayracı). Base64URL, + yerine -, / yerine _ kullanır ve = padding'i opsiyoneldir. JWT (JSON Web Token) tokenler Base64URL formatındadır. URL parametrelerinde, dosya adlarında ve cookie'lerde Base64URL tercih edilir. Türkiye'deki e-ticaret API'ları genellikle standart Base64 kullanır, OAuth/OIDC sistemleri Base64URL kullanır.
Türkiye'deki API'larda Base64 nasıl kullanılır?
Trendyol Seller API: Ürün resimleri Base64 string olarak gönderilir, 'imageUrl' veya 'base64Image' alanında. e-Fatura/e-Arşiv (GİB): UBL-TR XML içinde ekler ve dijital imza Base64 formatındadır. Banka API'ları: Belge upload, imza doğrulama için Base64 kullanılır. MERNIS/KPS: SOAP web servislerinde sertifika ve imza verileri Base64 kodlanır. Hepsiburada API: Ürün görselleri için base64 veya URL kabul eder. Her API'nın dokümantasyonunda Base64 formatı detayları belirtilir.
Data URI nedir? Türkiye'de nasıl kullanılır?
Data URI, dosyayı URL içine gömmeyi sağlar: data:[mime-type];base64,[encoded-data]. Örnek: <img src='data:image/png;base64,iVBORw0KGgo...'/>. Avantajları: HTTP isteği yok (hız), tek dosyada tüm kaynaklar, CDN gerektirmez. Dezavantajları: %33 boyut artışı, önbelleğe alınamaz, CSS/HTML dosyası büyür. Türkiye'de e-ticaret siteleri ürün ikonları, rozet ve badge'ler için Data URI kullanır. 5-10KB altı resimler için idealdir. Büyük resimler için lazy loading ve CDN (Cloudflare, BunnyCDN) tercih edin.
Dosya boyutu sınırı var mı?
Teorik olarak sınır yok, ancak pratik limitler vardır. Tarayıcılar: JavaScript string limiti genellikle 512MB-1GB arası. Bu araç büyük dosyaları chunk'lar halinde işler. E-posta: Gmail 25MB, Outlook 20MB ek limiti (Base64 sonrası %33 küçültülmüş). API'lar: Trendyol 5MB resim, Hepsiburada 2MB, e-Fatura ek limiti değişken. Büyük dosyalar için chunked encoding, streaming veya doğrudan binary upload kullanın. Bu araç dosya işleme için File API kullanır—tarayıcı belleği kadar dosya işleyebilir.
Base64 ile resim optimizasyonu yapılabilir mi?
Hayır, Base64 sadece format dönüşümüdür—sıkıştırma yapmaz. Hatta %33 büyütür! Resim optimizasyonu için: 1) Doğru format seçin (WebP %25-35 küçük), 2) Sıkıştırma uygulayın (TinyPNG, ImageOptim), 3) Doğru boyut kullanın (2000px resmi 200px thumbnail için küçültün), 4) Lazy loading ekleyin. Türkiye'de e-ticaret siteleri için: Ürün resimleri WebP formatında, CDN üzerinden, responsive srcset ile sunulmalı. Base64 sadece küçük ikonlar ve sprite'lar için kullanılmalı.

İlgili Araçlar