Favicon checker
Offline audit of a pasted <link rel="icon"> block or a list of domain paths: checks the rel, sizes and type combinations, spots missing sizes="any", apple-touch-icon and manifest entries, and returns ready-to-paste code.
Runs in your browserEvery computation happens in your browser — your data never leaves this device.
Paste your markup
Paste the <link rel="icon"> block from a page, or one domain or path per line. Everything is analysed offline — no requests.
Result
Checks follow the W3C Web App Manifest, Apple apple-touch-icon conventions and browser support for sizes="any". This tool only parses text: it cannot verify that the files are reachable or the images are the right pixel size.
- 16 × 16 PNG tab icon
favicon-16 - 32 × 32 PNG high-density icon
favicon-32 - apple-touch-icon (iOS home screen)
apple-touch-icon - 192 × 192 PNG (Android / manifest)
icon-192 - 512 × 512 PNG (splash screen)
icon-512 - site.webmanifest link
manifest - SVG icon (sizes="any")
svg-any - maskable icon
maskable
- WarningMissing:16 × 16 PNG tab icon
- WarningMissing:32 × 32 PNG high-density icon
- WarningMissing:apple-touch-icon (iOS home screen)
- WarningMissing:192 × 192 PNG (Android / manifest)
- WarningMissing:512 × 512 PNG (splash screen)
- WarningMissing:site.webmanifest link
- InfoMissing:SVG icon (sizes="any")
- InfoMissing:maskable icon
<link rel="icon" href="/favicon.ico" sizes="32x32"> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> <link rel="icon" type="image/svg+xml" href="/favicon.svg" sizes="any"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="192x192" href="/android-chrome-192x192.png"> <link rel="icon" type="image/png" sizes="512x512" href="/android-chrome-512x512.png"> <link rel="icon" type="image/png" sizes="512x512" href="/maskable-512x512.png"> <link rel="manifest" href="/site.webmanifest">
{
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
},
{
"src": "/maskable-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
]
}Fill in the missing items above and every mainstream browser plus the iOS home screen works.
What this tool does
- Pre-flight your <head>: paste the icon link lines and see at a glance whether favicon.ico, apple-touch-icon or the manifest link is missing.
- Taking over someone else's project: paste the block to check for a sizes="any" SVG and a maskable icon.
- Debugging "the icon does not show in some browsers": the check calls out type/extension mismatches, malformed sizes and relative hrefs.
- No HTML at hand? Paste one path per line and the tool infers which standard files are missing from the file names.
Example
Input
<link rel="icon" href="/favicon.ico">
Output
Detected as an HTML snippet with 1 link tag; score 68; 8 missing items: 16 × 16 PNG, 32 × 32 PNG, apple-touch-icon, 192 × 192 PNG, 512 × 512 PNG, site.webmanifest link, SVG icon (sizes="any") and a maskable icon; plus a complete HTML block ready to paste.
favicon.ico is already present so it is not listed as missing; the other six required checks score as warnings (5 points each) and the two recommendations as info (1 point each).
Frequently asked questions
Does this tool visit my site?
No. It only analyses the text you paste: it parses the link tags, compares rel, sizes and type, and reports the result. Everything runs in the browser with no requests — which also means it cannot tell whether the files are actually reachable.
How is the score calculated?
It starts at 100 and subtracts 15 per error (no icon tag at all, malformed sizes), 5 per warning (missing apple-touch-icon, type/extension mismatch) and 1 per info (an SVG without sizes="any"). The number is a rough gauge of how big the gap is.
Why can the URL list mode not check image sizes?
Paths carry no declarations. The tool can only infer from file names: whether favicon.ico exists, whether apple-touch-icon.png exists, whether 192/512 PNGs exist and whether a manifest file is present. Use the HTML mode for precise size checks.
Does a type/extension mismatch matter?
Yes. If href points at a .png but type says image/svg+xml, some browsers ignore the declaration entirely and that size never loads. Either drop the type attribute and let the browser decide, or use the correct MIME type.
Does a passing check mean my icons are fine?
Not entirely. It confirms the declarations are complete and well formed; whether the images are opaque, actually 180 × 180, or returning 404 still needs a real browser check. Complete declarations are necessary, not sufficient.
Keywords:favicon checkerfavicon validatorapple touch icon checkweb manifest iconshead link auditFavicon 检测图标检查离线校验link rel icon缺失项清单