Developer Tools

Favicon Generator

Favicon generator that turns one PNG, JPG, SVG or WebP image into nine PNG icons from 16x16 to 512x512, plus the HTML link tags.

📤 Upload Image
🖼
Drag & drop an image here
or click to browse — PNG, JPG, SVG, WebP accepted

This favicon generator turns one image into PNG favicons in nine sizes, from the 16x16 icon in a browser tab to the 512x512 icon a web app manifest lists. It resizes the image on a canvas in your browser, so the file is never uploaded, and it writes the HTML link tags for the <head> of your pages.

How to use the favicon generator

  1. Drag an image onto the Upload Image box, or click it to browse. PNG, JPG, SVG and WebP files are accepted, and any other type is refused with a message.
  2. Check the Original Preview, which shows the image with its width, height and file name. Clear Image removes it so you can pick another file.
  3. Under Select Sizes, untick any sizes you don't need. All nine are ticked to begin with.
  4. Click Generate Favicons. Each size appears as a card with its own Download button, and Download All as ZIP saves every icon in one favicons.zip file.
  5. Copy the tags from the HTML Link Tags box and paste them into the <head> of your pages.

The nine sizes and their file names

SizeFile nameLabel in the tool
16x16favicon-16x16.pngStandard favicon
32x32favicon-32x32.pngTaskbar shortcut
48x48favicon-48x48.pngDesktop icon
64x64favicon-64x64.pngHigh DPI favicon
96x96favicon-96x96.pngGoogle TV
128x128favicon-128x128.pngChrome Web Store
180x180favicon-180x180.pngApple Touch Icon
192x192favicon-192x192.pngAndroid Chrome
512x512favicon-512x512.pngPWA Splash

The labels are the favicon generator's own notes on where each size tends to be used. For most sites, 32x32, 180x180, 192x192 and 512x512 cover browser tabs, the icon an iPhone shows when someone adds your site to the home screen, and the two sizes a web app manifest needs for Chrome.

PNG to favicon: preparing the source image

Start with a square image of at least 512x512 pixels so that no size has to be enlarged. The generator draws the whole image into each square, so a 1200x800 logo gets squashed sideways. Crop it to a square first, for example with the image resizer set to 512 by 512 pixels with Crop to fill.

A PNG with a transparent background keeps its transparency in every icon. A JPG has no transparency, so its background colour fills the whole square. An SVG is drawn fresh at each size before it is saved as PNG.

Detail disappears at 16x16, where the whole icon is 256 pixels. A single letter or a simple shape with thick lines stays readable, while small text and thin outlines turn to blur, so look at the 16x16 and 32x32 cards before you download.

The HTML link tags it writes

With only 32x32, 180x180 and 192x192 ticked, the HTML Link Tags box shows:

<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="apple-touch-icon" sizes="180x180" href="/favicon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/favicon-192x192.png">

Every size gets a rel="icon" tag except 180x180, which gets rel="apple-touch-icon". The paths start at the site root, so upload the PNG files to the top folder of your site or edit the href values to match where you put them. If you rename a file, change its tag too.

What it does not make: favicon.ico and the manifest

This favicon generator saves PNG files only, so if you were looking for a favicon.ico generator, it is not one: it cannot write the ICO format. Current browsers accept PNG favicons through the link tags above, but browsers also ask for /favicon.ico on their own, and this tool does not make that file.

It does not create the web app manifest either. If your site has one, list the two large icons in its icons member, as described in MDN's manifest icons reference:

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

To embed a small icon straight into a stylesheet instead of linking a file, convert the PNG with the image to Base64 converter, and read how to Base64 encode an image in your browser for when that is worth doing. The meta tag generator writes the other tags that go in the same head section, and the rest of the developer tools are listed on one page.

Frequently Asked Questions

What size should my favicon be?
Start with a square image of at least 512x512 pixels. The favicon generator scales it down to nine sizes, from 16x16 for browser tabs up to 512x512 for web apps, so no size has to be enlarged. An image that isn't square is stretched to fill the square, so crop it first.
What file format should I use for the source image?
PNG with a transparent background works best, and the transparency carries through to every icon. SVG also works well, since a vector image scales to any size without losing quality. JPG and WebP are accepted too, but a JPG has no transparency, so its background fills the whole icon.
Why do I need multiple favicon sizes?
Browsers, operating systems and devices look for different sizes. When a page links several icons, the browser uses the rel and sizes values as hints to pick the best one for each place, such as a tab, a bookmark or a home screen. Apple's documentation, for example, uses a 180x180 apple-touch-icon for Retina iPhones.
Can I make a favicon from text or a single letter?
Not directly. This is a favicon generator from image files, so it needs a PNG, JPG, SVG or WebP to work from. Make a square image of your letter or initials in any graphics editor, or write a small SVG file with a text element, then upload that and generate the sizes from it.
Is my image uploaded to a server?
No. The browser reads the file, draws it onto a canvas at each size and saves the PNG files in memory. The ZIP file is also built on the page, so the image and the icons stay on your device until you download them.
Does the ZIP file include the HTML tags?
No. favicons.zip holds only the PNG files you generated, one per ticked size, named like favicon-32x32.png. Copy the link tags from the HTML Link Tags box separately and paste them into your page template.