Comment ajouter une icône d'onglet de navigateur (favicon) pour un site Web?


578

J'ai travaillé sur un site Web et j'aimerais ajouter une petite icône à l'onglet du navigateur.

Comment puis-je le faire en HTML et où dois-je le placer dans le code (par exemple en-tête)? J'ai un .pngfichier de logo que j'aimerais convertir en icône.

Connexes: l' image HTML définie dans l'onglet du navigateur .


1
consultez le lien pour plus d'informations. Tu es sur la bonne piste.
reggie

Téléchargez l'image (favicon.ico) avec FTP (lisez notre tutoriel FTP) dans la section racine de votre site Web. La section racine est la zone de fichier principale, où vous stockeriez le fichier index.html (index.asp, index.php, etc.) pour votre page principale. davesite.com serait la racine davesite.com/webstation ne serait pas la racine davesite.com/webstation/html n'est pas non plus root Ce fichier, placé correctement, se chargera par défaut pour l'ensemble de votre domaine.
knookie

appuyez sur la touche entrée prématurément - merci de toute façon pour la réponse. J'allais juste dire que la première partie (que j'ai collée ci-dessus) du lien que vous avez donné ne semblait pas fonctionner? Cependant, la deuxième partie a parfaitement fonctionné - merci
knookie

Réponses:


416

Il existe en fait deux façons d'ajouter un favicon à un site Web.

<link rel="icon">

Ajoutez simplement le code suivant à l' <head>élément:

<link rel="icon" href="http://example.com/favicon.png">

Les favicons PNG sont pris en charge par la plupart des navigateurs, sauf IE <= 10 . Pour une compatibilité ascendante, vous pouvez utiliser des favicons ICO.

Notez que vous ne devez pas précéder icondans l' relattribut avecshortcut plus. À partir des types de liens MDN :

Le shortcuttype de lien est souvent vu auparavant icon, mais ce type de lien n'est pas conforme, ignoré et les auteurs Web ne doivent plus l'utiliser .

favicon.ico dans le répertoire racine

À partir d' une autre réponse SO (par @mercator ):

Tous les navigateurs modernes (testés avec Chrome 4, Firefox 3.5, IE8, Opera 10 et Safari 4) demanderont toujours un favicon.icosauf si vous avez spécifié une icône de raccourci via <link>.

Il ne vous reste donc plus qu'à faire la /favicon.icodemande à votre site internet de retourner votre favicon. Cette option ne vous permet malheureusement pas d'utiliser une icône PNG.

Voir aussi favicon.png vs favicon.ico - pourquoi devrais-je utiliser PNG au lieu d'ICO?


