Stack installation guides

Install favicons correctly in every framework.

Choose a stack to see where files go, where snippets go, what to copy, and how to verify the setup.

Exact file locationsCopy-ready snippetsFramework-specific mistakes
Core9 files

Plain HTML / Static Site

For static sites where you can place files at the public root and edit the HTML head manually.

Generate package

1. Package output

After generating icons, this stack should download as favico-html-modern-package.zip.

The ZIP should contain one top-level folder: favico-html-modern-favicon/.

Expected package tree
favico-html-modern-favicon/
├── favicon.ico
├── favicon.svg
├── favicon-dark.svg
├── favicon-96x96.png
├── favicon-dark-96x96.png
├── apple-touch-icon.png
├── site.webmanifest
├── web-app-manifest-192x192.png
└── web-app-manifest-512x512.png

2. File copy location

Copy the generated favicon files to website root beside index.html.

Generated fileTarget locationStatusPurpose
favicon.icofavicon.icoOptionalOptional classic browser fallback file. Keep it when useful, but do not link it by default in modern light/dark favicon snippets.
favicon.svgfavicon.svgRequiredLight-mode SVG favicon for modern browsers.
favicon-dark.svgfavicon-dark.svgOptionalDark-mode SVG favicon used with prefers-color-scheme: dark.
favicon-96x96.pngfavicon-96x96.pngRequiredLight-mode PNG fallback favicon.
favicon-dark-96x96.pngfavicon-dark-96x96.pngOptionalDark-mode PNG fallback favicon.
apple-touch-icon.pngapple-touch-icon.pngRequirediPhone/iPad home screen icon.
site.webmanifestsite.webmanifestRequiredWeb app manifest containing app metadata and PWA icon references.
web-app-manifest-192x192.pngweb-app-manifest-192x192.pngRequired192×192 Android/PWA icon referenced by the web app manifest.
web-app-manifest-512x512.pngweb-app-manifest-512x512.pngRequired512×512 Android/PWA icon referenced by the web app manifest.

4. Head/favicon snippet location: index.html before </head>

index.html before </head>
<meta name="color-scheme" content="light dark">

<link rel="icon" type="image/svg+xml" href="/favicon.svg?v=10" media="(prefers-color-scheme: light)">
<link rel="icon" type="image/svg+xml" href="/favicon-dark.svg?v=10" media="(prefers-color-scheme: dark)">

<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png?v=10" media="(prefers-color-scheme: light)">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-dark-96x96.png?v=10" media="(prefers-color-scheme: dark)">

<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=10">
<link rel="manifest" href="/site.webmanifest?v=10">

5. Why this works

  • The generated favicon assets are served from the website root, so the favicon links use root URLs such as /favicon.svg.
  • The SVG and PNG links support modern browsers and light/dark color schemes.
  • The web manifest connects Android/PWA icons with the website.

Support Favico Studio

Satisfied with the result?

If Favico Studio helped you create your favicon faster, you can support the creator and help keep this tool free, fast, and available for everyone.

Support the creator

6. Verify the setup

Run command
Use your local static server or deployment preview.
Verify URLs
/favicon.svg
/favicon-dark.svg
/site.webmanifest
/web-app-manifest-192x192.png
/web-app-manifest-512x512.png

7. Common mistakes

Using the source folder name in the browser URL

Wrong: /public/favicon.svg or /static/favicon.svg

Correct: /favicon.svg

Most frameworks copy public/static assets to the website root. The browser should usually request the root URL, not the source folder name.

Making favicon.ico the main favicon

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

Correct: Use SVG and PNG links with light/dark media queries.

favicon.ico is included as an old-browser fallback, but actively linking it can override the modern light/dark setup.

8. Final checklist

Correct stack selected.
Correct package downloaded and extracted.
Files copied to the exact folder shown in this guide.
Config snippet added only when this stack requires it.
Head/favicon snippet added to the exact head location shown in this guide.
No /public/ or /static/ URL is used unless the framework explicitly requires it.
favicon.ico is kept as fallback only, not actively linked as the main favicon.
favicon.svg loads directly.
favicon-dark.svg loads directly.
site.webmanifest loads directly.
Manifest icon PNG files load directly.
Browser cache cleared and Favico Studio checker passes.