What is an ICO File? Icons, Favicons, and Everything In Between
ICO is the icon container behind Windows app icons and website favicons. Learn how it works, which sizes to include, and how to build a modern favicon set.
ICO is a Microsoft icon format that can store multiple icon sizes and color depths in one file. It is still essential for Windows icons and the most compatible favicon format for websites.
What is ICO?
ICO is a file format developed by Microsoft for icons in Windows. It is also the standard format for website favicons, the small icons shown in browser tabs and bookmarks.
Key characteristics
- File extension: .ico
- MIME type: image/x-icon or image/vnd.microsoft.icon
- Compression: Uncompressed or PNG-compressed (modern)
- Color support: 1-bit to 32-bit (with alpha transparency)
- Maximum size: 256x256 pixels (modern); historically 16x16, 32x32, 48x48
- Transparency: Yes (1-bit or 8-bit alpha)
- Animation: No
- Multi-image: Yes (multiple sizes and color depths in one file)
ICO acts as a container that can hold multiple icon sizes in one file, so the OS or browser can pick the best size for display.
Brief history
- 1985: ICO introduced with Windows 1.0
- 1999: Internet Explorer 5 popularizes ICO for website favicons
- 2006: Windows Vista adds 256x256 support with PNG compression
- 2010s: Browsers add PNG and SVG favicon support
- Present: ICO remains the compatibility standard
Primary uses
Website favicons: Icons for tabs, bookmarks, history, and address bars. ICO provides the best cross-browser compatibility.
Windows application icons: Desktop shortcuts, taskbar icons, and file associations.
Windows system icons: UI elements and system objects in Windows Explorer.
Technical specifications
ICO files are simple containers that bundle multiple images.
File structure
- Header (6 bytes): Identifies file and number of images
- Directory entries (16 bytes each): Size, color depth, and offsets
- Image data: Stored as BMP or PNG
- Header: 6 bytes (identifies as ICO, contains 3 images)
- Entry 1: 16 bytes (16x16, 32-bit, offset to data)
- Entry 2: 16 bytes (32x32, 32-bit, offset to data)
- Entry 3: 16 bytes (48x48, 32-bit, offset to data)
- Image data: 16x16, 32x32, 48x48
Total file size: About 14 KB for a multi-resolution favicon.
Color depth options
| Bit depth | Colors | Transparency | Use case |
|---|---|---|---|
| 1-bit | 2 (black and white) | No | Legacy, extremely simple icons |
| 4-bit | 16 | No | Legacy Windows icons |
| 8-bit | 256 | 1-bit (on/off) | Legacy compatibility |
| 24-bit | 16.7 million | 1-bit mask | Older systems without alpha |
| 32-bit | 16.7 million + 8-bit alpha | 256 levels | Modern standard (recommended) |
Use 32-bit color depth for all icon sizes unless you specifically need legacy support.
Compression methods
BMP (legacy):
- Uncompressed bitmap data
- Larger file sizes
- Maximum compatibility
PNG compression (modern):
- Supported since Windows Vista (2006)
- Smaller file sizes
- Better for 256x256 icons
Very old software (pre-2006) may not display PNG-compressed ICO files correctly. For maximum legacy compatibility, use BMP for smaller sizes and PNG for 256x256.
Multi-resolution support
ICO can store multiple sizes in one file so each context can use the best-fit icon.
Why it matters
- Browser tab: 16x16 pixels
- Desktop shortcut: 32x32 or 48x48 pixels
- Taskbar (Windows 7+): 32x32 pixels
- Start menu tile: 256x256 pixels
- High-DPI displays: 2x or 3x larger sizes
Standard multi-resolution favicon.ico
- 16x16: Browser tabs and bookmarks (required)
- 32x32: Taskbar and desktop shortcuts (recommended)
- 48x48: Windows site icons and desktop (optional but useful)
File size impact: 16x16 only (1-2 KB), 16+32 (5-6 KB), 16+32+48 (12-15 KB).
Upscaling vs downscaling
Single size (resized): If you only include a 256x256 icon and let the system resize it, 16x16 will be blurry and muddy.
Multi-size ICO: Include optimized versions at 16x16, 32x32, and 48x48 to keep icons crisp and legible.
Do not just resize. Redesign the 16x16 version with simplified shapes, thicker lines, and fewer details.
ICO for website favicons
A favicon is the small icon associated with a website. It appears in browser tabs, bookmarks, history, address bars, search results (some engines), desktop shortcuts, and mobile home screens.
Favicon size requirements
| Context | Size | Required? | Notes |
|---|---|---|---|
| Browser tabs | 16x16 | Yes | Universal standard |
| High-DPI tabs | 32x32 | Highly recommended | Retina and 4K displays |
| Desktop shortcuts | 48x48 | Recommended | Windows site shortcuts |
| Taskbar pinning | 32x32 | Recommended | Windows 7+ taskbar |
Traditional favicon implementation
<!-- Place favicon.ico in website root directory -->
<!-- No HTML needed; browsers automatically look for /favicon.ico -->
- Place favicon.ico in your website root directory (for example, /public/favicon.ico).
- Browsers automatically request /favicon.ico.
- No HTML link tag required (though explicit is better).
<link rel="icon" type="image/x-icon" href="/favicon.ico">
Place this in the HTML head to explicitly set the favicon path.
Browser support for ICO
| Browser | ICO support | Multi-resolution | Notes |
|---|---|---|---|
| Chrome | Yes (all versions) | Yes | Perfect support |
| Firefox | Yes (all versions) | Yes | Perfect support |
| Safari | Yes (all versions) | Yes | Perfect support |
| Edge | Yes (all versions) | Yes | Perfect support |
| Internet Explorer | Yes (IE5+) | Yes | Invented favicon support |
ICO favicon support is effectively 100%. Every browser that supports favicons supports ICO.
ICO for Windows icons
ICO is required for Windows application icons, file associations, and desktop shortcuts.
Windows icon sizes
| Size | Use case | Windows version |
|---|---|---|
| 16x16 | Small icons, list view | All versions |
| 24x24 | Small taskbar | Windows 7+ |
| 32x32 | Medium icons, taskbar | All versions |
| 48x48 | Large icons, desktop shortcuts | All versions |
| 64x64 | Extra large | Windows Vista+ |
| 96x96 | High-DPI small icons | Windows 8+ |
| 128x128 | Extra large icons | Windows Vista+ |
| 256x256 | Jumbo icons, Modern UI | Windows Vista+ |
Professional Windows application icons
- 16x16 (4-bit, 8-bit, 32-bit)
- 32x32 (4-bit, 8-bit, 32-bit)
- 48x48 (4-bit, 8-bit, 32-bit)
- 256x256 (32-bit, PNG compressed)
Why multiple color depths? Legacy Windows versions may fall back to 4-bit or 8-bit in certain color modes.
File size: Complete multi-resolution, multi-depth ICO is about 150-250 KB.
For Windows 7+ apps, you can often include 32-bit versions of each size only. The 4-bit and 8-bit variants are primarily for Windows XP/2000.
Icon sizes guide
Different use cases require different icon sizes. Use the tables below to choose the right set.
Favicon (website) icon sizes
| Configuration | Sizes included | File size | Best for |
|---|---|---|---|
| Minimal | 16x16 | About 1-2 KB | Size-conscious sites, legacy support only |
| Standard | 16x16, 32x32 | About 5-6 KB | Most websites |
| Complete | 16x16, 32x32, 48x48 | About 12-15 KB | Recommended for best quality |
| Extended | 16x16, 24x24, 32x32, 48x48, 64x64 | About 25-30 KB | Maximum compatibility and quality |
For most websites, include 16x16, 32x32, and 48x48 in favicon.ico for excellent quality under 15 KB.
Windows application icon sizes
| Target compatibility | Sizes to include | Color depths |
|---|---|---|
| Windows 10/11 only | 16, 32, 48, 256 | 32-bit only |
| Windows 7+ | 16, 24, 32, 48, 256 | 32-bit (plus 8-bit for 16/32 if desired) |
| Windows XP+ | 16, 32, 48 | 4-bit, 8-bit, 32-bit for each size |
| Professional (all Windows) | 16, 24, 32, 48, 64, 128, 256 | Multiple depths for 16/32/48, 32-bit for larger |
Creating ICO files
Most image editors do not natively create multi-resolution ICO files, so you need a conversion step.
Step-by-step: creating a favicon
Step 1: Design your icon
- Create your design at the largest size you will use (for example, 256x256).
- Use simple, recognizable shapes.
- Choose high-contrast colors.
- Check how it looks on light and dark backgrounds.
Step 2: Create multiple sizes
- Do not just resize, redraw for each size.
- 16x16: simplified silhouette
- 32x32: moderate detail
- 48x48: full detail
- Remove fine details.
- Use 2-3 pixel thick lines.
- Avoid gradients.
- Test on light and dark backgrounds.
- Make the primary shape obvious.
Step 3: Export as PNG
- Export each size as a transparent PNG.
- Name them clearly: icon-16x16.png, icon-32x32.png, icon-48x48.png.
Step 4: Convert to ICO
These tools combine multiple images into one multi-resolution ICO file.
Design best practices
Good favicon design:
- Simple, iconic shape
- 2-3 colors max
- High contrast
- Recognizable at 16x16
- Works on any background
- Unique and memorable
Poor favicon design:
- Too much detail
- Many colors or gradients
- Low contrast
- Illegible at small sizes
- Only works on light backgrounds
- Generic or forgettable
Testing your favicon
- View at actual size: Check the 16x16 icon at 100% zoom.
- Test backgrounds: White, black, and gray.
- Browser testing: Chrome, Firefox, Safari, Edge.
- High-DPI display: Review the 32x32 version on a Retina or 4K screen.
- Bookmark test: Bookmark the page and review the favicon in the list.
ICO vs PNG vs SVG
Modern browsers support PNG and SVG favicons, but ICO remains the most compatible option.
Format comparison
| Feature | ICO | PNG | SVG |
|---|---|---|---|
| Browser support | 100% (all browsers) | 95%+ (modern browsers) | 80%+ (newer browsers) |
| Multi-resolution | Yes (built-in) | No (multiple files) | Yes (scalable vector) |
| File size | Medium (12-15 KB) | Small (1-3 KB each) | Tiny (1-2 KB) |
| Transparency | Yes (alpha) | Yes (alpha) | Yes |
| Sharp at all sizes | Yes (if optimized per size) | Only at native size | Yes (vector) |
| IE support | Yes (IE5+) | No (IE11+ only) | No |
| Ease of creation | Requires special tools | Any image editor | Vector editor needed |
When to use each format
Use ICO when: You need maximum compatibility, IE support, or a single file for all sizes, and for Windows app icons.
Use PNG when: You only support modern browsers and want smaller file sizes or simpler creation.
Use SVG when: Your icon is a simple vector, you need perfect scaling, and you target modern browsers.
Modern favicon implementation
The best approach is to provide multiple formats for compatibility and quality.
<!-- ICO for maximum compatibility -->
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<!-- PNG for modern browsers (smaller file size) -->
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<!-- SVG for perfect scaling (optional) -->
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<!-- Apple Touch Icon (iOS home screen) -->
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<!-- Android Chrome -->
<link rel="manifest" href="/site.webmanifest">
How browsers choose:
- Modern browsers prefer PNG or SVG.
- Older browsers fall back to ICO.
- Mobile devices use apple-touch-icon or manifest icons.
Files you need
| File | Size | Purpose | Required? |
|---|---|---|---|
| favicon.ico | 16x16, 32x32, 48x48 | Legacy browser compatibility | Yes |
| favicon-32x32.png | 32x32 | Modern browsers, standard DPI | Recommended |
| favicon-16x16.png | 16x16 | Modern browsers, small size | Recommended |
| favicon.svg | Vector | Perfect scaling, dark mode support | Optional |
| apple-touch-icon.png | 180x180 | iOS home screen shortcuts | Recommended for mobile |
At minimum, include favicon.ico in your root directory. Everything else is an enhancement for modern browsers.
SVG favicon with dark mode
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<style>
.icon { fill: #000; }
@media (prefers-color-scheme: dark) {
.icon { fill: #fff; }
}
</style>
<path class="icon" d="M16 4 L4 16 L16 28 L28 16 Z"/>
</svg>
This SVG switches from black to white based on the user's dark mode preference.
Converting to ICO
ICO conversion requires a tool that can combine multiple sizes into one container.
When to convert to ICO
| Scenario | Convert from | Why |
|---|---|---|
| Creating favicon | PNG or JPG | Need .ico file for website |
| Windows application icon | PNG (multiple sizes) | Windows requires .ico |
| Desktop shortcut icon | Any image format | Windows uses .ico for shortcuts |
| Legacy browser support | PNG favicon | IE and old browsers need .ico |
Conversion tools
- PNG to ICO - Best for favicons and transparent icons
- JPG to ICO - For photographic icons
- BMP to ICO - For Windows legacy formats
Conversion best practices
- Start with PNG: Use transparent PNG sources for the best quality.
- Create multiple sizes: Prepare 16x16, 32x32, and 48x48 versions optimized for each size.
- Use 32-bit color: Ensures full color and alpha transparency.
- Keep it simple: Complex images do not read well at 16x16.
- Test the result: View the ICO at actual size before deploying.
Resizing a large image to 16x16 usually produces poor results. Redesign the small sizes for clarity.
Conclusion: ICO in the modern web
ICO remains highly relevant because it is universally supported and supports multiple sizes in one file. It is still the safest favicon format and the required format for Windows icons.
Use ICO for:
- Website favicons (maximum compatibility)
- Windows application icons
- Desktop shortcut icons
- Any scenario requiring IE support
- Set-it-and-forget-it favicon deployment
Consider PNG or SVG when:
- You only support modern browsers
- Smaller file size is critical
- You have a simple vector icon (SVG)
- You want dark mode support (SVG)
Best practice: Provide favicon.ico for compatibility, add PNG for modern browsers, and optionally include SVG for perfect scaling.
Create a multi-resolution favicon.ico (16x16, 32x32, 48x48) and place it in your site root with explicit link tags. Add PNG and SVG versions as enhancements when you have time.
FAQ
Do I still need an ICO favicon in 2025?
Yes. ICO is still the most compatible format across all browsers and is required for legacy support. It is the safest default.
What sizes should I include in favicon.ico?
At minimum include 16x16 and 32x32. For best quality, include 16x16, 32x32, and 48x48.
Can I use PNG or SVG instead of ICO?
You can for modern browsers, but you should still include ICO for compatibility. SVG is great for simple vector icons and dark mode support.
Ready to convert?
Create multi-resolution ICO files for favicons and Windows icons in minutes.