1
Si vous souhaitez que TOUTES les icônes automatiquement (y compris les icônes mobiles, `` ajouter à l'écran d'accueil '', les signets mobiles, iOS / Droid, l'onglet de bureau, etc.), la génération de fichiers ICO, etc., ainsi que le code HTML à copier-coller pour lesdits méta-fichiers, tout en un seul clic, vous pouvez utiliser cet outil pratique (je ne suis pas affilié) realfavicongenerator.net
Albert Renshaw

2
Vous voulez ajouter: votre icône doit être de dimension carrée, cela signifie que la largeur est égale à la hauteur.
Nguyen Tan Dat

3
N'oubliez pas d'appuyer sur Ctrl + F5 lors du test. Parfois, il est mis en cache.
Hairi

Je n'ai pas trouvé que le simple fait de placer un fichier ICO nommé favicon.ico dans le répertoire racine de mon site a provoqué le chargement de FireFox ou de Chrome. J'ai donc pris la <link relroute. MAIS, l'adresse de mon site n'est pas répertoriée de manière fiable dans DNS, donc je ne peux pas compter sur href="http://example.com"pour la récupérer. Je suis donc arrivé à cette solution dans mon index.htmdossier:<link rel="icon" href="favicon.ico">
CODE-REaD

426
  1. Utilisez un outil pour convertir votre png en un fichier ico. Vous pouvez rechercher "générateur de favicon" et vous pouvez trouver de nombreux outils en ligne.
  2. Placez l'adresse ico dans le headavec un link-tag:

    <link rel="shortcut icon" href="http://sstatic.net/stackoverflow/img/favicon.ico">

3
Merci! J'ai suivi les étapes correctement et cela fonctionne vraiment bien sur IE et Firefox, mais pour une raison quelconque, cela ne fonctionne pas sur Google Chrome, dois-je supprimer le cache? ou que dois-je faire à partir de là?
PatrickGamboa


2
La partie "raccourci" peut être supprimée dans de nombreuses circonstances: stackoverflow.com/questions/13211206/… , mathiasbynens.be/notes/rel-shortcut-icon
bbc

72

Le meilleur que j'ai trouvé est http://www.favicomatic.com/ Je dis mieux car il m'a donné le favicon le plus net et n'a nécessité aucune modification après leur transformation. Il générera des favicons en 16x16 et 32x32 et pour les citer "Toutes les foutues tailles, monsieur!" De plus, leur site a l'air cool et est facile à utiliser.

Ils génèrent également le code HTML que vous devez utiliser pour les fichiers qu'ils génèrent.

<link rel="apple-touch-icon-precomposed" sizes="57x57" href="apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="60x60" href="apple-touch-icon-60x60.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="76x76" href="apple-touch-icon-76x76.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="apple-touch-icon-152x152.png" />
<link rel="icon" type="image/png" href="favicon-196x196.png" sizes="196x196" />
<link rel="icon" type="image/png" href="favicon-96x96.png" sizes="96x96" />
<link rel="icon" type="image/png" href="favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="favicon-16x16.png" sizes="16x16" />
<link rel="icon" type="image/png" href="favicon-128.png" sizes="128x128" />
<meta name="application-name" content="&nbsp;"/>
<meta name="msapplication-TileColor" content="#FFFFFF" />
<meta name="msapplication-TileImage" content="mstile-144x144.png" />
<meta name="msapplication-square70x70logo" content="mstile-70x70.png" />
<meta name="msapplication-square150x150logo" content="mstile-150x150.png" />
<meta name="msapplication-wide310x150logo" content="mstile-310x150.png" />
<meta name="msapplication-square310x310logo" content="mstile-310x310.png" />

J'ai regardé les 20 premiers résultats de google, et c'était de loin le meilleur.


4
Je suis censé mettre tout cela dans ma balise de tête pour chaque page?
Noumenon

1
Je ne mettrais pas tout cela dans votre étiquette de tête. Je ne mettrais que les balises nécessaires pour prendre en charge les appareils que vous devez prendre en charge. Honnêtement, vous pouvez vous en tirer avec un seul <link rel = "icon" type = "image / ico" href = "/ images / favicon.ico">
Jared Menard

5
Cette page git explique à quoi servent la plupart de ces icônes: github.com/audreyr/favicon-cheat-sheet
Jared Menard

14

Il existe un certain nombre d'icônes différentes et même des écrans de démarrage que vous pouvez définir pour différents appareils. Cette réponse passe par la façon de les soutenir tous.

Voici quelques extraits que j'ai utilisés avec des liens pertinents vers l'endroit où j'ai recueilli les informations. Voir mon blog pour plus d'informations et plus d'informations sur le modèle de projet ASP.NET MVC Boilerplate avec tout cela intégré dès la sortie de l'emballage (y compris des exemples de fichiers d'image).

Ajoutez le balisage suivant à votre tête html. Les sections commentées sont entièrement facultatives. Bien que les sections non commentées soient recommandées pour couvrir toutes les utilisations des icônes. N'ayez pas peur, surtout s'il s'agit de commentaires pour vous aider.

<!-- Icons & Platform Specific Settings - Favicon generator used to generate the icons below http://realfavicongenerator.net/ -->
<!-- shortcut icon - It is best to add this icon to the root of your site and only use this link element if you move it somewhere else. This file contains the following sizes 16x16, 32x32 and 48x48. -->
<!--<link rel="shortcut icon" href="favicon.ico">-->
<!-- favicon-96x96.png - For Google TV. -->
<link rel="icon" type="image/png" href="/content/images/favicon-96x96.png" sizes="96x96">
<!-- favicon-16x16.png - The classic favicon, displayed in the tabs. -->
<link rel="icon" type="image/png" href="/content/images/favicon-16x16.png" sizes="16x16">
<!-- favicon-32x32.png - For Safari on Mac OS. -->
<link rel="icon" type="image/png" href="/content/images/favicon-32x32.png" sizes="32x32">

<!-- Android/Chrome -->
<!-- manifest-json - The location of the browser configuration file. It contains locations of icon files, name of the application and default device screen orientation. Note that the name field is mandatory.
    https://developer.chrome.com/multidevice/android/installtohomescreen. -->
<link rel="manifest" href="/content/icons/manifest.json">
<!-- theme-color - The colour of the toolbar in Chrome M39+
    http://updates.html5rocks.com/2014/11/Support-for-theme-color-in-Chrome-39-for-Android -->
<meta name="theme-color" content="#1E1E1E">
<!-- favicon-192x192.png - For Android Chrome M36 to M38 this HTML is used. M39+ uses the manifest.json file. -->
<link rel="icon" type="image/png" href="/content/icons/favicon-192x192.png" sizes="192x192">
<!-- mobile-web-app-capable - Run Android/Chrome version M31 to M38 in standalone mode, hiding the browser chrome. -->
<!-- <meta name="mobile-web-app-capable" content="yes"> -->

<!-- Apple Icons - You can move all these icons to the root of the site and remove these link elements, if you don't mind the clutter.
    https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariHTMLRef/Introduction.html#//apple_ref/doc/uid/30001261-SW1 -->
<!-- apple-mobile-web-app-title - The name of the application if pinned to the IOS start screen. -->
<!--<meta name="apple-mobile-web-app-title" content="">-->
<!-- apple-mobile-web-app-capable - Hide the browsers user interface on IOS, when the app is run in 'standalone' mode. Any links to other pages that are clicked whilst your app is in standalone mode will launch the full Safari browser. -->
<!--<meta name="apple-mobile-web-app-capable" content="yes">-->
<!-- apple-mobile-web-app-status-bar-style - default/black/black-translucent Styles the IOS status bar. Using black-translucent makes it transparent and overlays it on top of your site, so make sure you have enough margin. -->
<!--<meta name="apple-mobile-web-app-status-bar-style" content="black">-->
<!-- apple-touch-icon-57x57.png - Android Stock Browser and non-Retina iPhone and iPod Touch -->
<link rel="apple-touch-icon" sizes="57x57" href="/content/images/apple-touch-icon-57x57.png">
<!-- apple-touch-icon-114x114.png - iPhone (with 2× display) iOS = 6 -->
<link rel="apple-touch-icon" sizes="114x114" href="/content/images/apple-touch-icon-114x114.png">
<!-- apple-touch-icon-72x72.png - iPad mini and the first- and second-generation iPad (1× display) on iOS = 6 -->
<link rel="apple-touch-icon" sizes="72x72" href="/content/images/apple-touch-icon-72x72.png">
<!-- apple-touch-icon-144x144.png - iPad (with 2× display) iOS = 6 -->
<link rel="apple-touch-icon" sizes="144x144" href="/content/images/apple-touch-icon-144x144.png">
<!-- apple-touch-icon-60x60.png - Same as apple-touch-icon-57x57.png, for non-retina iPhone with iOS7. -->
<link rel="apple-touch-icon" sizes="60x60" href="/content/images/apple-touch-icon-60x60.png">
<!-- apple-touch-icon-120x120.png - iPhone (with 2× and 3 display) iOS = 7 -->
<link rel="apple-touch-icon" sizes="120x120" href="/content/images/apple-touch-icon-120x120.png">
<!-- apple-touch-icon-76x76.png - iPad mini and the first- and second-generation iPad (1× display) on iOS = 7 -->
<link rel="apple-touch-icon" sizes="76x76" href="/content/images/apple-touch-icon-76x76.png">
<!-- apple-touch-icon-152x152.png - iPad 3+ (with 2× display) iOS = 7 -->
<link rel="apple-touch-icon" sizes="152x152" href="/content/images/apple-touch-icon-152x152.png">
<!-- apple-touch-icon-180x180.png - iPad and iPad mini (with 2× display) iOS = 8 -->
<link rel="apple-touch-icon" sizes="180x180" href="/content/images/apple-touch-icon-180x180.png">

<!-- Apple Startup Images - These are shown when the page is loading if the site is pinned https://gist.github.com/tfausak/2222823 -->
<!-- apple-touch-startup-image-1536x2008.png - iOS 6 & 7 iPad (retina, portrait) -->
<link rel="apple-touch-startup-image"
      href="/content/images/apple-touch-startup-image-1536x2008.png"
      media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)">
<!-- apple-touch-startup-image-1496x2048.png - iOS 6 & 7 iPad (retina, landscape) -->
<link rel="apple-touch-startup-image"
      href="/content/images/apple-touch-startup-image-1496x2048.png"
      media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)">
