Favicon Generator

Upload one square-ish image, get every favicon size you need, plus the manifest JSON and head tags to paste in. Rendered on canvas, locally.

Private by architecture: All processing is 100% client-side memory. Your data never leaves this browser tab.

Drag & drop a square-ish source image, or

About This Tool

Draws your uploaded image onto six separate canvases at the exact sizes browsers and OSes expect for favicons and PWA icons: 16×16 and 32×32 for the classic browser tab icon, 48×48 for Windows site icons, 180×180 for apple-touch-icon, and 192×192 / 512×512 for Android/PWA manifests. Each size downloads independently as its own PNG.

It scales the source image to fill each square without cloud uploads or third-party tracking. The generated site.webmanifest and head link tags reference the exact filenames this tool produces.

Key Features

  • 6 required sizes: 16, 32, 48, 180 (Apple), 192, and 512 (Android/PWA) px, each on its own canvas.
  • Independent downloads: Every size has its own download button, named for its purpose.
  • Generated site.webmanifest: Valid JSON referencing icon-192.png and icon-512.png, with an editable app name.
  • Ready-to-paste head tags: Favicon, apple-touch-icon, and manifest link tags in the exact filenames generated.
  • One source image: Upload once, every size renders immediately in your browser.

Frequently Asked Questions

What source image size should I use?
A square image at least 512×512px gives the cleanest results across every generated size, since it's only ever scaled down, never up.
Does this crop non-square images?
No. Each size scales the full source image to fill a square canvas, so a non-square source will appear stretched rather than cropped. Crop to square before uploading for accurate results.
Where do I put the downloaded files?
Save each PNG with the filename implied by its label (e.g. favicon-32.png, apple-touch-icon.png, icon-192.png, icon-512.png) in your site public root, alongside site.webmanifest, then paste the generated <head> tags.
Is my image uploaded anywhere?
No. Every size is rendered locally via canvas; nothing is sent to a server.