Dil seç

Dosyadan Base64'e Dönüştürücü

Görsel dahil her dosyayı tarayıcıda Base64 dizesine çevirin. MIME ön ekli data URI çıktısı alın, boyut artışını görün, sonucu kopyalayın veya indirin.

Mehmet Demiray Yayınlandı Güncellendi
Paylaş
Tarayıcınızda okunur. Sunucuya hiçbir şey yüklenmez.
Çıktının satır içi kaynak olarak çalışması için başına data:<mime>;base64, ekleyin
URL'ler için - ve _ kullanın, = dolgusunu kaldırın
Her 76 karakterde bir satır sonu ekleyin

Dosyaları neden Base64'e dönüştürürüz

Dosyadan Base64'e Dönüştürücü, bir dosyanın ham baytlarını yalnızca harf, rakam ve birkaç simgeden oluşan güvenli bir metne çevirir. Bu metin, ikili veriyi taşıyamayan ortamlardan sorunsuz geçer. Bir görseli e-posta şablonunun içine gömmek, bir simgeyi JSON gövdesinde göndermek ya da küçük bir ses dosyasını doğrudan HTML'e yerleştirmek istediğinizde bu dönüşüm işinizi görür.

İkili dosyalar 256 farklı bayt değerinin tamamını kullanır. Oysa e-posta protokolleri, URL'ler ve JSON alanları geçmişte yalnızca metin taşımak üzere tasarlandı. Ham baytları bu kanallardan geçirmeye çalışırsanız veri bozulur. Base64, her üç baytı dört yazdırılabilir karaktere eşleyerek bu sorunu ortadan kaldırır ve dosyanın her ortamda aynı kalmasını sağlar.

Geliştiriciler bu yöntemi en çok üç senaryoda kullanır:

  • Varlık gömme: Küçük simge ve arka plan görselleri CSS ya da HTML içine doğrudan yazılır, ayrı bir ağ isteği gerekmez.
  • JSON taşıma: API yanıtlarında küçük dosyaları metin alanı olarak göndermek mümkün olur.
  • E-posta görselleri: Bazı şablon araçları görselleri gömülü olarak ister, çünkü dış bağlantılar engellenebilir.

Bu araçta dönüşümün tamamı tarayıcınızda gerçekleşir. Yüklediğiniz dosya sunucuya gitmez, dolayısıyla gizli belgelerinizi işlerken veri güvenliğiniz korunur. Çıktıyı tek tıkla kopyalayabilir ya da .txt olarak indirebilirsiniz. Ters yönde bir işlem gerektiğinde, yani metni tekrar dosyaya çevirmek istediğinizde Base64'ten Dosyaya aracı aynı mantıkla çalışır.

Data URI nedir ve nasıl çalışır

Data URI, bir dosyanın içeriğini adres satırının kendisine gömen özel bir bağlantı biçimidir. Normalde bir görsel için tarayıcı ayrı bir dosyaya istek atar. Data URI ise dosyanın tüm verisini bağlantının içinde taşır, böylece ek bir istek gerekmez. Dosyadan Base64'e Dönüştürücü, çıktıyı isterseniz doğrudan data URI biçiminde verir.

Bir data URI şu parçalardan oluşur:

data:[MIME tipi];base64,[Base64 verisi]

Örneğin küçük bir PNG görseli şöyle görünür:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...

Buradaki data: şeması tarayıcıya verinin gömülü olduğunu söyler. image/png kısmı MIME tipidir ve içeriğin ne olduğunu belirtir. base64 sözcüğü kodlamanın türünü, virgülden sonrası ise asıl veriyi taşır. MIME tipi doğru olmazsa tarayıcı dosyayı yanlış yorumlar, bu yüzden dönüşümde uygun ön eki seçmek önemlidir.

Data URI'ler her modern tarayıcıda desteklenir. Bir görseli <img> etiketinin src alanına, bir yazı tipini CSS'e ya da küçük bir SVG'yi arka plan olarak doğrudan yazabilirsiniz. En yaygın MIME tipleri şunlardır:

İçerik MIME tipi
PNG görsel image/png
JPEG görsel image/jpeg
SVG çizim image/svg+xml
PDF belge application/pdf

Data URI kullanmanın bedeli, verinin metin haline geldiğinde büyümesidir. Bu yüzden yöntem küçük dosyalarda parlar, büyük medyada ise ayrı dosya bağlamak daha mantıklı kalır.

Boyut artışı ve dengeyi kurmak

Base64 kodlaması veriyi metne çevirirken kaçınılmaz olarak büyütür. Bunun nedeni matematiksel: her üç bayt, dört karaktere dönüşür. Yani çıktının boyutu kabaca orijinalin dörtte biri kadar artar, başka bir deyişle yaklaşık %33 oranında bir büyüme demektir. Örneğin 30 kB boyutundaki bir simge, Base64 metni olarak yaklaşık 40 kB yer kaplar. Data URI ön ekini ve satır sonlarını da sayarsanız fark biraz daha açılabilir.

