What an ICO actually is
Not an image format so much as a small container.
An ICO holds several images at different sizes in one file, with a short directory at the front saying where each one lives. That is exactly the problem a favicon has: a browser tab wants 16 pixels, a bookmark bar may want 32, a Windows shortcut 48. One file, three purpose-made images, no scaling.
Modern ICO files may carry PNG payloads directly rather than the headerless BMP data older ones used, and every browser in use accepts that. So each size in the file you download is precisely the bytes the renderer produced.
Do I still need one?
Yes, and for a slightly annoying reason.
Browsers request /favicon.ico from the root of a site whether or not your HTML mentions it. If it is not there, you get a 404 on every fresh visit — harmless, but it clutters your logs and leaves the tab showing a generic icon in some contexts.
The larger icons that iOS home screens and Android launchers use are PNGs referenced from your HTML, and the favicon generator produces those along with the markup. This page is for the one file that everything asks for by name.
Design for sixteen pixels
This is where most favicons go wrong.
At 16×16 there is room for a single letter, a simple geometric mark, or a strong silhouette. That is all. A logo with a wordmark or fine linework becomes an unreadable smudge, no matter how good the source image is.
The practical approach is to design the smallest version first and let the larger sizes inherit from it — not to shrink an existing logo and hope.
Square, and large enough
Icons are square. A non-square source is cropped from the centre here rather than squashed, and the page tells you when that has happened — but cropping it yourself first gives you control over which part survives.
Start from 256×256 or larger. Every size is rendered down from your source, and downscaling produces clean results in a way upscaling never does.
When it does not appear
Almost always caching. Browsers cache favicons far more aggressively than other assets and frequently ignore a normal refresh.
Before concluding anything is broken: hard reload, try a private window, then visit the icon file directly by its URL. If it loads there, your icon is fine and the cache will catch up.
Questions
- What is an ICO file?
- A container that holds several images at different sizes in one file. That is the whole point of it: a browser tab needs a 16 pixel icon and a bookmark bar may want 32, and an ICO lets one file serve both without scaling anything.
- Do I still need a favicon.ico in 2026?
- Yes, in practice. Browsers request /favicon.ico from the root of a site whether or not your HTML links to one, and a missing file shows up as a 404 in your logs. Modern PNG icons cover the rest, but the root .ico is still the fallback everything reaches for.
- Which sizes does this include?
- 16, 32 and 48 pixels — the sizes that actually get requested. Larger icons for home screens and PWAs are PNG rather than ICO, and the favicon generator produces those.
- Does the ICO contain PNGs or BMPs?
- PNGs. Older ICO files stored headerless BMP data, but since Windows Vista the format has permitted PNG payloads, and every browser in use accepts them. It means each size is exactly the bytes the renderer produced.
- What if my image is not square?
- It is cropped from the centre rather than stretched, and the page tells you when that has happened. Icons are square, so something has to give — cropping preserves proportions where squashing would not.
- Will a detailed logo work?
- Rarely. At 16 pixels square there is room for a letter, a simple mark or a strong silhouette and nothing else. Design for the smallest size and let the larger ones benefit, rather than shrinking a logo and hoping.
- Is my image uploaded?
- No. The scaling and the ICO assembly both happen in this browser tab. The Uploaded readout beside the result measures the page's own outbound traffic, so a successful run reads 0 B.
- Why isn't my new favicon showing up?
- Almost always caching. Browsers cache favicons far more aggressively than other assets and often ignore an ordinary refresh. Try a hard reload, a private window, or visiting the file directly by URL — if it loads there, the icon is fine.
- Do I need the HTML link tags as well?
- For the root .ico, no — browsers ask for it regardless. For the larger PNG icons that iOS and Android use, yes. The favicon generator produces those along with the markup.
- Does it support transparency?
- Yes. The PNGs inside keep their alpha channel, which matters because browser tabs have backgrounds you do not control.