Cara menyiapkan favicon pada 2025
(evilmartians.com)- Seiring cara membuat favicon menjadi makin rumit, sering kali diperlukan lebih dari 20 file PNG hanya untuk menampilkan logo situs di tab browser atau layar sentuh
- Sebagai gantinya, artikel ini mengusulkan cara yang bisa mencakup sebagian besar lingkungan dengan jumlah file ikon yang relatif sedikit dan konfigurasi minimal
Versi yang sangat sederhana
-
Tanpa pengaturan yang rumit, cukup siapkan lima ikon inti dan satu file JSON
-
Berikut contoh tautan dasar yang dimasukkan ke HTML
<link rel="icon" href="/favicon.ico" sizes="32x32"> <link rel="icon" href="/icon.svg" type="image/svg+xml"> <link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- 180×180 --> -
Jika mendukung PWA(Progressive Web App), tambahkan juga yang berikut
<link rel="manifest" href="/manifest.webmanifest"> -
Berikut struktur contoh file
manifest.webmanifest{ "icons": [ { "src": "/icon-192.png", "type": "image/png", "sizes": "192x192" }, { "src": "/icon-mask.png", "type": "image/png", "sizes": "512x512", "purpose": "maskable" }, { "src": "/icon-512.png", "type": "image/png", "sizes": "512x512" } ] } -
Karena ikon
maskablebisa terpotong di sebagian tepinya, sebaiknya sisakan area lingkaran 409×409 sebagai zona aman -
Dengan susunan ini saja, favicon sudah bisa bekerja baik di sebagian besar browser dan perangkat utama
Versi penjelasan detail
- favicon berasal dari “favorite icon”, yaitu ikon kecil yang ditampilkan di tab browser dan tempat serupa
- Safari belakangan ini juga sudah mendukung favicon dengan baik
- Alih-alih membuat satu set ikon untuk berbagai resolusi, hal ini bisa ditangani secara efisien dengan SVG, beberapa ikon PNG, dan manifest sederhana
Konfigurasi Favicon terbaik
- Dengan satu file SVG, beberapa file PNG minimum, dan file web manifest, ikon dapat ditampilkan secara konsisten di berbagai browser dan perangkat
- SVG adalah format vektor sehingga bisa diperbesar atau diperkecil dengan bebas sesuai kebutuhan, dan beban performanya juga kecil karena diunduh di latar belakang
- PNG hanya perlu disiapkan untuk ukuran yang benar-benar diperlukan, seperti ikon untuk Apple (
apple-touch-icon) dan ikon untuk PWA - Format lama seperti ikon tile Windows, Safari Pinned Icon, dan
rel=“shortcut”kini tidak lagi terlalu diperlukan di browser modern - Namun, di browser atau tool lama ada yang langsung mengambil ikon dari path
/favicon.ico, jadifavicon.icodi path root tetap penting
Cara membuat Ultimate Favicon Set
- Langkah-langkah berikut adalah proses membuat dan mengoptimalkan ikon secara langsung
- Langkah 1: Menyiapkan SVG
- Perlu menyiapkan file
icon.svgdengan rasio persegi - Di dalam
<svg>, perubahan warna untuk mode terang dan gelap bisa diterapkan melalui CSS media query - Seperti pada contoh, warna untuk mode gelap bisa ditentukan dengan
@media (prefers-color-scheme: dark)
- Perlu menyiapkan file
- Langkah 2: Membuat file ICO
- Ubah
icon.svgmenjadi gambar raster berukuran 16×16 atau 32×32 lalu buatfavicon.ico - Bisa menggunakan tool seperti GIMP atau Inkscape+ImageMagick
- Perlu berhati-hati agar logo tidak terlalu pecah pada resolusi kecil
- Ubah
- Langkah 3: Membuat gambar PNG
- Siapkan ikon PNG berukuran 512×512, 192×192, 180×180, dan 512×512(maskable)
- Untuk
apple-touch-icondi iOS, gunakan ukuran 180×180, dan sebaiknya tambahkan warna latar atau beri ruang kosong yang memadai - Ikon
maskableharus menyisakan area 409×409 sebagai zona aman
- Langkah 4: Mengoptimalkan PNG dan SVG
- SVG dikompresi dengan alat seperti SVGO, dan PNG ditingkatkan rasio kompresinya dengan Squoosh
- Karena pengguna bisa saja berada di lingkungan dengan pembatasan data, meminimalkan ukuran file akan menguntungkan
- Langkah 5: Menghubungkan ikon ke HTML
- Pada dasarnya, hubungkan
favicon.ico,icon.svg, danapple-touch-icon.pngdi tag<head><link rel="icon" href="/favicon.ico" sizes="32x32"> <link rel="icon" href="/icon.svg" type="image/svg+xml"> <link rel="apple-touch-icon" href="/apple-touch-icon.png"> - Jika menggunakan Webpack dan sejenisnya, cache juga bisa dikelola dengan menyertakan hash saat build
- Favicon yang berbeda juga bisa dipakai untuk membedakan lingkungan staging(pengembangan) dan produksi
- Pada dasarnya, hubungkan
- Langkah 6: Membuat Web Manifest
- Masukkan informasi ikon untuk PWA ke file
manifest.webmanifest, lalu hubungkan dengan<link rel="manifest" href="/manifest.webmanifest"> - Contoh berikut menentukan ikon 192×192, 512×512(maskable), dan 512×512
{ "name": "My website", "icons": [ { "src": "/icon-192.png", "type": "image/png", "sizes": "192x192" }, { "src": "/icon-mask.png", "type": "image/png", "sizes": "512x512", "purpose": "maskable" }, { "src": "/icon-512.png", "type": "image/png", "sizes": "512x512" } ] } - Di lingkungan Webpack, otomatisasi bisa dilakukan dengan plugin seperti
webpack-pwa-manifest
- Masukkan informasi ikon untuk PWA ke file
- Melalui proses seperti di atas, favicon yang sesuai dapat ditampilkan di sebagian besar browser dan perangkat hanya dengan jumlah file yang sedikit
- Akan lebih praktis jika dioperasikan dengan membuat tool otomatisasi
4 komentar
SVG Favicon masih belum didukung di Firefox...
Ah, ternyata Safari.
Saya pernah membuat web game sebagai proyek di perusahaan lama.
Karena iseng, saya membuat favicon animasi sebagai easter egg.
Saat animasinya dibuat dengan spritesheet, hasilnya ternyata cukup meyakinkan.
Ringkasan favicon untuk tahun 2021
Saya pernah mengunggahnya sekali 4 tahun lalu, dan sekarang sudah diperbarui agar sesuai dengan kondisi saat ini.