IMAGE TOOL

Favicon Generator

Upload a square image to generate PNG favicons at 16, 32 and 48 pixels, a 180×180 Apple touch icon and a 512×512 Android/PWA icon. Download each size individually; nothing is uploaded.

About this tool

This generator takes one image and redraws it as five square PNG files — 16×16, 32×32, 48×48, 180×180 and 512×512 pixels — using the browser's Canvas API. Each size gets its own preview and download button, and the files are named favicon-16x16.png, favicon-32x32.png and so on. Nothing is uploaded: the image is read and resized on your own device.

How to use the Favicon Generator

  1. Choose a square source image — 512×512 or larger gives the sharpest results.
  2. Review each generated size in the results grid.
  3. Download the sizes you need one at a time and add them to your site's HTML or manifest.

What each size is for

Worked example

Upload a 1024×1024 PNG logo and you get five downloads. Put them in your site's root folder and add these tags to the <head> of each page:

<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/png" sizes="48x48" href="/favicon-48x48.png">
<link rel="apple-touch-icon" sizes="180x180" href="/favicon-180x180.png">

The sizes attribute helps the browser pick the right file for the screen instead of guessing. If you are building an installable web app, list the 512×512 file in your manifest's icons array too:

"icons": [
  { "src": "/favicon-512x512.png", "sizes": "512x512", "type": "image/png" }
]

According to web.dev, Chromium needs at least a 192×192 and a 512×512 icon in the manifest. This tool doesn't produce the 192×192 size, so make one from your 512×512 download with the Image Resizer and add a second entry for it.

How the resizing works

For each size, the tool creates a transparent canvas of exactly that many pixels, draws your whole image into it in a single step, and saves the canvas as a PNG. Three practical consequences follow:

Designing for 16 pixels

A 16×16 icon has just 256 pixels in total. Thin lines, small text and fine detail that look crisp at 512×512 blur into a smudge, and because each size comes from one direct downscale of your source, a large, intricate original can look slightly soft or grainy at the smallest sizes. Before uploading, try viewing your logo at tab size: a bold symbol or a single letter on a plain or transparent background almost always reads better than a full wordmark. Many brands use a simplified mark for the favicon and keep the full logo for everything else. The previews in the results grid show the two smallest sizes at their real pixel size, so use them as a first check, then look at the actual browser tab once you've deployed.

Common use cases

Things to watch out for

Browsers cache favicons aggressively, so after replacing an icon you may keep seeing the old one for a while; changing the file name, or adding a version query such as ?v=2 to the href, forces a fresh download. Also check that the paths in your link tags match where you actually uploaded the files — a favicon that returns a 404 simply shows the browser's default icon, with no visible error.

Frequently asked questions

What image should I start with for best results?

A square image of at least 512×512 pixels works best — the tool scales down cleanly, but scaling a small image up will look blurry at larger sizes.

Which sizes do I actually need for a website?

At minimum, 32×32 covers the browser tab icon. Add 180×180 for Apple touch icons (iOS home screen) and 512×512 if you're building an installable web app (PWA) manifest — Chromium also expects a 192×192 icon in the manifest, which this tool doesn't generate, so resize one from the 512×512 file.

Do I need to convert the download to .ico format?

Not necessarily — modern browsers support PNG favicons referenced via a <link rel="icon" type="image/png"> tag. A .ico file is only required for maximum compatibility with very old browsers.

Why does my logo look squashed or stretched?

The tool draws the whole image into each square canvas without cropping, so a non-square image is stretched to fit. Crop your logo to a square before uploading and its proportions will be preserved in every size.