<!-- apple-touch-startup-image-768x1004.png - iOS 6 iPad (portrait) -->
<link rel="apple-touch-startup-image"
      href="/content/images/apple-touch-startup-image-768x1004.png"
      media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)">
<!-- apple-touch-startup-image-748x1024.png - iOS 6 iPad (landscape) -->
<link rel="apple-touch-startup-image"
      href="/content/images/apple-touch-startup-image-748x1024.png"
      media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)">
<!-- apple-touch-startup-image-640x1096.png - iOS 6 & 7 iPhone 5 -->
<link rel="apple-touch-startup-image"
      href="/content/images/apple-touch-startup-image-640x1096.png"
      media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)">
<!-- apple-touch-startup-image-640x920.png - iOS 6 & 7 iPhone (retina) -->
<link rel="apple-touch-startup-image"
      href="/content/images/apple-touch-startup-image-640x920.png"
      media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)">
<!-- apple-touch-startup-image-320x460.png - iOS 6 iPhone -->
<link rel="apple-touch-startup-image"
      href="/content/images/apple-touch-startup-image-320x460.png"
      media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)">

<!-- Windows 8 Icons - If you add an RSS feed, revisit this page and regenerate the browserconfig.xml file. You will then have a cool live tile!
     browserconfig.xml - Windows 8.1 - Has been added to the root of the site. This points to the tile images and tile background colour. It contains the following images:
     mstile-70x70.png - For Windows 8.1 / IE11.
     mstile-144x144.png - For Windows 8 / IE10.
     mstile-150x150.png - For Windows 8.1 / IE11.
     mstile-310x310.png - For Windows 8.1 / IE11.
     mstile-310x150.png - For Windows 8.1 / IE11.
     See http://www.buildmypinnedsite.com/en and http://msdn.microsoft.com/en-gb/library/ie/dn255024%28v=vs.85%29.aspx. -->