Bu araç dönüşümden sonra hem orijinal hem de kodlanmış boyutu gösterir, böylece artışı somut olarak görürsünüz. Karar verirken şu dengeyi düşünün:

  • Gömmek ne zaman kazandırır: Dosya küçükse, örneğin birkaç 10 kB altındaki bir simge, ekstra ağ isteğinden kurtulmak boyut artışına değer.
  • Bağlamak ne zaman kazandırır: Dosya büyükse, gömülü veri sayfanın ilk yüklenmesini yavaşlatır ve tarayıcı önbelleğinden yararlanamaz.

Gömülü bir varlık her sayfa yüklemesinde yeniden indirilir, çünkü ayrı bir dosya olmadığı için önbelleğe alınamaz. Ayrı bir dosya ise bir kez indirilip saklanır ve sonraki ziyaretlerde yeniden istenmez. Küçük ve nadiren değişen varlıklarda gömme, büyük ya da sık paylaşılan medyada bağlama öne çıkar. Doğru seçim, dosyanın boyutuna ve kaç kez kullanılacağına bağlıdır.

Pratik iş akışı: neyi gömmeli, neyi bağlamalı

Base64 gömme güçlü bir araçtır ama her yerde kullanılmaz. İyi bir kural, boyuta ve varlığın rolüne göre karar vermektir. Küçük ve değişmeyen parçaları gömün, büyük ve paylaşılan medyayı ayrı dosya olarak bağlayın.

Günlük geliştirmede işe yarayan bir yaklaşım şudur:

  1. Küçük simgeleri satır içi gömün: Bir düğme oku ya da menü simgesi gibi 5 kB altındaki SVG ve PNG'ler CSS içine data URI olarak yazılabilir. Böylece o simge için ayrı istek kalkar.
  2. Kritik ilk görünüm varlıklarını gömün: Sayfanın ilk ekranında hemen görünmesi gereken küçük bir logo, gömülü olduğunda gecikmesiz yüklenir.
  3. Büyük medyayı dosya olarak tutun: Fotoğraf galerileri, kapak görselleri ve videolar her zaman ayrı dosya olmalı. Bunları gömmek hem sayfayı şişirir hem de önbelleği bozar.
  4. Tekrar eden varlıkları bağlayın: Birden çok sayfada kullanılan bir görsel, ayrı dosya olarak bir kez indirilir ve paylaşılır.

Bu araçla iş akışınız basittir. Dosyayı sürükleyip bırakın, data URI seçeneğini açın, çıktıyı kopyalayıp projenize yapıştırın. Dönüşüm tarayıcıda gerçekleştiği için gizli dosyalarınız bilgisayarınızdan çıkmaz.

Base64 tek başına metni sıkıştırmaz, yalnızca biçim değiştirir. Metin tabanlı bir dizeyi kodlamak ya da çözmek istediğinizde Base64 kodlama ve Base64 çözme araçları bu iş için daha uygundur. Dosya odaklı işleri ise bu dönüştürücü üstlenir.

Kopyalama, indirme ve güvenlik

Dosyadan Base64'e Dönüştürücü çıktıyı üç şekilde kullanmanıza izin verir. Metni tek tıkla panoya kopyalayabilir, .txt dosyası olarak indirebilir ya da doğrudan projenize yapıştırabilirsiniz. Uzun çıktılarda kopyalama düğmesi, binlerce karakteri elle seçme zahmetinden kurtarır.

En önemli özellik gizliliktir. Yüklediğiniz dosya hiçbir sunucuya gönderilmez. Tüm kodlama işlemi tarayıcınızın içinde, kendi cihazınızda çalışır. Bu yüzden sözleşme taslakları, kimlik görselleri ya da şirket içi belgeler gibi hassas dosyaları güvenle işleyebilirsiniz. Veri cihazınızdan hiç ayrılmaz.

Çıktıyı kullanırken birkaç noktaya dikkat edin:

  • Satır sonları: Bazı sistemler Base64 metnini belirli aralıklarla satırlara böler. Bir HTML src alanına yapıştırırken metnin tek satır ve boşluksuz olması gerekir.
  • MIME ön eki: Data URI olarak kullanacaksanız data: ön ekini dahil edin. Sadece ham Base64 gerekiyorsa ön eki kapatın.
  • Karakter kümesi: Base64 çıktısı yalnızca ASCII karakterler içerir, bu yüzden farklı dil ve sistemler arasında güvenle taşınır.

Çıktıyı bir metin dosyasına kaydettiğinizde onu daha sonra kolayca geri yükleyebilirsiniz. Kodlanmış metni tekrar orijinal dosyaya çevirmek istediğinizde ters işlemi yapan araç aynı gizlilik ilkesiyle çalışır ve dosyayı yerel olarak yeniden oluşturur.

Base64 kodlaması nasıl çalışır

