Guide

What size should a favicon be?

There is no single correct favicon size, because every surface draws it at a different one: the tab wants 16×16 and 32×32, iOS wants a 180×180 apple-touch-icon, Android reads 192 and 512 from the web manifest, and a legacy /favicon.ico should carry 16, 32 and 48 in one file. The chart below lists each size with the markup that declares it.

Where it appearsSizeHow it is declared
Browser tab32×32, plus 16×16rel="icon" type="image/png" sizes="32x32"
Browser tab on high-density screens32×32 and largerthe same tags — the browser picks the closest match
Legacy browsers and direct requests16, 32 and 48 in one file/favicon.ico at the domain root
iOS home screen180×180rel="apple-touch-icon"
Android home screen192×192icons[] in the web manifest
Android install and splash screen512×512icons[] in the web manifest
Safari pinned tabvector, drawn at 16×16rel="mask-icon" (single colour SVG)
Google search resultssquare, any multiple of 48any declared icon that is publicly crawlable

Get every size from one image

Upload a single square image and the generator exports the multi-size ICO, both tab PNGs, the 180×180 Apple touch icon, the 192 and 512 manifest icons and the matching link tags. It runs in your browser — nothing is uploaded.

Open the Favicon Generator

Why one size is not enough

A favicon is drawn at whatever size the surface needs, and each surface needs a different one. The tab is roughly 16×16 CSS pixels, but on a 2× display that is 32 physical pixels, and the new-tab page, bookmarks bar and history draw it larger again. The browser does not resize intelligently: given only a 16×16 file it upscales that file, which is why the icon looks soft rather than sharp.

Declaring several sizes lets each surface take the closest match. The sizes attribute is what makes this cheap — the browser reads it and downloads the one file it wants instead of all of them.

What goes inside favicon.ico

An ICO is a container, not a format: one file can hold several images at different sizes, and modern ICOs usually store them as compressed PNG data. That is the whole reason to keep one — a single file at /favicon.ico answers every request that follows the old convention, including crawlers and browsers that look there without reading your markup.

Packing 16, 32 and 48 into it covers the range that convention expects. An ICO holding a single 16×16 image is no better than a single PNG, and a PNG renamed to .ico is not an ICO at all — it is a PNG with a misleading name, and some consumers reject it outright.

iOS: 180×180, square and opaque

Safari does not reuse your tab icon for the home screen. Without a 180×180 apple-touch-icon, iOS substitutes a screenshot of the page, which is the usual reason a home screen icon looks nothing like the artwork you uploaded.

  • Opaque. Transparency is composited onto black, so a transparent logo gains a black plate.
  • No rounded corners. iOS applies its own mask; pre-rounded artwork ends up with visible corners inside the mask.
  • No gloss. The highlight effect was dropped years ago, and artwork drawn for it looks wrong now.

Android and installed apps: 192 and 512, from the manifest

Chrome reads the icon for an installed site from the web manifest, not from your link tags. Two entries are worth having: 192×192 for the home screen icon and 512×512 for the install dialog and splash screen. A manifest with no icons, or with only a 32×32 entry, produces a generic or blank icon.

If you add a maskable icon, keep the artwork within the centre 80% of the canvas — the platform crops the rest into whatever shape it uses that year.

Safari pinned tabs: one vector, one colour

A pinned tab uses rel="mask-icon", which wants a single-colour SVG drawn on a transparent background; Safari recolours it to the color you declare. It is a different asset from the tab favicon, and it is optional — but if you declare one, it has to be an SVG.

What search results require

Search results follow their own rule rather than the browser’s: the icon has to be square, its dimensions a multiple of 48px (48, 96, 144 and up), and it has to be crawlable — publicly reachable, not blocked in robots.txt. Sizing is the easy half; the long half is waiting for the next crawl, which runs on its own schedule and cannot be forced.

Choose the source image first

Every size above is an export, so what you start with sets the ceiling. A square source at 512×512 or larger — or an SVG, which is resolution-independent — can be exported down to every size cleanly. A 64×64 logo cannot: scaling up invents detail that is not there.

  • Keep the artwork square; non-square art gets letterboxed or cropped.
  • Leave a small margin, especially for the Android mask.
  • Check the design at 16×16. Detail that reads at 512 turns to mud at 16, and that is the size people actually see most.

The markup that goes with these sizes

<link rel="icon" href="/favicon.ico" sizes="any" />
<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" href="/apple-touch-icon.png" />
<link rel="manifest" href="/site.webmanifest" />

The ICO line handles legacy requests, the two PNGs give the tab an exact match at each density, and the last two cover iOS and installed apps. If you also use an SVG favicon, declare it before the PNGs and keep a 32×32 PNG as the fallback.

Confirm what your site actually serves

Declaring a size and serving that size are two different things. The checker requests each icon, reports the pixel dimensions it really received and flags anything smaller than the platform wants.

Check my favicon sizes

Prefer to read the failure side first? Favicon not showing up: 8 causes and fixes.

Frequently asked questions

What size should a favicon be?

For the browser tab: 32×32, with 16×16 alongside it. Those two cover the tab at both normal and high pixel densities. Beyond the tab the sizes are separate assets — 180×180 for the iOS home screen, and 192×192 plus 512×512 declared in the web manifest for Android.

Do I still need a 16×16 favicon?

It costs almost nothing to include, so keep it. Some lower-density displays and older bookmark surfaces still ask for exactly 16×16, and with no 16×16 declared the browser has to downscale a larger file, which usually looks worse than one made for that size.

Is 512×512 too large to use as the favicon itself?

Use it as the source image and as the manifest icon, not as the tab icon. A 512×512 PNG declared as the tab favicon gets downloaded and then scaled down to 16 or 32 pixels, which wastes bandwidth and renders softer than a file exported at the target size.

Can one SVG replace all of these sizes?

For the tab, yes in current Chrome, Firefox and Edge — a vector scales to any size, so one file covers every density. Safari’s handling of SVG favicons has been uneven, so declare the SVG and keep a 32×32 PNG fallback. The iOS and Android icons are separate assets regardless; those platforms do not read the tab icon.

Does a favicon have to be square?

Yes. Browsers and platform pickers expect a square canvas, and a non-square image is either letterboxed with empty bands or cropped to fit. Export on a square canvas and build the padding into the artwork instead of relying on a non-square file.

What size should the source image be before generating the set?

A square image at 512×512 or larger, or an SVG if you have one. Every size in the chart is an export from that source, and exporting down always looks better than scaling up — a 64×64 logo cannot produce a convincing 512×512 icon.

What size favicon does Google use in search results?

Google asks for a square icon whose dimensions are a multiple of 48px — 48×48, 96×96, 144×144 and so on — served from a publicly crawlable URL. That is a separate requirement from the browser sizes, so satisfying one does not automatically satisfy the other.