Basit bir kelimeyi decode etme
SGVsbG8gV29ybGQ=
Hello World
Sondaki = bir padding'dir; çünkü Hello World 11 byte'tır, bu da 3'ün katı değildir. Decode işlemi bunu her zaman doğru şekilde temizler.
Base64 dizelerini ve dosyalarını anında kodla veya çöz.
Son güncelleme
Base64, ikili veriyi 64 yazdırılabilir karakter kullanarak temsil eden bir kodlama şemasıdır. Yalnızca metin taşıyan bir sistemin byte taşıması gerektiğinde geliştiriciler bu yönteme başvurur — HTML içine gömülen küçük görseller, token'lar, e-posta ekleri, data URL'ler, loglara yapıştırılan secret'lar ve binary blob tutan JSON alanları gibi.
Base64 bir *encoding*'dir, encryption değildir. Bir Base64 metnini decode ettiğinizde orijinal içerik anında ortaya çıkar; bu yüzden onu asla bir güvenlik sınırı olarak görmeyin. Base64'ün içine konan her şey, kodlanmadan *önce* şifrelenmediği sürece pratik olarak herkese açıktır.
Perde arkasında Base64, 3 byte'ı (24 bit) alıp sabit 64 karakterlik bir alfabeden (A–Z, a–z, 0–9, +, /) seçilen 4 karakter olarak yeniden yazar. Girdinin uzunluğu 3'ün katı değilse encoder, sona dolgu olarak bir veya iki = ekler. Base64 metinlerinin sıklıkla = ile bitmesinin nedeni budur.
= gibi dolgu karakterleri 4'lü son grubu tamamlar ve birçok Base64 metninde gayet normaldir.Elinizde düz metin ya da bir dosya varsa ve Base64 çıktısı istiyorsanız Encode'u seçin. Elinizde bir Base64 metni varsa ve orijinal içeriğe geri dönmek istiyorsanız Decode'u seçin.
Metin kutusuna bir string yapıştırın ya da bir dosyayı (görsel, PDF, ne olursa) bırakma alanına sürükleyin. Dosyalar HTML veya CSS içine gömmeye hazır bir data: URL'sine dönüştürülür.
Encode edilmiş çıktı Base64 metnidir. Decode edilmiş çıktı orijinal metindir — ya da girdi bir dosyaysa, indirme bağlantısı olarak sunulan geri kazanılmış byte'lardır.
Sonucu panonuza almak için kopyala butonuna tıklayın. Her şey tarayıcınızda çalışır, yani girdi makinenizden hiç çıkmaz.
Base64 ile çalışmaya başladığınızda sürekli karşılaşacağınız parçalar — RFC 4648 ile tanımlanmıştır.
| Öğe | Anlamı | Örnek |
|---|---|---|
| Alfabe | Standart Base64'te kullanılan 64 karakter | A–Z, a–z, 0–9, +, / |
| URL-safe alfabe | JWT'ler ve URL'ler tarafından kullanılır | A–Z, a–z, 0–9, -, _ |
| Padding | Uzunluk 3'ün katı değilken son grubu tamamlar | = veya == |
| Grup boyutu | Encode edilen parça başına byte → 4 çıkış karakteri | 3 byte → 4 karakter |
| Boyut artışı | Çıktı, girdiden ~%33 daha büyüktür | 100 B → 136 karakter |
| Data URL | HTML/CSS için inline dosya gömme | data:image/png;base64,... |
SGVsbG8gV29ybGQ=
Hello World
Sondaki = bir padding'dir; çünkü Hello World 11 byte'tır, bu da 3'ün katı değildir. Decode işlemi bunu her zaman doğru şekilde temizler.
{"role":"student","active":true}eyJyb2xlIjoic3R1ZGVudCIsImFjdGl2ZSI6dHJ1ZX0=
JWT token'ları her segmenti tam olarak böyle encode eder — JWT payload'larının genelde eyJ ile başlamasının sebebi de budur, çünkü bu {" ifadesinin Base64 karşılığıdır.
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgAAIAAAUAAen8GVAAAAAASUVORK5CYII=
Önek, medya türünü (image/png) ve kodlamayı (base64) belirtir. Virgülden sonrası ise dosya içeriğidir. Sayfayla birlikte yüklenen ufak görseller için kullanışlıdır.
Pj4/Pyc+Pg==
Pj4_Pyc-Pg
URL-safe Base64, + yerine - ve / yerine _ kullanır; böylece değer ek bir escape gerekmeden URL'nin içinde durabilir. JWT'ler bu varyantı kullanır.
= padding'ini elle silip, sonucu padding bekleyen sıkı bir decoder'a vermek. (URL-safe decoder'lar genelde eksik padding'i kabul eder; standart decoder'lar etmeyebilir.)= karakteri eklenir.atob(), Node.js'de Buffer.from(str, 'base64'), Python'da base64.b64decode().= ile biter?= bir padding karakteridir. Base64, her 3 byte'lık girdi için 4 karakter üretir. Girdi uzunluğu 3'ün katı değilse, encode edilmiş uzunluğun 4'ün katı kalması için bir veya iki = eklenir.data:image/png;base64,... biçiminde bir URL içine yerleştirilebilir; böylece görsel ayrı bir ağ isteği olmadan doğrudan HTML, CSS veya JSON içine gömülmüş olur.