<!-- application-name - Windows 8+ - The name of the application if pinned to the start screen. -->
<!--<meta name="application-name" content="">-->
<!-- msapplication-TileColor - Windows 8 - The tile colour which shows around your tile image (msapplication-TileImage). -->
<meta name="msapplication-TileColor" content="#5cb95c">
<!-- msapplication-TileImage - Windows 8 - The tile image. -->
<meta name="msapplication-TileImage" content="/content/images/mstile-144x144.png">

Mon fichier Browserconfig.xml. Explication complète ci-dessus.

<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
  <msapplication>
    <tile>
      <square70x70logo src="/Content/Images/mstile-70x70.png"/>
      <square150x150logo src="/Content/Images/mstile-150x150.png"/>
      <square310x310logo src="/Content/Images/mstile-310x310.png"/>
      <wide310x150logo src="/Content/Images/mstile-310x150.png"/>
      <TileColor>#5cb95c</TileColor>
    </tile>
  </msapplication>
</browserconfig>

Mon fichier manifest.json. Explication complète ci-dessus.

{
    "name": "ASP.NET MVC Boilerplate (Required! Update This)",
    "icons": [
        {
            "src": "\/Content\/icons\/android-chrome-36x36.png",
            "sizes": "36x36",
            "type": "image\/png",
            "density": "0.75"
        },
        {
            "src": "\/Content\/icons\/android-chrome-48x48.png",
            "sizes": "48x48",
            "type": "image\/png",
            "density": "1.0"
        },
        {
            "src": "\/Content\/icons\/android-chrome-72x72.png",
            "sizes": "72x72",
            "type": "image\/png",
            "density": "1.5"
        },
        {
            "src": "\/Content\/icons\/android-chrome-96x96.png",
            "sizes": "96x96",
            "type": "image\/png",
            "density": "2.0"
        },
        {
            "src": "\/Content\/icons\/android-chrome-144x144.png",
            "sizes": "144x144",
            "type": "image\/png",
            "density": "3.0"
        },
        {
            "src": "\/Content\/icons\/android-chrome-192x192.png",
            "sizes": "192x192",
            "type": "image\/png",
            "density": "4.0"
        }
    ]
}

