Favicon Design Guide: Sizes, Best Practices, Free Generator
A favicon is the smallest piece of brand real estate you'll ever ship, and one of the most frequently seen. It appears in browser tabs, bookmark bars, history, search results, the macOS Touch Bar, and PWA home screens. A bad favicon doesn't just look bad — it actively damages brand recognition because users see it more often than your full logo.
This guide covers what you actually need to ship in 2026, the sizes that matter (and the ones you can skip), how to add SVG favicons with light/dark variants, and the design rules that make a mark survive at 16 pixels.
What a favicon is, technically
The word "favicon" was coined when Internet Explorer 5 (1999) introduced a single 16×16 `favicon.ico` file. Today "favicon" is a catch-all term for a stack of files at different sizes, served via different `<link>` tags, that browsers and platforms pick from based on context.
The 2026 spec is essentially: a base SVG favicon with light/dark variants for modern browsers, plus an Apple touch icon for iOS, plus a PNG for legacy support, plus a web app manifest for PWAs.
Required sizes for 2026
You don't need every historical size. The actually-required set:
| Size | Filename | Purpose |
|---|---|---|
| any (SVG) | icon.svg | Modern browsers — auto-scales, supports dark mode |
| 32×32 PNG | icon.png | Fallback for browsers that don't support SVG favicons |
| 180×180 PNG | apple-icon.png | iOS Safari, "Add to Home Screen", Touch ID |
| 192×192 PNG | icon-192.png | Android Chrome PWA install |
| 512×512 PNG | icon-512.png | Android Chrome PWA splash + high-DPI |
You can skip: 16×16 (modern browsers downscale SVG), 48×48 (Windows uses 32 or 180), the legacy `.ico` format (browsers that need it are <0.5% of traffic in 2026).
SVG favicons with dark mode support
A single SVG can adapt to the user's browser theme. This is the trick:
```svg
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<style>
.bg { fill: #ffffff; }
.fg { fill: #0a0a0a; }
@media (prefers-color-scheme: dark) {
.bg { fill: #0a0a0a; }
.fg { fill: #ffffff; }
}
</style>
<rect width="32" height="32" rx="8" class="bg"/>
<path d="M..." class="fg"/>
</svg>
```
Safari renders favicon CSS media queries; Chrome and Firefox do as well as of mid-2024. If your favicon is on a tab next to others, the user's eye finds yours faster when the contrast matches their theme. Worth the effort.
Design principles for 16 pixels
Testing
Three checks before shipping:
HTML setup
The full 2026 set looks like this in your `<head>`:
```html
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="icon" href="/icon.png" sizes="32x32" type="image/png">
<link rel="apple-touch-icon" href="/apple-icon.png">
<link rel="manifest" href="/manifest.webmanifest">
```
In Next.js (15+), the file-based convention handles this automatically. Drop `icon.svg` and `apple-icon.png` (or `apple-icon.tsx` generating via ImageResponse) in your `app/` directory and Next emits the right `<link>` tags.
Common mistakes
How to generate one with AI
LogoQuill's favicon-maker uses the [Recraft V4 Vector](/) model with a prompt explicitly tuned for 16px legibility — bold shapes, two colors, no text. The output is 512×512 SVG that downscales perfectly. Exports come pre-bundled in the sizes above.
If you already have a logo and want a matching favicon: upload it as a reference image and prompt "favicon version of this logo, simplified to one icon for 16px display." The AI extracts the mark from the wordmark and renders it standalone.