Base64 Kodlama ve Çözme
Metni Base64'e kodlayın ya da geri çözün. Metin UTF-8 olarak dönüştürülür, bu yüzden ş, ğ ve emoji sorunsuz çalışır. URL güvenli alfabe, dolgu ve satır sonu seçilebilir.
En fazla 500.000 karakter. Hiçbir şey cihazınızdan çıkmaz.
+ ve / yerine - ve _ kullanır (RFC 4648 bölüm 5); sonuç URL'de ya da dosya adında durabilir.
Sonucu 4 karakterin katına tamamlamak için sonuna = ekler.
Çıktıyı her 64 karakterde (PEM biçimi) ya da her 76 karakterde (MIME biçimi) bir satır başı ile böler.
0 bayt, 0 karaktere kodlandı.
Base64 bir kodlamadır, şifreleme değildir. Herkes çözebilir; bu yüzden gizli bilgileri korumak için kullanmayın.
Nasıl çalışır
Base64 baytları metne çevirir. Üç bayt (24 bit) 6 bitlik dört gruba bölünür ve her grup 64 karakterlik bir alfabeden bir karakterle yazılır: A–Z, a–z, 0–9, + ve / (RFC 4648 bölüm 4). 3 bayt her zaman 4 karakter olduğundan çıktı girdiden yaklaşık üçte bir büyüktür.
Girdi 3'ün katıyla bitmezse son grup kısa kalır. Artan bir bayt 2 karakter ve ==, artan iki bayt 3 karakter ve = üretir (bölüm 3.2). = işaretleri uzunluğu 4'ün katına tamamlayan dolgudur; veri taşımazlar, silebilirsiniz ve buradaki çözücü sonucu yine kabul eder.
Metin önce bayta çevrilir. Araç metninizi UTF-8 olarak kodlar, sonra bu baytları kodlar. Bu, btoa(metin) ile aynı şey değildir: btoa, U+00FF üstündeki karakterde hata fırlatır, U+0080 ile U+00FF arasında ise UTF-8 yerine Latin-1 kodlar; diğer araçlar bunu başka çözer. Tek başına duran bir vekil (surrogate) karakter UTF-8 ile yazılamaz; U+FFFD ile değiştirilir ve geri dönüşte aynı çıkmaz.
URL güvenli alfabe. RFC'nin 5. bölümü + ve / yerine - ve _ koyar. Aynı 6 bitlik değerler, farklı yazım.
Satır sonu. Satır başına 64 karakter PEM biçimidir (RFC 7468), 76 MIME biçimidir (RFC 2045 bölüm 6.8). Araç yalnızca LF kullanır ve çıktıyı satır sonuyla bitirmez.
Çözme bilerek hoşgörülüdür
Yapıştırılan veri dağınık olur; çözücü her yerdeki boşluk, sekme ve satır sonlarını yok sayar, iki alfabeyi de kabul eder ve eksik dolguyu tolere eder. Dolgu varsa doğru olmalıdır: = yalnızca sonda, en fazla iki tane ve toplam uzunluk 4'ün katı. Başka her karakter hatadır; veri uzunluğunun 4'e bölümünden kalan 1 ise yine hatadır. Sıfır olmayan kullanılmayan son bitler kabul edilir ve yok sayılır.
Çözülen baytlar sonra UTF-8 olarak okunur. Geçerli UTF-8 değillerse siz seçersiniz: bozuk baytları U+FFFD ile değiştirip uyarı göstermek ya da hata göstermek. Baştaki bayt sırası işareti (BOM) silinmez, U+FEFF olarak kalır.
Örnekler
| Metin | Base64 | Not |
|---|---|---|
| f | Zg== | RFC 4648 test vektörü, 1 bayt, iki = işareti |
| fo | Zm8= | 2 bayt, bir = |
| foo | Zm9v | 3 bayt, dolgu yok |
| foobar | Zm9vYmFy | 6 bayt 8 karakter olur |
| ş | xZ8= | UTF-8 baytları C5 9F; btoa("ş") hata verir |
| ğ | xJ8= | UTF-8 baytları C4 9F |
| ü | w7w= | UTF-8 baytları C3 BC; Latin-1'deki tek bayt değil, iki bayt |
| ??> | Pz8+ | Standart alfabe |
| ??> | Pz8- | URL güvenli alfabe |
| ??? | Pz8/ ve Pz8_ | Standart ve URL güvenli |
| f, fo (dolgusuz) | Zg ve Zm8 | Dolgu kapalı |
Boyutlar. "şğ" ve ardından 🎉 emojisi 2 + 2 + 4 = 8 UTF-8 baytıdır; yani ceil(8 / 3) × 4 = 12 karaktere kodlanır. 100 tane a harfi 100 bayttır ve dolguyla 136 karakter eder; 76'da bölünce 76 ve 60 karakterlik satırlar, 64'te bölünce 64, 64 ve 8 karakterlik satırlar çıkar. foobanın 5 baytı dolgusuz 7 karakter tutar.
Hatalar ve kayıplı çözme. Zg=, Zg===, Zm9v! ve Z reddedilir. //5B girdisi FF FE 41 baytlarıdır ve geçerli UTF-8 değildir: değiştirme seçiliyken iki U+FFFD karakteri ve ardından A elde edersiniz, uyarı çıkar ve bayt sayısı 3 görünür. Hata seçeneğinde ise hata görürsünüz.
Dikkat edilecekler
- Base64'ü koruma sanmayın. Base64 yazılmış bir API anahtarı hâlâ bir API anahtarıdır. Şifreleme anahtar ister; Base64'ün anahtarı yoktur.
- Taraflar UTF-8 üzerinde anlaşmalı. Bu aracın çıktısı UTF-8 varsayan her yerde doğru çözülür. Aksanlı harfler içeren metne
btoa()uygulayarak üretilmiş veri Latin-1 olabilir ve burada farklı çözülür. - URL içinde
=ve+dikkat ister. Sorgu dizesinde=ayırıcıdır ve+boşluk diye okunabilir. URL güvenli alfabeyi seçin ya da değeri URL kodlama aracıyla yüzde işaretiyle kodlayın. - Yalnızca metin. Görsel ya da arşiv gibi ikili içerik çözülünce anlamsız karakterler çıkar. Baytların metin olmadığını hemen görmek için hata seçeneğini kullanın.
- Değiştirme kayıplıdır. Baytlar U+FFFD ile değiştirildikten sonra, ekrandaki metinden özgün baytları geri alamazsınız.
- Sınırlar. Metin girdisi 500.000 karakterle sınırlıdır; çözücü 2.100.000 karaktere kadar Base64 kabul eder, bu kodlayıcının üretebileceği her şey için yeterlidir.
- Gizlilik. Dönüşüm tarayıcınızda yapılır. Yazdığınız ya da yapıştırdığınız şey yüklenmez.
Sık sorulan sorular
Son güncelleme: 11.10.2026
İlgili araçlar
Metni URL için yüzde işaretiyle kodlayın ya da çözün: bileşen, tam adres veya form verisi olarak. Yapıştırdığınız http/https adresinin parçalarını görün. Hiçbir şey çekilmez.
JSON’u RFC 8259’a göre doğrulayın, 2 ya da 4 boşluk veya sekmeyle düzenleyin ya da küçültün. Hatalar satır ve sütunla gelir. Hiçbir şey yüklenmez.
Rastgele (v4) ya da zamana göre sıralı (v7) UUID üretin, tek seferde 100 adede kadar; var olan bir UUID'nin içeriğini kontrol edin. Her şey tarayıcınızda çalışır.