Une liste des fichiers du projet (Notez que les noms de ces fichiers sont importants si vous décidez de mettre certains d'entre eux à la racine de votre projet pour éviter d'utiliser les balises META ci-dessus):

favicon.ico
browserconfig.xml
Content/Images/
    android-chrome-144x144.png
    android-chrome-192x192.png
    android-chrome-36x36.png
    android-chrome-48x48.png
    android-chrome-72x72.png
    android-chrome-96x96.png
    apple-touch-icon.png
    apple-touch-icon-57x57.png
    apple-touch-icon-60x60.png
    apple-touch-icon-72x72.png
    apple-touch-icon-76x76.png
    apple-touch-icon-114x114.png
    apple-touch-icon-120x120.png
    apple-touch-icon-144x144.png
    apple-touch-icon-152x152.png
    apple-touch-icon-180x180.png
    apple-touch-icon-precomposed.png (180x180)
    favicon-16x16.png
    favicon-32x32.png
    favicon-96x96.png
    favicon-192x192.png
    manifest.json
    mstile-70x70.png
    mstile-144x144.png
    mstile-150x150.png
    mstile-310x150.png
    mstile-310x310.png
    apple-touch-startup-image-1536x2008.png
    apple-touch-startup-image-1496x2048.png
    apple-touch-startup-image-768x1004.png
    apple-touch-startup-image-748x1024.png
    apple-touch-startup-image-640x1096.png
    apple-touch-startup-image-640x920.png
    apple-touch-startup-image-320x460.png

Frais généraux

Si vous supprimez les commentaires, cela représente 3 Ko de code HTML supplémentaire, si vous ne supportez pas les écrans de démarrage, c'est 1,5 Ko. Si vous utilisez la compression GZIP sur votre contenu HTML, ce que tout le monde devrait faire de nos jours, cela vous laisse environ 634 octets de surcharge par demande pour prendre en charge toutes les plateformes ou 446 octets sans écrans de démarrage. Personnellement, je pense que cela vaut la peine de prendre en charge les appareils IOS, Android et Windows, mais c'est votre choix, je ne fais que donner les options!

Note latérale sur la situation actuelle de l'icône Web / de l'écran de démarrage / des paramètres

