Technical SEO guide
Why one favicon.ico isn't enough anymore
A single favicon.ico in the root was once the whole story. It still works as a fallback, but every platform since has wanted its own size: a sharp 32px icon for a retina browser tab, a 180px version for an iOS home screen that otherwise falls back to a blurry screenshot, and 192px/512px versions for Android and installable web apps. Missing any one of them means that platform quietly falls back to a generic icon or a cropped screenshot.
What this tool generates
- 16×16 and 32×32 — the browser tab itself, at standard and retina density.
- 48×48 — used by Windows for site shortcuts and taskbar pins.
- 180×180 — the Apple touch icon, shown when a page is saved to an iOS home screen.
- 192×192 and 512×512 — Android home screen icons and the splash screen for an installable (PWA) site.
Everything happens with the browser's own Canvas API — the image you choose is resized locally and never leaves your device.
Where the files go
Upload all six PNGs plus site.webmanifestto the site's root (next to robots.txt), then add the generated <link>tags to every page's <head> — or once, in a shared layout template, which is where they belong since they never change per page.
How this differs from the Favicon Checker
The Favicon Checkertells you what a live page is already serving and what's missing. This tool produces the files and markup in the first place — run the checker afterward to confirm they deployed correctly.
Frequently asked
Do I still need a .ico file?
Every browser in current use accepts a PNG favicon via <link rel="icon">. A .ico at /favicon.ico is still worth keeping as a legacy fallback for crawlers and old tooling that look there by convention regardless of what the HTML says.
What if my source image isn't square?
It gets stretched to fit each square size. For a clean result, crop to a 1:1 square — ideally 512×512 or larger — before uploading.
Does this tool upload my image anywhere?
No — the file is read and resized entirely in your browser with the Canvas API. Nothing is sent to a server.
