Favicon (.ico) ve PNG
ICO ve PNG rakip değil, ortaktır. Modern favicon kurulumu, evrensel yedek olarak çok boyutlu bir .ico ve yüksek DPI ve mobil bağlamlar için PNG dosyalarını kullanır. Her formatın ne yaptığını ve ne yapmadığını anlamak, her tarayıcıda ve işletim sisteminde çalışan bir favicon kurulumu oluşturmanıza yardımcı olur. favicon generator her iki formatı da tek kaynaktan üretir ve ICO vs PNG tutorial daha derin bir teknik karşılaştırma sağlar.
.ico formatı, birden çok simge boyutunu tek bir ikili kapta tutmak için özel olarak oluşturuldu. İyi oluşturulmuş bir favicon.ico, 16×16, 32×32, 48×48 ve 64×64 piksel boyutlarında çerçeveler içerir. Tarayıcı bir sekme için favicon'a ihtiyaç duyduğunda .ico dosyasını açar, ICO dizinini okur ve gerekli ekran boyutuna en yakın olan çerçeveyi seçer. Bu çok boyutlu yetenek, .ico'nun PNG'e göre belirleyici avantajıdır.
PNG tek görüntülü bir formattır. Bir PNG dosyası tam olarak aynı çözünürlükte tam olarak bir görüntü içerir. Yalnızca PNG ile birden fazla boyutu kapsamak için birden fazla dosyaya ve açık `sizes=` özniteliklerine sahip birden fazla `<link>` etiketine ihtiyacınız vardır. Bu daha ayrıntılıdır ancak her çözünürlükte hangi görüntünün sunulacağı konusunda hassas kontrol sağlar. PNG ayrıca herhangi bir çözünürlükte BMP kodlu ICO karelerden daha iyi kayıpsız sıkıştırmayı da destekler.
Tarayıcı uyumluluğu, .ico'nun kesin bir şekilde kazandığı yerdir. Eski IE, eski Edge, eski Safari sürümleri ve belirsiz niş tarayıcılar dahil her tarayıcı, herhangi bir `<link>` etiketi gerekmeden alan adı kökünden /favicon.ico'i getirir. Bağlantı etiketini tamamen atlasanız bile, tarayıcılar kural olarak GET /favicon.ico'i deneyecektir. PNG, doğru MIME türlerine sahip açık "<link rel='icon' type='image/png'>" etiketleri gerektirir; aksi takdirde bu durum göz ardı edilir.
Şeffaflık desteği .ico ve PNG arasında eşittir. Her iki format da 8 bitlik alfa kanalını destekler (piksel başına tam şeffaflık). Ancak .ico, şeffaflığı yalnızca dahili çerçeveleri BMP yerine PNG sıkıştırması kullandığında korur. Eski ICO kodlayıcılar bazen varsayılan olarak sınırlı (1 bit) şeffaflığa sahip olan BMP'yi kullanır. Her zaman PNG sıkıştırılmış .ico kareleri üreten modern bir oluşturucu kullanın.
Dosya boyutu karşılaştırması bağlama bağlıdır. Tek bir 32×32 PNG, 16, 32, 48 ve 64 piksellik kareleri bir araya getiren çok boyutlu bir .ico dosyasından daha küçüktür. Ancak .ico, dört ayrı PNG dosyasının yanı sıra dört bağlantı etiketinin yerini alır. Toplam yük açısından, iyi sıkıştırılmış çok boyutlu bir .ico neredeyse her zaman eşdeğer bireysel PNG setinin toplamından daha küçüktür.
PNG her boyutta sıkıştırma verimliliğinde kazanır. PNG sıkıştırma algoritması (DEFLATE/zlib), keskin kenarlara ve sınırlı renk paletlerine sahip düz renkli logolar ve simge tarzı resimler için özellikle etkilidir. Optimum sıkıştırmada 32×32 PNG logosu 200 baytın altında olabilir. Bir .ico içindeki eşdeğer BMP çerçevesi, görüntü içeriğinden bağımsız olarak her zaman 4 KB'dir.
Google Arama favicon'unun uygunluğu için hem .ico hem de PNG desteklenir. Google'ın tarayıcısı önce HTML'inizde bağlantılı olan site simgesini getirir veya /favicon.ico'e geri döner. Minimum gereksinim 48×48 piksel ve herkesin erişebileceği bir URL'dir. "<link rel='icon' type='image/png' sizes='48x48' href='/favicon-48x48.png'>" ile bağlantılı, uygun boyuttaki bir PNG, aynı boyuttaki bir .ico paketi kadar bunu da karşılar.
Karanlık mod davranışı formatlar arasında farklılık gösterir. PNG dosyaları kullanıcının renk şemasına uyum sağlayamaz; bağlantı etiketi hrefini dinamik olarak değiştirmek için JavaScript'e ihtiyacınız olacaktır; bu hassas bir işlemdir. .ico formatının hiçbir karanlık mod özelliği yoktur. Karanlık mod favicon uyarlaması için, yerleşik bir `@media (prefers-color-scheme: dark)` stil bloğu aracılığıyla yalnızca SVG bunu yerel olarak destekler. PNG ve .ico, bir SVG katmanıyla eşleştirilmelidir.
Optimum modern kurulum her iki formatı birleştirir. Evrensel yedek olarak `<link rel='icon' href='/favicon.ico'>`, Retina netliği için `<link rel='icon' type='image/png' sizes='32x32' href='/favicon-32x32.png'>` ve ölçeklenebilir karanlık mod desteği için `<link rel='icon' type='image/svg+xml' href='/favicon.svg'>` kullanın. SVG favori simgelerini anlayan tarayıcılar SVG'i seçer; diğerleri PNG'e düşüyor; eski tarayıcılar .ico'yu alır.
Windows İşletim Sistemi entegrasyonu yalnızca .ico alan adındadır. Masaüstü kısayolları, Dosya Gezgini simgeleri ve Windows görev çubuğu pinlerinin tümü .ico biçimini okur. Kullanıcılarınızdan herhangi biri sitenizi Windows görev çubuğuna sabitlerse veya URL'nize bir masaüstü kısayolu oluşturursa kısayol simgesi olarak yalnızca /favicon.ico kullanılır. PNG dosyaları bu bağlamda tamamen göz ardı edilir.
180×180 apple-touch-icon için geçerli tek format PNG'tir. iOS, ana ekran simgeleri için .ico dosyasını okumaz; özellikle "<link rel='apple-touch-icon'>" aracılığıyla bağlanan bir PNG gerektirir. Bu, PNG'in yalnızca tercih edilmekle kalmayıp aynı zamanda gerekli olduğu bir durumdur.
Sunucu yapılandırması gözden kaçırılmamalıdır. Birçok web sunucusu, açıkça yapılandırılmamışsa, .ico'yu yanlış içerik türüyle (`image/x-icon` yerine `text/plain`) sunar. PNG dosyaları, barındırma platformlarında daha geniş MIME türü desteğine sahiptir. favicon.ico'inizin yüklenmediğini görürseniz sunucunuzun ICO istekleri için `Content-Type: image/x-icon` veya `image/vnd.microsoft.icon` döndürüp döndürmediğini kontrol edin.
favicon generator her iki formatın çıktısını aynı anda verir. Seçim yapmanıza gerek yok; indirme paketi favicon.ico, 32×32 ve 180×180 boyutunda bağımsız PNG dosyalarını ve tam modern yığın için SVG'i içerir. Bu paketi kullanmak, ICO ve PNG arasındaki sorunun otomatik olarak yanıtlanacağı anlamına gelir: her ikisini de, her biri üstün olduğu bağlamda kullanın.
SVG'i de kapsayan eksiksiz bir format karşılaştırması için best favicon format guide'e bakın. Bu kılavuz, her kullanım durumu için hangi formata (standart web sitesi, PWA, e-ticaret mağazası ve geliştirici aracı) öncelik verilmesi gerektiğini açıklar ve favicon yığınınızı seçmeniz için bir karar matrisi sağlar.
Nasıl çalışır
- 1
512×512 kare kaynaktan başlayın
Şeffaf arka plana sahip PNG veya kareli SVG viewBox. Bu, jeneratörün tüm çıkışlar için ihtiyaç duyduğu tek giriştir.
- 2
Hem .ico hem de PNG'i aynı anda oluşturun
[favicon generator](tool:favicon-generator)'e yükleyin. Tek geçişte favicon.ico (çok boyutlu), favicon-32x32.png, apple-touch-icon.png (180×180) ve 192/512 manifest PNG'leri üretir.
- 3
Tüm dosyaları site kökünüze dağıtın
favicon.ico, favicon-32x32.png, apple-touch-icon.png ve tüm manifest PNG'leri, index.html'inize hizmet veren aynı dizine yerleştirin.
- 4
Her iki formatı da <head>'e bağlayın
Önce yedek olarak "<link rel='icon' href='/favicon.ico'>`'yi, ardından yüksek DPI için "<link rel='icon' type='image/png' sizes='32x32' href='/favicon-32x32.png'>"i ve ardından en üste SVG varyantını ekleyin.
- 5
Birden çok tarayıcıda doğrulama
Chrome (32 piksel sekmesi), Safari (sekme + iOS ana ekranı), Firefox (yer işareti çubuğu) ve Edge'i (Windows kısayolu) işaretleyin. Tarayıcılar arası simülasyon için [favicon tester](utility:favicon-tester)'i kullanın.
Hemen deneyin
Hem .ico hem de PNG dosyasını oluşturun
Favicon OluşturucuSSS
Favicon'um için .ico veya PNG kullanmalı mıyım?+
Her ikisini de kullanın. .ico her tarayıcının otomatik olarak getirdiği evrensel bir yedektir. PNG, yüksek DPI ekranlarda ayrı boyutlarda daha keskin görüntü oluşturma sağlar. Tamamlayıcı roller üstlenirler; modern kurulumda çok boyutlu bir .ico artı en az bir bağımsız PNG bulunur.
Hangisinin dosya boyutu daha küçük: .ico mu yoksa PNG mi?+
Tek bir PNG, aynı çözünürlükteki .ico'dan daha küçüktür. Ancak dört veya beş ayrı PNG'in yerine geçen çok boyutlu bir .ico, genellikle tüm bu PNG'lerin toplamından daha küçüktür. Çok boyutlu paket için .ico'yu, bireysel yüksek DPI bildirimleri için PNG'i kullanın.
Google Arama PNG site simgelerini destekliyor mu?+
Evet. Google, minimum 48×48 piksel boyutundaki hem .ico hem de PNG'i kabul eder. PNG'inizi "<link rel='icon' type='image/png' sizes='48x48' href='/favicon-48x48.png'>" ile bağlayın; Google'ın tarayıcısı onu alacaktır.
PNG karanlık modu destekleyebilir mi?+
Doğrudan değil. PNG, renk şeması farkındalığı olmayan statik bir tarama biçimidir. Karanlık mod favicon desteği için PNG ve .ico'nuzun yanına `@media (prefers-color-scheme: dark)` stil bloğu kullanan bir SVG çeşidi ekleyin.
Yalnızca PNG favicon'u gönderirsem ne olur?+
Bağlantı etiketini eklerseniz modern tarayıcılar bunu doğru şekilde görüntüleyecektir. Ancak /favicon.ico'i doğrudan getirmeye çalışan herhangi bir tarayıcı, araç veya işletim sistemi 404 alacaktır. Eski tarayıcılar hiçbir şekilde favicon göstermez. Yedek olarak her zaman çok boyutlu bir .ico ekleyin.
.ico şeffaflığı destekliyor mu?+
Evet, dahili çerçeveler PNG sıkıştırması kullandığında (BMP değil). Modern ICO oluşturucuları (FetchFavicon dahil) her zaman alfa kanalını koruyan PNG sıkıştırılmış kareler üretir. .ico içindeki BMP çerçeveleri yalnızca 1 bit şeffaflığa sahiptir.
Bir .png dosyasını .ico olarak yeniden adlandırabilir miyim?+
Hayır. Yeniden adlandırma dosya uzantısını değiştirir ancak ikili yapıyı değiştirmez. Tarayıcılar ve işletim sistemleri, formatı belirlemek için uzantıyı değil dosya başlığını kontrol eder. PNG'i ICO kapsayıcı biçimine dönüştürmek için uygun bir ICO kodlayıcı kullanın.