Cette situation avec des icônes spécifiques au fournisseur, des écrans de démarrage et des balises spéciales pour contrôler le navigateur Web ou des icônes épinglées est ridicule. Dans un monde parfait, nous utiliserions tous un fichier favicon.svg qui pourrait bien paraître à n'importe quelle taille et pourrait être placé à la racine de la page. Seul FireFox prend en charge cela au moment de la rédaction (voir CanIUse.com ).

Cependant, les icônes ne sont pas le seul paramètre de nos jours, il existe plusieurs autres paramètres spécifiques au fournisseur (indiqués ci-dessus), mais un fichier favicon.svg couvrirait la plupart des cas d'utilisation.

Mise à jour

Mise à jour pour inclure la nouvelle version Android / Chrome M39 + favicon / options de thème. Fait intéressant, ils ont opté pour une approche similaire à Microsoft, mais utilisent un fichier JSON au lieu de XML.


11

J'ai créé un générateur de favicon en ligne avec lequel vous pouvez créer des favicons à partir d' icônes géniales de police . Vous pouvez prévisualiser le favicon créé en direct dans le navigateur.

entrez la description de l'image ici

Si vous souhaitez des fonctionnalités supplémentaires, n'hésitez pas à soumettre un problème ou une demande de pull ici :).


10

J'ai réussi cela pour mon site Web.

La seule exception est que le navigateur SeaMonkey nécessite que du code HTML soit inséré dans votre <head>; tandis que les autres navigateurs afficheront toujours le favicon.ico sans aucune insertion HTML. De plus, tout navigateur autre qu'IE peut utiliser d'autres types d'images, pas seulement le format .ico. J'espère que ça aide.


5

Il y a beaucoup de solutions compliquées ci-dessus. Pour moi? J'ai utilisé GIMP pour enregistrer une copie du fichier PNG d'origine après avoir changé la taille de l'image en 32 x 32 pixels.

Veillez simplement à l'enregistrer en tant que fichier * .ico et à utiliser le

<link rel="shortcut icon" href="http://sstatic.net/stackoverflow/img/favicon.ico">

énumérés ci-dessus


4

Je vous recommande d'essayer http://faviconer.com pour convertir votre .PNG ou .GIF en un fichier .ICO.

Vous pouvez créer les deux 16x16et 32x32(pour un nouvel affichage de la rétine) dans un fichier .ICO.

Aucun problème avec IE et Firefox


3

Pour que Chrome affiche l'icône de la page (favicon), vous devez vérifier votre site Web à partir d'un serveur d'hébergement ou vous pouvez utiliser un hôte local lors du développement et du test de votre site Web sur votre PC.


2
<link rel="shortcut icon" 
href="http://someWebsiteLocation/images/imageName.ico">

Si je peux ajouter plus de clarté pour ceux d'entre vous qui sont encore confus. Le fichier .ico a tendance à fournir plus de transparence que le .png, c'est pourquoi je recommande de convertir votre image ici comme mentionné ci-dessus: http://www.favicomatic.com/done également, à l'intérieur du href se trouve juste l'emplacement de l'image , il peut s'agir de n'importe quel emplacement de serveur, n'oubliez pas d'ajouter le http: // devant, sinon cela ne fonctionnera pas.


1

Je n'en ai pas utilisé d'autres, mais https://realfavicongenerator.net/ semble être un premier choix, et il n'a pas encore été mentionné ici.

Il prend en charge les SVG en tant qu'images source pour générer des favicons et fournit des options utiles pour remplacer les images pour différentes plates-formes. De plus, par défaut, il ne génère pas une tonne d'images pour être rétrocompatible avec toutes les plateformes obsolètes. Au lieu de cela, il vous donne des options pour vérifier si vous les souhaitez.

À partir d'un e-mail que le développeur m'a envoyé, ils ont également l'intention d'ajouter la prise en charge de la génération de favicons SVG, ainsi que la sensibilité au thème SVG , je pense, qui est une fonctionnalité totalement géniale.


0

Veuillez utiliser le code ci-dessous dans la section d'en-tête de votre fichier d'index.

<link rel="icon" href="yourfevicon.ico" />
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.