Favicon Generator

Turn a logo or image into a complete favicon set: every standard size packaged as a downloadable zip, plus ready-to-paste HTML tags, entirely in your browser.

runs locally on your browser. Your data never leaves your device.

Drag & drop a logo or image

or

Common Use Cases

Generate a full favicon set from a logo before launching a new website
Replace a blurry, single-size favicon with properly sized icons for every browser and device
Produce the apple-touch-icon and Android/PWA manifest icons a static site generator doesn't create automatically
Quickly preview how a logo will look shrunk down to a 16×16 browser tab icon before committing to a design

About Favicon Generator

Every website needs a favicon, but browsers, phones, and bookmark screens all expect it at different pixel dimensions, so a single logo file dropped into an `<head>` tag isn't enough. This tool takes one uploaded image and produces every commonly used favicon size at once: 16×16 and 32×32 for browser tabs, 48×48 for Windows site icons, 180×180 for Apple's home-screen icon, and 192×192 and 512×512 for Android/Chrome and PWA manifests. Everything happens directly in your browser: nothing is ever uploaded anywhere.

Drop in a logo, icon, or square graphic and a live preview shows exactly how it'll look at each of the six sizes, so you can catch a design that turns illegible or loses its padding before you ever paste it onto a live site. Under the hood, each size is produced independently by drawing the source image onto its own appropriately-sized `<canvas>` using the browser's own high-quality image resampling (the same `createImageBitmap` → canvas → `toBlob` pipeline used by this site's other image tools), so a 512×512 icon isn't just a blown-up 16×16, and a 16×16 isn't a blurry downscale of something never actually rendered at that size.

Once you're happy with the preview, download every size at once as a single zip file (built client-side with JSZip, no server round-trip involved), each image named to match the filename browsers and manifest files expect (`favicon-16x16.png`, `apple-touch-icon.png`, `android-chrome-512x512.png`, and so on) so you can drop the whole folder straight into your site's root without renaming anything. Alongside the zip, the tool also generates the exact `<link>` tags your page's `<head>` needs to reference every size; copy the whole block with one click and paste it in, no manual lookup of which `rel`/`sizes` attribute pairs with which file required.

Because decoding, resizing, and zipping all run locally using APIs already built into your browser, your uploaded image is never transmitted, logged, or stored anywhere, even for a moment.

Frequently Asked Questions

Is my image uploaded anywhere while the favicons are being generated?
No. The image is decoded directly in your browser the moment you select it, and every step (resizing to each favicon dimension, generating the preview, and building the downloadable zip) runs entirely on your device. Nothing is uploaded, transmitted, logged, or stored anywhere.
What sizes are included in the download?
Six PNG files: 16×16 and 32×32 (standard browser tab favicons), 48×48 (Windows site icons), 180×180 (Apple touch icon for iOS home screens), and 192×192 and 512×512 (Android Chrome and PWA manifest icons), each named to match what browsers and manifests conventionally expect.
What file format should I upload, and does it need to be square?
Any common image format your browser can decode, including PNG, JPEG, WebP, and more, works as the source. A square image gives the cleanest result since every output size is also square, but a non-square upload is simply center-cropped to a square before resizing rather than stretched, so it never comes out distorted.
How do I actually use the generated files on my website?
Unzip the download into your site's root folder (or wherever your static assets live), then paste the copyable <link> tag block this tool generates into your HTML's <head>. The href paths already match the filenames in the zip, so no renaming or path editing is needed.
Why do I need so many different sizes instead of just one favicon.ico?
Different platforms request different sizes for different contexts: a browser tab, an iOS home-screen icon, and an Android app-drawer icon are all rendered at different pixel dimensions, and letting each one scale down from a single oversized image (or worse, scale up from a tiny one) tends to look soft or blurry. Providing each size pre-rendered gives every platform a crisp icon rendered at its native resolution.