Skip to content

Favicon generator — full icon pack from one image

Drop one logo and get every favicon size, a multi-size .ico, the apple-touch-icon, a site.webmanifest and the HTML snippet, zipped and ready to upload.

  • Runs in your browser
  • Files are never uploaded
  • Free, no account
Drop your logo or iconPNG, SVG, JPG, WebP or GIF — a square image of 512 px or more gives the best result.PNG, JPG, JPEG, SVG, WEBP, GIF · up to 25 MB each
What you get
FileSizeUsed by
favicon.ico16, 32, 48Legacy browsers, Windows shortcuts, the default lookup at /favicon.ico
favicon-16x16.png16Browser tab, bookmarks bar
favicon-32x32.png32Retina tab, Windows taskbar shortcut
favicon-48x48.png48Windows site shortcut
favicon-64x64.png64High-DPI tab, Safari pinned fallback
favicon-128x128.png128Chrome Web Store, extension icon
apple-touch-icon.png180iOS and iPadOS home screen
android-chrome-192x192.png192Android home screen
android-chrome-512x512.png512Android splash screen, PWA install
site.webmanifest—Android install prompt, PWA name, theme colour

How to generate a favicon pack

  1. Drop in a square image — an SVG or a PNG of 512 px or more gives the best results.
  2. Add a background colour if your logo is transparent. iOS paints transparency black on the home screen, so a solid background is usually what you want.
  3. Add a little padding if the mark is dense; around 10% keeps a wordmark from touching the edges.
  4. Check the real-size previews. If the 16 px version is a smudge, the mark is too detailed for a browser tab.
  5. Download the ZIP, unpack it into your site root, and paste the HTML snippet into your <head>.

Every image is rendered from a 1024 px master by repeated halving rather than one big downscale, which is what keeps the 16 and 32 px versions readable instead of mushy. All of it happens in this tab — your logo is never uploaded.

What each file is for

File Size Consumed by
favicon.ico16, 32, 48Legacy browsers, Windows shortcuts, and the default request to /favicon.ico when nothing else matches
favicon-16x16.png16Browser tab and bookmarks bar at 1× density
favicon-32x32.png32Retina tab, taskbar shortcut, most browser UI
favicon-48x48.png48Windows site shortcuts
favicon-64x64.png64High-DPI tabs and some extension surfaces
favicon-128x128.png128Chrome Web Store, packaged apps
apple-touch-icon.png180iOS and iPadOS “Add to Home Screen”
android-chrome-192x192.png192Android home screen
android-chrome-512x512.png512Android splash screen and PWA install dialog
site.webmanifest—PWA name, icons, theme colour, install behaviour

The HTML you need

Five links and one meta tag cover every current browser and platform. Anything beyond this — the dozens of msapplication-* tags and Apple size variants that older generators emit — has been unnecessary for years.

<link rel="icon" href="/favicon.ico" sizes="any">
<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="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
<meta name="theme-color" content="#0f172a">

If you also ship an SVG favicon, add <link rel="icon" type="image/svg+xml" href="/favicon.svg"> before the PNG lines. Browsers that support it will prefer the vector; the rest fall through to the PNGs.

Inside an .ico file

ICO is a container, not an image format. It begins with a six-byte ICONDIR header — two reserved bytes, a type field of 1 for icons, and a count — followed by one sixteen-byte directory entry per image. Each entry records the width and height as single bytes (with 0 meaning 256), the colour depth, the payload length and the byte offset where that payload begins. The payloads then follow, back to back.

Historically each payload was a headerless BMP with an awkward AND mask for transparency. Since Windows Vista the payload may instead be a complete PNG file, which is smaller, has real alpha, and is what this tool writes at 16, 32 and 48 pixels. Every browser and every supported Windows version reads it. The whole container is assembled here in JavaScript — there is no server-side ImageMagick call in the middle.

Designing a mark that survives 16 pixels

A favicon is 16 device pixels on a standard display. That is enough for one bold shape or one letter, and nothing else. Some rules that hold up:

  • Drop the wordmark. Use the symbol, or a single initial. Text below about four characters is illegible at 16 px.
  • Thicken the strokes. A hairline that looks elegant at 512 px disappears entirely at 16.
  • Increase the contrast. Subtle tonal differences merge into a single grey once the image is a handful of pixels.
  • Test on both themes. A dark navy mark vanishes against a dark browser chrome. If yours does, ship a second SVG favicon with a prefers-color-scheme media query inside it.
  • Keep the silhouette distinctive. At tab size, people recognise shape and colour, never detail.

Why your new favicon is not showing

Favicons are cached more aggressively than almost anything else on the web, and the cache is often separate from the normal page cache. In order of likelihood: your browser is holding the old one (open the icon URL directly and hard-reload it), a CDN is holding it (purge the path), or a service worker is serving a stale copy. Adding a query string such as /favicon.ico?v=2 to the link tags is the pragmatic fix, and works on every layer at once.

Questions

What size should my source image be?

Square and at least 512 × 512 pixels, or an SVG. Everything is scaled down from a 1024 px master using stepped halving, which keeps small sizes crisp; scaling a 64 px source up to 512 cannot invent detail and always looks soft.

Do I still need favicon.ico in 2026?

Yes, but only as a safety net. Browsers request /favicon.ico by default when no link tag matches, and a few feed readers, RSS clients and corporate proxies still expect it. It costs a couple of kilobytes, so include it.

How is the .ico file built?

The ICO container is a small header, one 16-byte directory entry per image, then the image payloads. This tool writes complete PNG files as those payloads at 16, 32 and 48 pixels — the PNG-in-ICO form that every browser and every supported Windows version reads.

Why does my icon look wrong on an iPhone home screen?

iOS ignores transparency in the apple-touch-icon and fills it with black, then applies its own rounded mask. Turn the background option on and give the icon a solid colour, and leave the corner radius at zero so iOS can apply its own shape.

Where do the files go?

All of them belong in the root of your site, next to index.html, and then the HTML snippet goes in the head of every page. If you serve them from a sub-folder, change the leading slash in each path to match.