Understanding Color Formats: HEX, RGB & HSL
Why screens mix red, green, and blue light, what HEX shorthand really encodes, and when HSL makes your life easier.
Favicons are tiny, but they carry outsized identity value. They appear in browser tabs, bookmarks, history lists, app launch surfaces, and pinned shortcuts. Users often recognize a site by its 16-pixel icon faster than by the page title itself.
The modern favicon stack is no longer one file. It is a small icon system spanning legacy browser behavior, high-resolution mobile touch icons, and progressive web app metadata.
Favicons entered mainstream web development in 2000 with Internet Explorer 5. Microsoft's implementation looked for a file called /favicon.ico and displayed it beside bookmarked sites. The pattern quickly became a de facto convention across browsers.
What started as a bookmark aid became a universal branding primitive. Even now, many browsers still request /favicon.ico automatically for compatibility reasons, which is why modern sites usually keep that file even if they also provide PNG and SVG icons.
The ICO format is effectively a container that can hold multiple icon bitmaps at different sizes. Historically that made it ideal for desktop environments that needed one file to serve multiple display contexts.
favicon.ico often contains:
- 16x16 (tab / old UI contexts)
- 32x32 (bookmarks / medium display)
- 48x48 (legacy desktop contexts)Modern browsers are better with PNG and SVG, but ICO still provides broad backward compatibility and catches default fetch behavior. If your site ships only PNG and omits ICO, you may still see unnecessary 404 requests or missing icons in older workflows.
Think of ICO as the fallback anchor. It is not the most flexible format today, but it remains the safest baseline when you need your icon to appear consistently across old and new clients.
A single 16x16 image cannot scale cleanly to every surface. Different contexts expect different physical and logical dimensions.
Browsers pick the best available match based on context and device density. Supplying a full size set avoids blurry upscaling, unpredictable fallback, and inconsistent branding in app-like install surfaces.
Web icon delivery evolved with browser capabilities. Early web relied on ICO. Later, PNG became common for its wide support and clean alpha transparency. More recently, SVG favicons gained traction in modern browsers because vectors remain crisp across densities.
In production, hybrid delivery is common: ICO for legacy, PNG for broad support, and optional SVG for modern browsers.
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180">Browser discovery follows layered rules. Some clients fetch /favicon.ico by convention. Others prioritize explicit <link rel="icon"> tags in your document head. Mobile and install surfaces may also inspect web manifest metadata.
That means you should not rely on one discovery mechanism. Explicit link tags plus a valid favicon.ico file provide the most resilient cross-client behavior.
For installable experiences, browsers inspect site.webmanifest. The manifest defines icon arrays, theme behavior, and display preferences.
{
"name": "My App",
"icons": [
{ "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }
]
}Favicon design is not logo shrinkage. A full logo that works at 1200px often collapses into noise at 16px. Small-icon design requires simplification and contrast discipline.
Great favicons are icons first, logos second. Clarity beats detail when pixels are scarce.
To ship a robust favicon setup, teams usually include:
favicon.ico with legacy sizes.site.webmanifest referencing app icons.Favicons are one of the highest-frequency brand touchpoints on the web. Users see them in tab strips all day, often before page content loads. A clean, consistent icon set improves recognition, trust, and recall in crowded browsing contexts.
They are tiny files, but they represent a real design system problem: multiple targets, multiple discovery paths, and long-tail compatibility. When handled well, they quietly make a site feel finished.
Why screens mix red, green, and blue light, what HEX shorthand really encodes, and when HSL makes your life easier.
CSS gradient types and syntax, repeating gradients, what design systems and tokens are, and how to build a color scale from HSL.
How aspect ratios work, where common ratios come from, and why they matter for screens, cameras, and social media.