How to Extract a High-Resolution Favicon from Any Website URL
How to Extract a High-Resolution Favicon from Any Website URL
The default /favicon.ico path is a dead end for anything more than a 16x16 or 32x32 icon. It exists for browser tab compatibility, not for actual design use. If you need a quality version of a site's icon for a competitive audit, a brand reference doc, or a client presentation, you need to go a few layers deeper.
Here's how to get what you actually want.
Why /favicon.ico Falls Short
Most browsers will fall back to /favicon.ico if nothing else is declared. Many sites still maintain this file for legacy reasons. But because it was originally designed for 16x16 pixel rendering in IE5, the format stuck at small dimensions even as devices and screen densities evolved.
On a modern retina display, a 32x32 favicon looks soft next to sharp UI. If you grab /favicon.ico and drop it into a slide deck or brand research doc, it's going to look rough.
The high-res versions exist. They're just declared differently.
Step 1: Read the HTML <head> for Declared Icons
Paste any URL into your browser, view source (Ctrl+U on Windows/Linux, Cmd+U on Mac), and search for rel="icon" or rel="apple-touch-icon". You'll find link tags that reference specific icon files:
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#111111">
The sizes attribute tells you exactly what you're getting. 180x180 (apple-touch-icon) is almost always the largest rasterized icon declared directly in the HTML. It was designed for iOS home screen use, so quality is typically good.
SVG favicons (rel="icon" type="image/svg+xml") are increasingly common and are infinitely scalable. If the site declares one, that's your best option:
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
Copy the href value, combine it with the site's origin, and you have a direct URL to the file.
Step 2: Check the Web App Manifest
The web app manifest is where modern sites store their full icon set. It's a JSON file, usually at /manifest.json or /site.webmanifest, and it's declared in the <head> like this:
<link rel="manifest" href="/site.webmanifest">
Fetch that file directly in your browser or with a quick curl. The icons array inside typically includes sizes up to 512x512:
{
"name": "Example Brand",
"short_name": "Example",
"icons": [
{
"src": "/icons/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/icons/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
},
{
"src": "/icons/icon.svg",
"sizes": "any",
"type": "image/svg+xml",
"purpose": "maskable"
}
],
"theme_color": "#111111",
"background_color": "#ffffff",
"display": "standalone"
}
The 512x512 PNG is enough for almost any use case. The SVG with "sizes": "any" is even better if it's there.
Note the purpose: "maskable" property. Maskable icons are designed to be cropped into a circle or squircle on Android home screens, so they include extra safe zone padding. If you're using the icon for display rather than installation, the non-maskable variant will look sharper.
Step 3: Network Tab for Sites That Obscure Asset Paths
Some sites serve icons through CDN paths with hashed filenames or don't follow standard conventions. The DevTools Network tab will catch everything the browser actually loads.
Open DevTools (F12), go to the Network tab, filter by Img type, reload the page, and look for requests with icon, favicon, or apple-touch in the filename. Right-click any image in the panel and choose Open in new tab to get the full URL.
You can also filter by file size. Favicons are small files, so sort by size ascending and look for sub-100KB images that loaded early in the waterfall.
Step 4: Try Predictable Paths Directly
Even without reading the HTML, many sites follow predictable file conventions from generators like RealFaviconGenerator:
/apple-touch-icon.png (180x180)
/favicon-32x32.png (32x32)
/favicon-96x96.png (96x96)
/android-chrome-192x192.png (192x192)
/android-chrome-512x512.png (512x512)
For sites built on WordPress, Shopify, or Squarespace, these paths are predictable enough that you can just try them directly by appending to the site's origin. It takes about 30 seconds to check each one.
Doing This at Scale
All of these steps work fine for a single site. For a competitive audit spanning 20 or 30 brands, manually checking source, fetching manifests, and filtering DevTools gets repetitive fast.
Use Inspect Brand to pull brand assets including favicons from any URL automatically. It reads the HTML head, fetches the manifest, and returns the best available icon it finds, along with the full color palette and font stack. The output is structured and exportable, so you can go from URL list to organized brand data without clicking through DevTools for each one.
What to Actually Download
Once you have the URL of the best icon:
- SVG: Download and open in Figma or Illustrator directly. Vector, scales to any size, the cleanest option for brand research.
- 512x512 PNG: Sufficient for slides, decks, side-by-side comparisons, and reference docs.
- 180x180 PNG (apple-touch-icon): A reliable fallback if the manifest does not exist or only has smaller sizes.
- ICO files: Skip these for anything visual. They're multi-resolution containers but awkward to work with outside of Windows tooling.
If the site only has an ICO file, tools like ImageMagick can extract individual sizes from it:
convert favicon.ico favicon_%d.png
This outputs each embedded size as a separate PNG. Useful in a pinch, but the HTML head route usually turns up something better before you need to go here.
---
The whole process takes under two minutes per site once you know the hierarchy: check the <head> first, grab the manifest if it's declared, use the Network tab as a fallback. For batch research, use Inspect Brand to skip the manual steps and get structured results across a full competitor set.