Base64 / URL Encode-Decode

Dönüşüm türünü seçin, metninizi yazın.

Geçersiz format, kod çözülemedi.

Base64 ve URL Encode / Decode Nedir?

Base64, herhangi bir ikili veya metin verisini yalnızca harf, rakam ve birkaç özel karakterden (A-Z, a-z, 0-9, +, /, =) oluşan bir metin formatına çeviren bir kodlama yöntemidir. Bu sayede, normal metin alanlarına sığmayan veya özel karakterler içeren veriler (örneğin resim dosyaları, şifreler, API anahtarları) güvenli bir şekilde metin tabanlı sistemlerde (e-posta, URL, JSON, veritabanı alanları) taşınabilir. Base64 bir şifreleme yöntemi değildir — sadece bir kodlama biçimidir, yani Base64 ile kodlanmış bir metin herkes tarafından kolayca çözülebilir (decode edilebilir).

URL encode ise, bir metindeki boşluk, Türkçe karakter, özel sembol gibi URL'de doğrudan kullanılamayan karakterleri "%" işaretiyle başlayan hexadecimal (onaltılık) kodlara çevirir (örneğin boşluk karakteri "%20" olur). Bu, özellikle bir arama sorgusunu veya parametre değerini bir web adresinin (URL) sonuna eklerken, tarayıcının veya sunucunun bu veriyi doğru yorumlamasını sağlamak için gereklidir.

Bu araç dört işlemi de destekler: Base64 encode/decode ve URL encode/decode. Türkçe karakterler (ç, ğ, ı, ö, ş, ü) dahil olmak üzere UTF-8 tabanlı tüm karakterleri doğru şekilde işler; işlem tamamen tarayıcınızda gerçekleşir, veriniz hiçbir sunucuya gönderilmez.

Örnek Kullanım Senaryosu

Örneğin, bir yazılım geliştirici API isteklerinde kullanıcı adı ve şifreyi "Basic Authentication" başlığına eklerken önce "kullanici:sifre123" formatındaki metni Base64 encode ederek "a3VsbGFuaWNpOnNpZnJlMTIz" gibi bir çıktı elde eder ve bu değeri HTTP başlığında kullanır. Bir başka geliştirici, bir sistemden aldığı Base64 kodlu bir veriyi ("aGVyIHNleSB5b2x1bmRhIG1p" gibi) çözüp ("her sey yolunda mi" gibi) okunabilir orijinal metnini görmek istediğinde decode işlemini kullanır.

URL encode/decode'un tipik kullanım örneği ise şudur: bir web sitesi arama kutusuna "kış lastiği fiyatları" gibi Türkçe karakter ve boşluk içeren bir ifade yazıp bunu bir URL parametresi olarak paylaşmak isterseniz, bu metni URL encode ederek "k%C4%B1%C5%9F%20lasti%C4%9Fi%20fiyatlar%C4%B1" haline getirebilir ve bu güvenli formatı linkte kullanabilirsiniz. Tersine, karmaşık görünen kodlanmış bir URL parametresini alıp orijinal, okunabilir Türkçe metnine geri çevirmek istediğinizde de URL decode işlemini kullanmanız yeterlidir.

Base64 ve URL Encode'un Teknik Standardı

Base64 kodlama yöntemi, RFC 4648 adlı teknik standartla tanımlanır ve neredeyse tüm programlama dillerinde (JavaScript, Python, Java, PHP vb.) aynı şekilde uygulanır; bu sayede bir dilde encode edilen bir Base64 metni, başka bir dilde sorunsuz decode edilebilir. Her 3 bayt (byte) ikili veri, Base64'te 4 karaktere dönüştürülür; bu yüzden Base64 kodlanmış bir metin, orijinal veriden yaklaşık %33 daha uzun çıkar. URL encode (percent-encoding olarak da bilinir) ise RFC 3986 standardında tanımlanır ve URL'lerde güvenli olmayan her karakteri "%" işaretiyle başlayan iki haneli onaltılık (hexadecimal) koduna çevirir.

Sıkça Sorulan Sorular

Base64, şifreleme (encryption) ile aynı şey mi?
Hayır. Base64 sadece bir kodlama (encoding) yöntemidir, veriyi gizlemez veya korumaz — herhangi biri Base64 kodunu birkaç saniyede orijinal haline çevirebilir. Gerçek veri güvenliği için şifreleme algoritmaları (AES gibi) kullanılmalıdır; Base64'ü "şifreleme" sanmak yaygın ama yanlış bir kanıdır.

Base64 kodlanmış metin neden orijinalinden daha uzun çıkıyor?
Çünkü Base64, her 3 baytlık ikili veriyi 4 karaktere dönüştürür; bu matematiksel yapı nedeniyle kodlanmış çıktı, orijinal veriden yaklaşık %33 daha büyük olur. Bu, verinin harf/rakam gibi güvenli karakterlerle temsil edilebilmesinin bir maliyetidir.

URL encode işleminde hangi karakterler değişir?
Boşluk, Türkçe karakterler (ç, ğ, ı, ö, ş, ü), ve `&`, `=`, `?`, `#` gibi URL'de özel anlamı olan semboller kodlanır. Harfler (a-z, A-Z), rakamlar (0-9) ve birkaç güvenli sembol (-, _, ., ~) değişmeden kalır.

Neden bazen Base64 çözme (decode) işlemi hata veriyor?
Base64 formatı belirli bir yapıya (4'ün katları uzunlukta, sadece izin verilen karakterlerden oluşan) sahip olmalıdır. Eksik yapıştırılmış, bozulmuş veya Base64 olmayan bir metni decode etmeye çalıştığınızda araç geçersiz format hatası verir.