Menu

Favicon HTML: come aggiungere una favicon con link rel=icon

Una favicon è la piccola icona nella scheda del browser. Impara il tag link che la aggiunge, quali file e dimensioni fornire (ICO, SVG, PNG, apple-touch-icon), come creare una favicon SVG o emoji, come cambiarla con JavaScript e perché continua a comparire quella vecchia.

Questa pagina include editor eseguibili: modifica, esegui e vedi subito l'output.

Come aggiungere una favicon

Salva la tua icona sul sito e puntala da un tag <link rel="icon"> dentro <head>:

<link rel="icon" href="/favicon.ico">

Per un sito semplice è tutto qui. L'href può puntare a un file .ico, .png o .svg. L'esempio qui sotto usa un SVG scritto direttamente nell'href come data URI, così non serve un file separato. Un'anteprima dentro un'altra pagina non può cambiare la scheda del tuo browser, quindi lo script disegna la stessa icona in una finta scheda e in tre dimensioni:

A 16 pixel c'è spazio per una lettera in grassetto o una forma semplice, e i dettagli fini spariscono. Progetta l'icona partendo dalla dimensione più piccola. Cambia fill='%232563eb' con un altro colore (%23 è il # codificato per URL) e ogni copia si aggiorna.

Quali file fornire

Browser, telefoni e launcher di app cercano icone diverse. Un piccolo insieme le copre tutte:

<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">
FileDimensioneUsato per
favicon.ico32×32Schede del browser, e strumenti che cercano solo /favicon.ico
icon.svgQualsiasi (vettoriale)Schede nitide a ogni densità di schermo, in Chrome, Edge e Firefox
apple-touch-icon.png180×180L'icona quando qualcuno aggiunge il tuo sito alla schermata Home di un iPhone o iPad
Icone del manifestPNG da 192×192 e 512×512Schermata Home di Android e web app installate

La maggior parte dei browser richiede anche da sola /favicon.ico dalla radice del sito quando una pagina non ha un link all'icona, quindi mettere lì una favicon.ico è un utile valore predefinito. L'attributo sizes dice al browser di che dimensione è ogni file, così può scegliere quello più adatto. Usa rel="icon"; il vecchio rel="shortcut icon" funziona solo perché i browser ignorano la parola in più.

Una favicon emoji

Per un prototipo o una pagina personale, un'emoji è una favicon veloce. Mettila dentro un elemento SVG <text>:

%F0%9F%8D%AA è l'emoji del biscotto, codificata per URL. L'emoji viene disegnata dal font emoji del sistema operativo, quindi ha un aspetto diverso su Windows, macOS e Android, e per un prodotto vero è meglio un'icona disegnata apposta.

Un'icona che segue la modalità scura

Una favicon SVG può contenere il suo CSS, compresa una media query prefers-color-scheme, così un'icona scura può diventare chiara quando il browser usa un tema scuro:

<!-- 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>

Cambiare la favicon con JavaScript

I siti usano una favicon che cambia per un pallino di notifica o un colore di stato. Disegna la nuova icona su un <canvas> e imposta l'href del link sull'immagine del canvas:

In una pagina vera in Chrome o Firefox, l'icona della scheda cambia ogni volta che viene impostato href, nello stesso momento in cui qui cambia l'immagine di anteprima.

Errori comuni

  • Un percorso sbagliato. href="favicon.ico" è relativo alla pagina attuale, quindi non funziona su /blog/post. Usa un percorso dalla radice: href="/favicon.ico".
  • Aspettarsi che un aggiornamento si veda subito. I browser tengono le favicon in cache con ostinazione. Ricarica svuotando la cache, o cambia l'URL (/favicon.ico?v=2) quando sostituisci l'icona.
  • Un logo dettagliato ridotto a 16 pixel. Semplificalo: una lettera o una forma con un contrasto forte.
  • Solo un SVG. Tieni anche un ICO o un PNG per i browser senza supporto per le favicon SVG, e aggiungi l'apple-touch-icon per iOS.
  • Mettere il link nel <body>. Tienilo in <head> con il tag title e gli altri metadati.

Domande frequenti

Come aggiungo una favicon in HTML?

Metti il file dell'icona sul tuo sito e aggiungi <link rel="icon" href="/favicon.ico"> (o il percorso di un PNG o SVG) dentro <head>. I browser la mostrano poi nella scheda, nei preferiti e nella cronologia.

Che dimensione deve avere una favicon?

Fornisci una favicon.ico (o PNG) da 32×32 per le schede, un SVG che si adatta a qualsiasi dimensione e un PNG apple-touch-icon da 180×180 per la schermata Home dell'iPhone. Le web app con un manifest elencano anche PNG da 192×192 e 512×512.

Perché la mia favicon non si vede?

Le cause abituali sono un percorso sbagliato in href, il <link> fuori da <head>, o il browser che mostra ancora una vecchia icona dalla cache. Apri direttamente l'URL dell'icona per controllare il percorso, poi ricarica svuotando la cache o aggiungi una versione come ?v=2 all'URL.

Posso usare un SVG o un PNG come favicon?

Sì. Usa <link rel="icon" href="/icon.svg" type="image/svg+xml"> o <link rel="icon" href="/icon.png" type="image/png">. L'SVG funziona in Chrome, Edge e Firefox; tieni anche un ICO o un PNG per i browser che non lo supportano.

Serve rel="shortcut icon"?

No. rel="icon" è il valore standard. La parola shortcut è un residuo del vecchio Internet Explorer e non fa nulla nei browser attuali.

Posso usare un'emoji come favicon?

Sì, racchiudendola in un SVG: un data URI SVG che contiene un elemento <text> con l'emoji. È comodo per i prototipi, ma l'emoji ha un aspetto diverso su ogni sistema operativo.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA