Favicon Generator — Favicon, Apple Touch & PWA Icon Pack

Turn one image into a complete favicon, Apple Touch, and PWA icon pack with crop controls, manifest, and install code.

A modern site needs more than one favicon.ico. Browsers, iOS home screens, and Android/PWA install prompts each look for a different pixel size and file, and this tool draws your source image onto a canvas six separate times at the exact dimensions each surface expects, then bundles the result into one zip with the manifest and HTML snippet already written for you.

How to make a favicon from your logo

  1. Choose a PNG, JPEG, WebP, SVG or GIF; square artwork gives the cleanest result, and an animated GIF contributes only its first frame.
  2. Under Crop and background, pick Keep entire image (contain) or Fill square and crop edges (cover), set the theme colour, and decide whether the icon background stays transparent.
  3. Type the app name that the web manifest should show, up to 80 characters.
  4. Check the 192 px preview, then click Download icon pack (ZIP).

Six sizes, three purposes

The output set is fixed and deliberate: 16x16 and 32x32 for the classic browser favicon slot, 48x48 as a larger fallback some contexts request, 180x180 for Apple's touch-icon convention on iOS home screens, and 192x192 plus 512x512 for Android Chrome and PWA installability — the two sizes Chrome's install criteria actually check for. Every size is generated from a single source image redrawn onto a canvas at that exact resolution, not scaled down from a pre-rendered intermediate, so each output is a fresh render rather than a copy-of-a-copy.

Contain versus cover, and what each does to a non-square source

Most source logos aren't square, so the tool has to decide what happens to the extra space. Contain mode scales your image down until it fits entirely inside the square canvas and centers it, leaving background visible on two sides — nothing gets cropped, but a wide logo ends up padded above and below. Cover mode scales the image up until it fills the square, centering and cropping whatever overflows the edges — nothing shows background, but the outer edges of a wide or tall source get cut off. Only the min/max scale choice differs between the two, and the live 192px preview updates immediately when you switch.

When transparency is left on, the canvas is cleared rather than filled before drawing, so PNG or WebP sources with an alpha channel keep it straight through. Turn transparency off and a solid background color fills the canvas first — useful for launchers that render icons against an unpredictable background of their own.

Files in the favicon ZIP pack

How to add the favicon to your website

  1. Unzip the pack and copy every PNG plus site.webmanifest into your site's root folder, because the snippet and manifest point at root paths such as /favicon-32x32.png.
  2. Paste the contents of head-snippet.html inside the <head> of each page, or once in your shared layout template.
  3. Deploy, then open the site in a private window or after a hard refresh to see the new icon.
  4. On WordPress you can skip the files and upload android-chrome-512x512.png as the Site Icon; hosted shop builders such as Shopify take a single image in their theme's favicon setting.

Everything runs in the browser, immediately

Loading your source image and every redraw happens through the browser's own Image and Canvas APIs — there is no server round-trip to generate the pack, which is why the preview updates the instant you change fit, background, or transparency rather than after a network request. The final zip is assembled locally with JSZip and handed to you as a direct download.

What this tool won't get right for you

Questions people ask about Favicon & App Icon Generator

Do I still need a favicon.ico file?
The pack does not include one. Current browsers follow the PNG link tags in the snippet, so a .ico file mainly serves very old browsers and tools that request /favicon.ico by default without reading your HTML. If you want that fallback, convert favicon-32x32.png or favicon-48x48.png to ICO with another tool and place it at the site root.
What size should a favicon be?
There is no single size. Browser tabs use 16 and 32 px, iOS home screens use 180 px, and Android installs and PWAs use 192 and 512 px, which is why the pack holds six PNGs. For Google Search, Google asks for a square of at least 8 × 8 px and recommends going larger than 48 × 48 px.
What's the difference between contain and cover fit?
Contain shrinks your image to fit entirely within the square without cropping, leaving visible background on the shorter sides. Cover scales the image up to fill the square completely, cropping whatever overflows the edges. Use contain to keep the whole logo visible; use cover when you want the square fully filled with no border.
Can I use a transparent PNG or does it need a background color?
Both are supported. Leave transparency on and a source PNG or WebP's alpha channel passes straight through to every generated size. Turn it off and the tool fills the canvas with your chosen background color first, which is useful for launchers that don't render transparent icons well.
Do I need to edit the manifest or HTML snippet the zip generates?
The included site.webmanifest and head-snippet.html are ready to use as-is for basic PWA installability and browser favicon linking — copy the PNGs and manifest to your web root and paste the snippet into your page's head. A production PWA manifest may need additional fields this basic version doesn't include, like start_url variations or orientation.
Why doesn't my new favicon show up after I deploy it?
Browsers cache favicons aggressively, often across full page reloads. Try a hard refresh or an incognito/private window against the deployed URL before concluding the new icon isn't working — this is a caching behavior on the browser's side, not a sign the generated files are wrong.
Can I use an SVG or JPG as the source image?
Yes. The picker accepts PNG, JPEG, WebP, SVG and GIF, and each is redrawn onto a canvas at every output size. A JPEG has no transparency of its own, although contain mode can still leave the padding around it transparent. If an SVG will not load, add width and height attributes to its root element so the browser knows its size.
Why doesn't my favicon show in Google search results?
Google reads the icon from your home page's link tags, and the snippet supplies rel="icon" and rel="apple-touch-icon" links, both of which it recognises. The page and the image must be crawlable and the icon square, ideally larger than 48 × 48 px. After that, Google's recrawl can take anywhere from several days to several weeks.

Related tools on BrakeTools

Content reviewed 2026-09-27.