Home /
Blog /
How to Add a Favicon to Your Website (HTML Guide)
how-to 2026-02-14
How to Add a Favicon to Your Website (HTML Guide)
Adding a favicon to your website is one of the simplest yet most impactful things you can do. Here's the complete HTML code guide, from the absolute minimum to the full professional setup.
Step 1: Prepare Your Favicon Files
Before writing any HTML, you need the actual icon files. You have two options:
Create from scratch — Use the Image to Favicon tool to convert any PNG/JPG image into a complete favicon package.
Use an existing icon — Find inspiration by downloading favicons from websites you admire.
At minimum, you'll need:
favicon.ico (32×32) — The legacy format
apple-touch-icon.png (180×180) — For iOS devices
Step 2: Place Files in Your Root Directory
Upload your favicon files to the root of your website (same level as index.html). Browsers automatically look for /favicon.ico at the root, even without any HTML declaration.
your-website/
├── index.html
├── favicon.ico
├── favicon-32x32.png
├── favicon-16x16.png
├── apple-touch-icon.png
├── android-chrome-192x192.png
├── android-chrome-512x512.png
└── site.webmanifest
Step 3: Add HTML to Your <head>
Minimum Setup (2 lines)
<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
This handles browser tabs and iOS home screen. Good enough for most personal projects.
Recommended Setup (5 lines)
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
This covers all modern browsers, iOS, Android, and PWA. This is what we recommend for production websites.
Full Professional Setup (with theme color)
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
<meta name="theme-color" content="#ffffff">
<meta name="msapplication-TileColor" content="#ffffff">
The site.webmanifest File
This JSON file tells Android and PWAs about your icons:
{
"name": "Your Site Name",
"short_name": "Site",
"icons": [
{ "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}
Framework-Specific Instructions
React (Create React App / Vite)
Place favicon files in the public/ folder and add link tags to public/index.html (CRA) or index.html (Vite).
Next.js (App Router)
Place favicon.ico in the app/ directory. Next.js 13+ automatically serves it. For other formats, use the metadata export in layout.tsx.
WordPress
Go to Appearance → Customize → Site Identity → Site Icon . Upload a 512×512 PNG and WordPress generates all sizes automatically.
Testing Your Favicon
After adding the code:
Hard refresh your browser (Ctrl+Shift+R or Cmd+Shift+R) — favicons are heavily cached.
Open in Incognito/Private mode to bypass cache entirely.
Check the Google Rich Results test to see how your favicon appears in search results.
Test on an actual iPhone/iPad by adding to home screen.
Common Mistakes to Avoid
Wrong path — Use absolute paths (/favicon.ico) instead of relative ones (favicon.ico) to work on all pages.
Missing type attribute — Always specify type="image/png" or type="image/x-icon" for best compatibility.
Forgetting Apple Touch Icon — Without it, iOS will take a screenshot of your page instead, which looks terrible.
Not clearing cache — Favicons are cached aggressively. Always hard-refresh after changes.
Añadir un favicon a tu sitio web es una de las cosas más sencillas pero con mayor impacto que puedes hacer. Aquí tienes la guía completa de código HTML, desde lo mínimo indispensable hasta la configuración profesional completa.
Paso 1: Prepara tus archivos de Favicon
Antes de escribir cualquier HTML, necesitas los archivos de icono reales. Tienes dos opciones:
Crear desde cero — Usa la herramienta Image to Favicon para convertir cualquier imagen PNG/JPG en un paquete completo de favicon.
Usar un icono existente — Encuentra inspiración descargando favicons de sitios web que admires.
Como mínimo, necesitarás:
favicon.ico (32×32) — El formato heredado.
apple-touch-icon.png (180×180) — Para dispositivos iOS.
Paso 2: Coloca los archivos en tu directorio raíz
Sube tus archivos de favicon a la raíz de tu sitio web (al mismo nivel que index.html). Los navegadores buscan automáticamente /favicon.ico en la raíz, incluso sin ninguna declaración HTML.
your-website/
├── index.html
├── favicon.ico
├── favicon-32x32.png
├── favicon-16x16.png
├── apple-touch-icon.png
├── android-chrome-192x192.png
├── android-chrome-512x512.png
└── site.webmanifest
Paso 3: Añade HTML a tu <head>
Configuración mínima (2 líneas)
<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
Esto gestiona las pestañas del navegador y la pantalla de inicio de iOS. Suficiente para la mayoría de los proyectos personales.
Configuración recomendada (5 líneas)
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
Esto cubre todos los navegadores modernos, iOS, Android y PWA. Esto es lo que recomendamos para sitios web en producción.
Configuración profesional completa (con color de tema)
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
<meta name="theme-color" content="#ffffff">
<meta name="msapplication-TileColor" content="#ffffff">
El archivo site.webmanifest
Este archivo JSON informa a Android y a las PWA sobre tus iconos:
{
"name": "Your Site Name",
"short_name": "Site",
"icons": [
{ "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}
Instrucciones específicas por Framework
React (Create React App / Vite)
Coloca los archivos de favicon en la carpeta public/ y añade las etiquetas de enlace a public/index.html (CRA) o index.html (Vite).
Next.js (App Router)
Coloca favicon.ico en el directorio app/. Next.js 13+ lo sirve automáticamente. Para otros formatos, usa la exportación metadata en layout.tsx.
WordPress
Ve a Apariencia → Personalizar → Identidad del sitio → Icono del sitio . Sube un PNG de 512×512 y WordPress generará todos los tamaños automáticamente.
Probando tu Favicon
Después de añadir el código:
Actualiza forzadamente tu navegador (Ctrl+Shift+R o Cmd+Shift+R) — los favicons se almacenan en caché de forma intensiva.
Abre en modo Incógnito/Privado para omitir la caché por completo.
Verifica la prueba de resultados enriquecidos de Google para ver cómo aparece tu favicon en los resultados de búsqueda.
Prueba en un iPhone/iPad real añadiéndolo a la pantalla de inicio.
Errores comunes a evitar
Ruta incorrecta — Usa rutas absolutas (/favicon.ico) en lugar de relativas (favicon.ico) para que funcione en todas las páginas.
Atributo type faltante — Siempre especifica type="image/png" o type="image/x-icon" para la mejor compatibilidad.
Olvidar el Apple Touch Icon — Sin él, iOS tomará una captura de pantalla de tu página en su lugar, lo cual se ve terrible.
No limpiar la caché — Los favicons se almacenan en caché de forma agresiva. Siempre actualiza forzadamente después de los cambios.
웹사이트에 favicon을 추가하는 것은 가장 간단하면서도 가장 영향력 있는 작업 중 하나입니다. 여기 최소한의 설정부터 완벽한 전문가 설정까지, 전체 HTML 코드 가이드가 있습니다.
1단계: Favicon 파일 준비하기
HTML을 작성하기 전에 실제 아이콘 파일이 필요합니다. 두 가지 옵션이 있습니다.
최소한 다음이 필요합니다.
favicon.ico (32×32) — 레거시 형식입니다.
apple-touch-icon.png (180×180) — iOS 기기용입니다.
2단계: 파일을 루트 디렉토리에 배치하기
favicon 파일을 웹사이트의 루트 (index.html과 동일한 수준)에 업로드하십시오. 브라우저는 HTML 선언 없이도 루트에서 /favicon.ico를 자동으로 찾습니다.
your-website/
├── index.html
├── favicon.ico
├── favicon-32x32.png
├── favicon-16x16.png
├── apple-touch-icon.png
├── android-chrome-192x192.png
├── android-chrome-512x512.png
└── site.webmanifest
3단계: <head>에 HTML 추가하기
최소 설정 (2줄)
<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
이것은 브라우저 탭과 iOS 홈 화면을 처리합니다. 대부분의 개인 프로젝트에 충분합니다.
권장 설정 (5줄)
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
이것은 모든 최신 브라우저, iOS, Android 및 PWA를 지원합니다. 이것이 프로덕션 웹사이트에 권장하는 설정입니다.
완벽한 전문가 설정 (테마 색상 포함)
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
<meta name="theme-color" content="#ffffff">
<meta name="msapplication-TileColor" content="#ffffff">
site.webmanifest 파일
이 JSON 파일은 Android 및 PWA에 아이콘에 대한 정보를 알려줍니다.
{
"name": "Your Site Name",
"short_name": "Site",
"icons": [
{ "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}
프레임워크별 지침
React (Create React App / Vite)
favicon 파일을 public/ 폴더에 배치하고, public/index.html (CRA) 또는 index.html (Vite)에 링크 태그를 추가하십시오.
Next.js (App Router)
favicon.ico를 app/ 디렉토리에 배치하십시오. Next.js 13+는 이를 자동으로 제공합니다. 다른 형식의 경우 layout.tsx의 metadata export를 사용하십시오.
WordPress
외모 → 사용자 정의 → 사이트 아이덴티티 → 사이트 아이콘 으로 이동하십시오. 512×512 PNG를 업로드하면 WordPress가 모든 크기를 자동으로 생성합니다.
Favicon 테스트하기
코드를 추가한 후:
브라우저를 하드 새로고침 하십시오 (Ctrl+Shift+R 또는 Cmd+Shift+R) — favicons는 강력하게 캐시됩니다.
캐시를 완전히 우회하려면 시크릿/개인 모드 로 여십시오.
Google 리치 결과 테스트 를 확인하여 검색 결과에 favicon이 어떻게 나타나는지 확인하십시오.
실제 iPhone/iPad 에서 홈 화면에 추가하여 테스트하십시오.
피해야 할 일반적인 실수
잘못된 경로 — 모든 페이지에서 작동하도록 상대 경로(favicon.ico) 대신 절대 경로(/favicon.ico)를 사용하십시오.
type 속성 누락 — 최상의 호환성을 위해 항상 type="image/png" 또는 type="image/x-icon"을 지정하십시오.
Apple Touch Icon 누락 — 이것이 없으면 iOS는 페이지의 스크린샷을 찍게 되어 보기가 좋지 않습니다.
캐시 지우기 누락 — Favicons는 적극적으로 캐시됩니다. 변경 후에는 항상 하드 새로고침을 하십시오.
ウェブサイトにfaviconを追加することは、最もシンプルでありながら、非常に効果的な改善の一つです。ここでは、最低限の設定からプロフェッショナルな完全設定まで、HTMLコードの完全ガイドをご紹介します。
ステップ1:Faviconファイルを準備する
HTMLを記述する前に、実際のアイコンファイルが必要です。選択肢は2つあります。
最低限、以下のものが必要です。
favicon.ico (32×32) — レガシーフォーマットです
apple-touch-icon.png (180×180) — iOSデバイス用です
ステップ2:ファイルをルートディレクトリに配置する
faviconファイルをウェブサイトのルート (index.htmlと同じ階層)にアップロードしてください。ブラウザは、HTML宣言がなくても、ルートにある/favicon.icoを自動的に探します。
your-website/
├── index.html
├── favicon.ico
├── favicon-32x32.png
├── favicon-16x16.png
├── apple-touch-icon.png
├── android-chrome-192x192.png
├── android-chrome-512x512.png
└── site.webmanifest
ステップ3:<head>にHTMLを追加する
最小限の設定(2行)
<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
これはブラウザのタブとiOSのホーム画面に対応します。ほとんどの個人プロジェクトにはこれで十分です。
推奨設定(5行)
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
これは、すべてのモダンブラウザ、iOS、Android、およびPWAに対応します。本番環境のウェブサイトには、この設定を推奨します。
完全なプロフェッショナル設定(テーマカラー付き)
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
<meta name="theme-color" content="#ffffff">
<meta name="msapplication-TileColor" content="#ffffff">
site.webmanifestファイル
このJSONファイルは、AndroidとPWAにアイコンについて伝えます。
{
"name": "Your Site Name",
"short_name": "Site",
"icons": [
{ "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}
フレームワーク別の手順
React (Create React App / Vite)
faviconファイルをpublic/フォルダに配置し、public/index.html (CRA) または index.html (Vite) にリンクタグを追加してください。
Next.js (App Router)
favicon.icoをapp/ディレクトリに配置してください。Next.js 13以降は自動的にこれを配信します。他のフォーマットについては、layout.tsxのmetadataエクスポートを使用してください。
WordPress
外観 → カスタマイズ → サイト基本情報 → サイトアイコン に移動してください。512×512のPNGをアップロードすると、WordPressがすべてのサイズを自動的に生成します。
Faviconのテスト
コードを追加した後:
ブラウザをハードリフレッシュ してください(Ctrl+Shift+RまたはCmd+Shift+R)— faviconは強力にキャッシュされます。
キャッシュを完全にバイパスするために、シークレット/プライベートモード で開いてください。
Googleリッチリザルトテスト で、検索結果にfaviconがどのように表示されるかを確認してください。
実際のiPhone/iPad で、ホーム画面に追加してテストしてください。
避けるべき一般的な間違い
パスの間違い — すべてのページで機能するように、相対パス(favicon.ico)ではなく、絶対パス(/favicon.ico)を使用してください。
type属性の欠落 — 最高の互換性のために、常にtype="image/png"またはtype="image/x-icon"を指定してください。
Apple Touch Iconの忘れ — これがないと、iOSはページのスクリーンショットを撮ってしまい、見栄えが悪くなります。
キャッシュのクリア忘れ — faviconは積極的にキャッシュされます。変更後は常にハードリフレッシュを行ってください。
给网站添加 Favicon 是最简单但影响力最大的事情之一。以下是完整的 HTML 代码指南,从最简配置到专业级设置。
第一步:准备 Favicon 文件
在编写 HTML 之前,你需要实际的图标文件。有两种选择:
最少需要:
favicon.ico(32×32)— 传统格式
apple-touch-icon.png(180×180)— 适用于 iOS 设备
第二步:放置文件到根目录
将 Favicon 文件上传到网站的根目录 (与 index.html 同级)。即使没有 HTML 声明,浏览器也会自动在根目录查找 /favicon.ico。
your-website/
├── index.html
├── favicon.ico
├── favicon-32x32.png
├── favicon-16x16.png
├── apple-touch-icon.png
├── android-chrome-192x192.png
├── android-chrome-512x512.png
└── site.webmanifest
第三步:在 <head> 中添加 HTML
最简配置(2 行)
<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
覆盖浏览器标签页和 iOS 主屏幕。个人项目够用了。
推荐配置(5 行)
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
覆盖所有现代浏览器、iOS、Android 和 PWA。这是我们推荐的生产环境配置。
完整专业配置(带主题色)
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
<meta name="theme-color" content="#ffffff">
<meta name="msapplication-TileColor" content="#ffffff">
site.webmanifest 文件
这个 JSON 文件告诉 Android 和 PWA 你的图标信息:
{
"name": "你的网站名",
"short_name": "简称",
"icons": [
{ "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}
各框架特别说明
React(Create React App / Vite)
将 Favicon 文件放在 public/ 文件夹中,在 public/index.html(CRA)或 index.html(Vite)中添加 link 标签。
Next.js(App Router)
将 favicon.ico 放在 app/ 目录中。Next.js 13+ 会自动提供服务。其他格式使用 layout.tsx 中的 metadata 导出。
WordPress
进入外观 → 自定义 → 站点身份 → 站点图标 。上传 512×512 的 PNG,WordPress 会自动生成所有尺寸。
测试你的 Favicon
添加代码后:
强制刷新 浏览器(Ctrl+Shift+R 或 Cmd+Shift+R)— Favicon 缓存很重。
在无痕/隐私模式 中打开,完全绕过缓存。
检查 Google 富媒体搜索结果测试 ,看 Favicon 在搜索结果中的显示效果。
在真实 iPhone/iPad 上测试添加到主屏幕功能。
常见错误
路径错误 — 使用绝对路径(/favicon.ico)而非相对路径(favicon.ico),确保在所有页面都能正常工作。
缺少 type 属性 — 始终指定 type="image/png" 或 type="image/x-icon" 以获得最佳兼容性。
忘记 Apple Touch Icon — 没有它,iOS 会截取页面截图作为图标,效果很差。
没有清除缓存 — Favicon 缓存很强。修改后务必强制刷新。
Generate all favicon files automatically
Upload one image, get a complete favicon package with all sizes and the HTML code.
Image to Favicon Tool →