Base64, adını kullandığı 64 karakterlik alfabeden alır. Bu alfabe büyük ve küçük harfleri, 0 ile 9 arası rakamları ve iki simgeyi içerir. Amaç, herhangi bir ikili veriyi bu güvenli karakterlerle ifade etmektir.

Dönüşümün temeli bit gruplamasıdır. Bilgisayar her baytı 8 bit olarak saklar. Base64 ise veriyi 6 bitlik parçalara böler. Üç bayt toplam 24 bit eder ve bu 24 bit, dörder tane 6 bitlik gruba ayrılır. Her 6 bitlik grup, 64 karakterlik alfabedeki bir harfe karşılık gelir. İşte çıktının orijinalden daha uzun olmasının nedeni budur: üç bayt girer, dört karakter çıkar.

Bazen dosyanın son parçası tam üç bayt olmaz. Bu durumda Base64, eksik kısmı tamamlamak için = işaretini dolgu olarak ekler. Kodlanmış metnin sonunda gördüğünüz bir ya da iki eşittir işareti, aslında orijinal dosyanın bayt sayısıyla ilgili bir ipucudur. Bu işaretler metnin bozuk olduğu anlamına gelmez.

Sık karıştırılan bir nokta, Base64'ün şifreleme olmadığıdır. Kodlama geri döndürülebilir ve gizli bir anahtar içermez. Yani Base64 metni gören herkes onu kolayca çözebilir. Amaç veriyi gizlemek değil, ikili veriyi metin ortamlarında güvenle taşımaktır. Gizlilik için gerçek şifreleme yöntemleri gerekir. Bu ayrımı akılda tutmak, Base64'ü doğru yerde kullanmanızı sağlar.

En çok yanıtladıklarımız.

CSS'te bir görseli Base64 ile nasıl gömerim?

Önce dosyayı Dosyadan Base64'e Dönüştürücü ile data URI seçeneği açık şekilde çevirin. Çıktıyı kopyalayıp CSS'te arka plan olarak yapıştırın: background-image: url('data:image/png;base64,iVBORw0...');. Aynı yöntem <img> etiketinin src alanı için de geçerlidir. Metnin tek satır ve boşluksuz olmasına dikkat edin, aksi halde tarayıcı bağlantıyı çözemez.

Dikkat etmem gereken bir dosya boyutu sınırı var mı?

Aracın kesin bir üst sınırı yoktur, ancak pratikte küçük dosyalarla çalışmak mantıklıdır. Birkaç 10 kB altındaki simge ve logolar gömme için idealdir. 1 MB üzerindeki dosyalarda çıktı çok uzar, sayfayı yavaşlatır ve düzenleyicide yönetmesi zorlaşır. Büyük medyayı ayrı dosya olarak tutmak her zaman daha iyi sonuç verir.

Dosyam gerçekten sunucuya gönderilmiyor mu?

Hayır, gönderilmiyor. Tüm dönüşüm tarayıcınızın içinde, kendi cihazınızda çalışır. Yüklediğiniz dosya internete çıkmaz, bu yüzden sözleşme, kimlik görseli ya da şirket belgesi gibi hassas dosyaları güvenle işleyebilirsiniz.

Base64 metnini tekrar dosyaya nasıl çeviririm?

Ters yönde çalışan Base64'ten Dosyaya aracını kullanın. Kodlanmış metni yapıştırdığınızda orijinal dosyayı cihazınızda yeniden oluşturur. Bu işlem de yerel çalışır, dolayısıyla veriniz cihazınızdan çıkmaz.

Base64 ile dosyamı şifrelemiş oluyor muyum?

Hayır. Base64 bir şifreleme değil, yalnızca bir kodlama biçimidir. Gizli anahtar içermez ve herkes tarafından kolayca geri çözülebilir. Amacı veriyi gizlemek değil, ikili dosyayı metin ortamlarında güvenle taşımaktır. Gizlilik gerektiren durumlarda gerçek şifreleme yöntemlerine ihtiyacınız olur.

Data URI mi yoksa ham Base64 mü seçmeliyim?

Çıktıyı doğrudan HTML ya da CSS içine gömecekseniz data URI seçin, çünkü data:image/png;base64, gibi bir ön ek tarayıcının veriyi doğru yorumlamasını sağlar. Metni bir JSON alanında ya da başka bir programda işleyecekseniz genellikle ham Base64 yeterlidir ve ön eki elle ekleme zahmetinden kurtulursunuz.

Base64 çıktısını görsel dosyaları dışında da kullanabilir miyim?

Evet. Araç her tür dosyayı çevirir: PDF belgeleri, yazı tipleri, ses dosyaları ve SVG çizimleri dahil. Yalnızca MIME tipinin içeriğe uygun olduğundan emin olun. Metin tabanlı dizeleri kodlamak ya da çözmek için ise Base64 kodlama ve Base64 çözme araçları daha uygundur.