Fix a blurry favicon
Why favicons turn blurry, how to tell a true vector SVG from an embedded raster, and how to correct and verify your favicon files and markup.
Contents
The short answer
A favicon usually looks blurry because the browser is resampling it. It may be shrinking a large raster image, enlarging a small one on a high-density screen, or rendering a detailed logo at a size too small for its shapes. The fix has two parts. First, give the browser an icon it does not need to rescale: a genuinely vector SVG, plus raster fallbacks exported at the exact sizes they will be shown. Second, simplify the artwork so it holds up at tab size. A full logo rarely survives being reduced to a few dozen pixels. A dedicated favicon mark usually does.
Why favicons are especially prone to blur
Browser tabs, bookmarks and history lists show favicons very small, commonly around 16 by 16 CSS pixels. On high-density displays, that same slot covers two or more physical pixels per CSS pixel. A single icon file therefore gets drawn at several physical sizes depending on the screen, and the browser has to resample whenever the file doesn't match. Raster files such as PNG and ICO blur when resampled. True vector paths in an SVG are recalculated for each size, so they stay crisp. A vector file can still look soft when thin strokes or fine details fall between pixel boundaries.
The distinction between vector and raster matters here. An SVG favicon can contain real vector paths, or it can simply wrap an embedded raster image. The second kind blurs just like a PNG. A raster preview or thumbnail of a vector logo is also raster, even if it was exported from a vector source.
Match the symptom to a likely cause
No specific symptoms or test results were supplied for this article. The table below lists possible causes, not confirmed ones. A cause counts as confirmed only after the matching check reproduces it.
| Symptom | Possible cause | Check that confirms or rules it out |
| Soft or fuzzy edges on high-density screens only | A small raster icon is being enlarged | Use developer tools to see which icon file loaded and what its pixel dimensions are |
| Muddy, smeared detail on every screen | A large raster image is being shrunk, or the logo has too much detail for the size | Open the loaded file directly. If it is far larger than the display size, or full of fine detail, this is the likely cause |
| SVG favicon looks as soft as a PNG | The SVG contains an embedded raster image rather than paths | Open the SVG in a text editor and look for an image element or a long base64 data string |
| Thin lines look gray or faint | Strokes or edges sit between whole pixels | Zoom into the artwork on a grid that matches the target size and see where the edges fall |
| Blurry in one browser but sharp in another | That browser ignores the SVG and uses a lower-quality fallback | Compare which file each browser requests in its network panel |
| Old or blurry icon persists after a fix | Cached favicon | Test in a private window or a fresh browser profile |
Confirm the SVG is really vector
A .svg extension or a filename tells you nothing about whether the file contains editable paths. Check the file itself before you rely on it.
- Open the SVG in a plain-text editor. Path, circle, rect and polygon elements indicate vector shapes. An image element, especially one with a long base64 data string, indicates embedded raster content.
- Open the file in a vector editor and switch to outline or wireframe view. Real paths appear as outlines, while an embedded image appears as a single box.
- Check whether text is still live text that depends on an installed font. A favicon should have its lettering converted to outlines so it renders the same everywhere.
- If the only source you have is a raster logo, tracing it can produce paths. Review the traced result for lumpy curves and extra nodes before using it.
Correct the artwork
- Use a simplified mark instead of the full logo: a symbol, monogram or single initial that still reads at tab size.
- Remove fine details, small text, hairline strokes and subtle gradients. These turn into blur at very small sizes no matter what format you use.
- Set the SVG viewBox to a small square grid that matches a target size, and align key edges to whole units so they land on pixel boundaries.
- Make strokes and gaps thick enough to survive reduction, and check them at both the smallest and the high-density sizes.
- Keep strong contrast between the mark and its background, and test the icon against both light and dark browser themes.
- For raster fallbacks, export each size directly from the vector source at its exact pixel dimensions. Don't scale an existing PNG up or down.
Correct the files and markup
A common approach is to declare three icons:
• an SVG for browsers that support it
• an ICO or PNG fallback containing small sizes
• a larger PNG for Apple touch icons
The snippet below shows the general pattern. Bracketed placeholders stand in for your own file paths.
<link rel="icon" href="[path to favicon.ico]" sizes="32x32">
<link rel="icon" href="[path to icon.svg]" type="image/svg+xml">
<link rel="apple-touch-icon" href="[path to 180px PNG]">
An ICO file can hold several bitmaps at different sizes, so the browser can pick a close match instead of resampling one image. Make sure each embedded size was exported separately rather than generated by scaling a single large image. Support for SVG favicons varies by browser and version, so check current browser documentation instead of assuming every visitor will receive the SVG.
Verify the fix
- Load the page in a private window or fresh profile so a cached icon doesn't hide the result.
- In the developer tools network panel, confirm which icon file the browser actually requested.
- Open that file directly and check that its dimensions or vector content match what you intended.
- View the tab at 100 percent zoom on a standard-density screen and on a high-density screen, if you have both.
- Repeat in each browser you need to support, because each may choose a different declared icon.
- Check bookmarks and home-screen shortcuts separately, since they can use the touch icon rather than the tab favicon.
Gaps in this assessment
This guide relies on general rendering principles, not on tests of a specific site or logo. No symptoms, file details or measurements were supplied, so it cannot say which cause applies to your favicon. Run the checks above to identify it. Exact browser support for SVG favicons and preferred icon sizes change over time and should be confirmed against current documentation.