Skip to content

Generate a favicon online

Runs in your browser — this file is never uploaded

Turn one logo into the full set a site actually links to — favicon.ico for the browser tab, the individual PNG sizes modern browsers and phones look for on their own, and a small manifest tying the Android sizes together. Add your image and download everything at once.

A single favicon.ico stopped being the whole story years ago: Apple, Android, and high-DPI displays each check for their own specifically-sized PNG before falling back to the .ico. This generates all of it from one source image, cropped to a centred square if it isn't one already.

Your image never leaves your device. Every size is rendered in your browser, so nothing is uploaded, stored, or scanned.

or drop them here — nothing is uploaded

How to favicon generator

  1. Add your logo or image

    Drop a JPG, PNG, or WebP file into the box. Square works best — anything else is cropped to a centred square automatically.

  2. Generate and download

    Press Favicon Generator. A ZIP downloads with favicon.ico, five PNG sizes, and a web manifest.

  3. Add the files to your site

    Put every file in your site's root folder and link favicon.ico, the PNGs, and site.webmanifest from your page's <head> — the standard set any "how to add a favicon" guide covers.

Frequently asked questions

Is my image uploaded anywhere?

No. Every size is rendered in your browser using JavaScript, so your image stays on your device. You can confirm this by opening your browser devtools Network tab while working — there are no upload requests.

What's actually inside favicon.ico?

Three renders at 16×16, 32×32, and 48×48 pixels, bundled into one file the way every real favicon.ico has worked since Windows Vista — a browser or OS picks whichever size fits, from a single file, rather than needing several separate links.

Why do I need PNGs too, if favicon.ico already has multiple sizes?

Because not everything that shows a site icon reads .ico files. Apple devices look for apple-touch-icon.png specifically when someone adds a site to their home screen, and Android looks for the two android-chrome sizes named in the web manifest. Shipping only favicon.ico means those platforms fall back to a lower-quality auto-generated icon instead of the one you actually made.

What does the web manifest do?

It tells Android (and any browser reading Progressive Web App metadata) which PNG to use at which size when someone adds the site to their home screen or app drawer. It has no effect on desktop browser tabs — those read favicon.ico or the favicon PNGs directly.

My source image isn't square. What happens?

It's cropped to a centred square before anything is resized — the largest square that fits in the middle of the image, keeping the subject rather than squashing it. If your logo isn't centred in the original file, crop it yourself first for a better result.

Can I start from an SVG logo?

Convert it to PNG first with SVG to PNG, then generate favicons from that.