Cara menambahkan favicon
Simpan ikonmu di situs dan tunjuk file itu dari tag <link rel="icon"> di dalam <head>:
<link rel="icon" href="/favicon.ico">
Hanya itu yang dibutuhkan untuk situs sederhana. href bisa menunjuk ke file .ico, .png atau .svg. Contoh di bawah memakai SVG yang ditulis langsung di href sebagai data URI, jadi tidak butuh file terpisah. Pratinjau di dalam halaman lain tidak bisa mengubah tab browser-mu, jadi script-nya menggambar ikon yang sama di tab tiruan dan dalam tiga ukuran:
Di ukuran 16 piksel hanya ada ruang untuk satu huruf tebal atau satu bentuk sederhana, dan detail halus akan hilang. Rancang ikonnya untuk ukuran terkecil lebih dulu. Ubah fill='%232563eb' ke warna lain (%23 adalah # yang di-encode untuk URL) dan setiap salinannya ikut berubah.
File yang perlu disediakan
Browser, ponsel, dan peluncur aplikasi mencari ikon yang berbeda-beda. Sekumpulan kecil file sudah mencakup semuanya:
<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">
<link rel="manifest" href="/manifest.webmanifest">
| File | Ukuran | Dipakai untuk |
|---|---|---|
favicon.ico | 32×32 | Tab browser, dan alat yang hanya mencari /favicon.ico |
icon.svg | Berapa pun (vektor) | Tab yang tajam di setiap kepadatan layar, di Chrome, Edge dan Firefox |
apple-touch-icon.png | 180×180 | Ikon saat seseorang menambahkan situsmu ke layar utama iPhone atau iPad |
| Ikon manifest | PNG 192×192 dan 512×512 | Layar utama Android dan aplikasi web yang diinstal |
Kebanyakan browser juga meminta /favicon.ico dari root situs dengan sendirinya saat sebuah halaman tidak punya link ikon, jadi menaruh favicon.ico di sana adalah default yang berguna. Atribut sizes memberi tahu browser ukuran setiap file, supaya browser bisa memilih yang paling cocok. Pakai rel="icon"; rel="shortcut icon" yang lebih lama hanya berfungsi karena browser mengabaikan kata tambahannya.
Favicon emoji
Untuk prototipe atau halaman pribadi, emoji bisa menjadi favicon yang cepat dibuat. Taruh di dalam elemen SVG <text>:
%F0%9F%8D%AA adalah emoji kue kering, yang di-encode untuk URL. Emoji digambar oleh font emoji sistem operasi, jadi tampilannya berbeda di Windows, macOS, dan Android, dan untuk produk sungguhan ikon yang didesain adalah pilihan yang lebih baik.
Ikon yang mengikuti mode gelap
Favicon SVG bisa membawa CSS-nya sendiri, termasuk media query prefers-color-scheme, jadi ikon gelap bisa berubah menjadi terang saat browser memakai tema gelap:
<!-- icon.svg -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<style>
circle { fill: #111827; }
@media (prefers-color-scheme: dark) { circle { fill: #f9fafb; } }
</style>
<circle cx="16" cy="16" r="14"/>
</svg>
Mengubah favicon dengan JavaScript
Situs memakai favicon yang berubah untuk titik notifikasi atau warna status. Gambar ikon baru di <canvas> lalu atur href link-nya ke gambar canvas itu:
Di halaman sungguhan di Chrome atau Firefox, ikon tab berubah setiap kali href diatur, pada saat yang sama dengan gambar pratinjau yang berubah di sini.
Kesalahan umum
- Path yang salah.
href="favicon.ico"relatif terhadap halaman saat ini, jadi rusak di/blog/post. Pakai path dari root:href="/favicon.ico". - Berharap perubahan langsung terlihat. Browser menyimpan favicon di cache dengan sangat kuat. Muat ulang dengan cache yang dikosongkan, atau ubah URL-nya (
/favicon.ico?v=2) saat kamu mengganti ikon. - Logo yang detail diperkecil sampai 16 piksel. Sederhanakan: satu huruf atau satu bentuk dengan kontras yang kuat.
- Hanya SVG. Tetap sediakan ICO atau PNG untuk browser yang tidak mendukung favicon SVG, dan tambahkan
apple-touch-iconuntuk iOS. - Menaruh link di
<body>. Simpan di<head>bersama tag title dan metadata lainnya.
Pertanyaan yang sering diajukan
Bagaimana cara menambahkan favicon di HTML?
Taruh file ikon di situsmu dan tambahkan <link rel="icon" href="/favicon.ico"> (atau path PNG atau SVG) di dalam <head>. Browser lalu menampilkannya di tab, di bookmark, dan di daftar riwayat.
Berapa ukuran favicon yang sebaiknya?
Sediakan favicon.ico (atau PNG) berukuran 32×32 untuk tab, SVG yang bisa diskalakan ke ukuran berapa pun, dan PNG apple-touch-icon berukuran 180×180 untuk layar utama iPhone. Aplikasi web dengan manifest juga mencantumkan PNG 192×192 dan 512×512.
Kenapa favicon-ku tidak muncul?
Penyebab yang biasa adalah path yang salah di href, <link> yang berada di luar <head>, atau browser yang masih menampilkan ikon lama dari cache. Buka URL ikonnya langsung untuk memeriksa path-nya, lalu muat ulang dengan cache yang dikosongkan atau tambahkan versi seperti ?v=2 ke URL-nya.
Bisakah aku memakai SVG atau PNG sebagai favicon?
Bisa. Pakai <link rel="icon" href="/icon.svg" type="image/svg+xml"> atau <link rel="icon" href="/icon.png" type="image/png">. SVG berfungsi di Chrome, Edge dan Firefox; tetap sediakan ICO atau PNG untuk browser yang tidak mendukungnya.
Apakah aku butuh rel="shortcut icon"?
Tidak. rel="icon" adalah nilai standarnya. Kata shortcut adalah sisa dari Internet Explorer lama dan tidak berpengaruh apa-apa di browser saat ini.
Bisakah aku memakai emoji sebagai favicon?
Bisa, dengan membungkusnya dalam SVG: data URI SVG yang berisi elemen <text> dengan emoji itu. Cara ini praktis untuk prototipe, tapi emojinya terlihat berbeda di setiap sistem operasi.