Gatsby favicon package. Ready to install.
Download the correct Gatsby favicon package, place every file in the right location, and follow the exact installation steps for this stack.
Gatsby
For Gatsby projects. Source favicon files must be in root static/, not public/.
ZIP: favico-gatsby-modern-package.zip
Folder: favico-gatsby-modern-favicon/
- 1Download your favicon package.Download
favico-gatsby-modern-package.zipfor Gatsby. - 2Extract this package in your project.Extract it in
your project root. The package contains:Package structurefavico-gatsby-modern-favicon/ ├── static/favicon.ico ├── static/favicon.svg ├── static/favicon-dark.svg ├── static/favicon-96x96.png ├── static/favicon-dark-96x96.png ├── static/apple-touch-icon.png ├── static/site.webmanifest ├── static/web-app-manifest-192x192.png └── static/web-app-manifest-512x512.png - 3Copy the favicon files to the correct location.Copy the generated files to
static/.Generated file Copy to Status Purpose favicon.ico static/favicon.icoOptional Optional classic browser fallback file. Keep it when useful, but do not link it by default in modern light/dark favicon snippets. favicon.svg static/favicon.svgRequired Light-mode SVG favicon for modern browsers. favicon-dark.svg static/favicon-dark.svgOptional Dark-mode SVG favicon used with prefers-color-scheme: dark. favicon-96x96.png static/favicon-96x96.pngRequired Light-mode PNG fallback favicon. favicon-dark-96x96.png static/favicon-dark-96x96.pngOptional Dark-mode PNG fallback favicon. apple-touch-icon.png static/apple-touch-icon.pngRequired iPhone/iPad home screen icon. site.webmanifest static/site.webmanifestRequired Web app manifest containing app metadata and PWA icon references. web-app-manifest-192x192.png static/web-app-manifest-192x192.pngRequired 192×192 Android/PWA icon referenced by the web app manifest. web-app-manifest-512x512.png static/web-app-manifest-512x512.pngRequired 512×512 Android/PWA icon referenced by the web app manifest. - 4Insert the favicon/head snippet in
gatsby-ssr.tsx or gatsby-ssr.jsx.gatsby-ssr.tsx or gatsby-ssr.jsx// gatsby-ssr.tsx or gatsby-ssr.jsx import React from "react"; export const onRenderBody = ({ setHeadComponents }) => { setHeadComponents([ <meta key="favico-color-scheme" name="color-scheme" content="light dark" />, <link key="favico-svg-light" rel="icon" type="image/svg+xml" href="/favicon.svg?v=10" media="(prefers-color-scheme: light)" />, <link key="favico-svg-dark" rel="icon" type="image/svg+xml" href="/favicon-dark.svg?v=10" media="(prefers-color-scheme: dark)" />, <link key="favico-png-light" rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png?v=10" media="(prefers-color-scheme: light)" />, <link key="favico-png-dark" rel="icon" type="image/png" sizes="96x96" href="/favicon-dark-96x96.png?v=10" media="(prefers-color-scheme: dark)" />, <link key="favico-apple" rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=10" />, <link key="favico-manifest" rel="manifest" href="/site.webmanifest?v=10" />, ]); }; - 5Why this setup 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 the creator→
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.
- 6Start your app and verify the favicon URLs.Run command
gatsby developVerify URLshttp://localhost:8000/favicon.svg http://localhost:8000/site.webmanifest - 7Common mistakes to avoid.
Putting source files in public/
Wrong:
public/favicon.svgCorrect:
static/favicon.svgGatsby generates public/ during build. Static source files belong in static/.
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.
- 8Final 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.