A favicon is one of those small details that most visitors never consciously notice — but its absence is immediately felt. That tiny icon in the browser tab, bookmark list, and home screen is a critical piece of your brand identity. It helps users recognize your site at a glance among dozens of open tabs, adds polish to your bookmarks, and signals professionalism. Yet many websites still skip it or rely on outdated formats.
This guide walks you through everything you need to know about creating a favicon that works everywhere: from design principles to file formats, size requirements, and the correct HTML implementation.
Generate favicons from any image with our free online tool.
Open Favicon Generator →A favicon (short for "favorite icon") is a small icon associated with a website, displayed by web browsers in several places:
The favicon was introduced by Microsoft in 1999 with Internet Explorer 5, originally displayed in the Favorites (bookmarks) list — hence the name. The original format was a 16×16 pixel ICO file. Today, the requirements are much more complex, with multiple sizes and formats needed for full coverage across devices and platforms.
To ensure your favicon looks crisp everywhere, you need to provide it in multiple sizes and formats. Here's a comprehensive breakdown of what modern websites should include:
The ICO format is still the most widely supported favicon format. An ICO file can contain multiple sizes in a single file, which is convenient. You should include at least these sizes:
PNG is supported by all modern browsers and offers better compression and transparency support than ICO. Provide these sizes as separate PNG files:
Apple devices use a special format called the Apple Touch Icon when users add your site to their home screen. Despite the name, this is simply a PNG file with specific naming:
iOS will automatically scale this icon for different devices, but for best results, you can also provide 120×120 and 152×152 versions.
SVG favicons are the future. Because SVGs are vector-based, a single file looks crisp at any size. Browser support has improved significantly — Chrome, Firefox, Safari, and Edge all support SVG favicons as of 2024.
Designing a favicon is fundamentally different from designing a logo. You're working with an extremely small canvas (16×16 to 32×32 pixels in most contexts), which means simplicity isn't just a style choice — it's a necessity.
You can create a favicon in virtually any image editor:
Create or obtain your icon design at 512×512 pixels or larger. This gives you enough resolution to produce crisp versions at every required size. Use a transparent background (PNG or SVG) so the icon works on any browser theme.
From your 512×512 source, export the following files:
favicon.svg — Your original SVG (if you designed in vector)favicon.ico — Multi-size ICO containing 16×16, 32×32, and 48×48favicon-16x16.pngfavicon-32x32.pngandroid-chrome-192x192.pngandroid-chrome-512x512.pngapple-touch-icon.png — 180×180Upload all favicon files to your website's root directory or a dedicated /icons/ or /assets/ folder. The standard locations are:
/favicon.ico
/favicon.svg
/favicon-16x16.png
/favicon-32x32.png
/apple-touch-icon.png
/android-chrome-192x192.png
/android-chrome-512x512.png
Add the appropriate <link> tags to the <head> section of every page on your website:
<!-- Primary favicon with fallback -->
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="icon" href="/favicon.ico" sizes="48x48">
<link rel="icon" href="/favicon-16x16.png" sizes="16x16">
<link rel="icon" href="/favicon-32x32.png" sizes="32x32">
<!-- Apple Touch Icon -->
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<!-- Android Chrome -->
<link rel="manifest" href="/site.webmanifest">
For Android Chrome support, create a site.webmanifest file in your root directory:
{
"name": "Your Website Name",
"short_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": "#8b5cf6",
"background_color": "#0f1117",
"display": "standalone"
}
/favicon.ico?v=2) to see changes.After implementing your favicon, verify it works correctly across different contexts:
Upload any image and generate all favicon formats instantly.
Open Favicon Generator →SVG is the best primary format because it's vector-based, scales to any size, and has tiny file sizes. However, you should still provide PNG and ICO fallbacks for older browsers and specific platform requirements. The ideal setup is: SVG as the primary icon (referenced with rel="icon" type="image/svg+xml"), PNG at 16×16 and 32×32 as fallbacks, and a multi-size ICO for legacy support.
The most common cause is browser caching. Browsers cache favicons aggressively — sometimes for weeks. Try clearing your cache, opening in an incognito window, or appending a version parameter to the URL (e.g., /favicon.ico?v=2). Other common issues include: incorrect file paths in your HTML, missing <link> tags, incorrect MIME type, or the server not serving the file with the right headers.
Technically, some browsers will display a JPEG if you reference it, but it's not recommended. JPEG doesn't support transparency, which means your icon will always have a solid background. This looks particularly bad on browser tabs with different theme colors. Use PNG or SVG instead — both support transparency and are universally supported for favicons.
For modern browsers, no — they'll use the SVG. But for legacy support (older browsers, email clients, RSS readers, and some third-party applications), an ICO file is still valuable. Since it only takes a few seconds to generate one, it's worth including as a fallback. The cost is negligible, and the compatibility benefit is real.
Add a version query string to your favicon URL. For example, change /favicon.ico to /favicon.ico?v=2 (or use a hash based on the file content). This tricks the browser into treating it as a new resource. Some content management systems and build tools handle this automatically through cache-busting strategies. You can also use the Cache-Control HTTP header to control how long browsers cache your favicon files.
Design your source image at 512×512 pixels minimum. Export to all the specific sizes needed: 16×16, 32×32, 48×48 (for ICO), 180×180 (Apple Touch Icon), 192×192 and 512×512 (Android). If you're using SVG as your primary format, the browser handles scaling automatically, so you only need the one SVG file plus your fallback PNGs.