ToolNimba

๐Ÿ–ผ๏ธ Image to ICO Converter: Turn Any Image into a Favicon

Shihab Mia By Shihab Mia ยท Updated 2026-07-31

A square image of at least 48 x 48 px works best. PNG, JPG, WEBP, GIF, BMP or SVG. Files stay on your device, nothing is uploaded.

Choose an image to begin. All processing happens locally in your browser.

This tool turns an ordinary image into icon files you can use as a website favicon. Upload a PNG, JPG, WebP, GIF, BMP or SVG, choose whether to crop it to a centred square, and the tool draws it onto a canvas at the common icon sizes. You get a ready-to-use 32 by 32 pixel .ico file plus separate PNG icons at 16, 32 and 48 pixels. Everything runs locally in your browser, so the image never leaves your device.

What is the Image to ICO Converter?

A favicon is the tiny icon a browser shows in the tab, the bookmark list and the history. For years the only accepted format was .ico, a Windows icon container that can hold one or more images at different sizes inside a single file. The .ico file starts with a small header (the ICONDIR) that records how many images are inside, followed by one directory entry per image giving its width, height, colour depth and where the pixel data sits. Originally that pixel data was an uncompressed bitmap, which is why true multi-size icon packing is fiddly to build by hand.

The modern shortcut is that the ICO format also allows each image to be stored as a PNG. Windows Vista and later, and every current browser, read a PNG embedded inside an .ico without complaint. That is exactly how this tool builds your .ico: it renders your image to a 32 by 32 canvas, exports that as a PNG, then wraps the PNG bytes in the small ICO header so the result is a genuine, valid .ico file rather than a renamed PNG.

There is also a simpler route that many sites now take. Because browsers accept PNG favicons directly through a link tag, you often do not need an .ico file at all. That is why this tool also gives you plain PNG icons at 16, 32 and 48 pixels. You can reference those with a link rel icon tag, or keep the .ico for the classic favicon.ico path that browsers still request automatically. Both approaches are valid, and which you choose comes down to how much legacy support you want.

A full 2026 favicon strategy for a real website usually layers three things on top of what this tool produces. First, favicon.ico at the site root, since every browser still fetches that path automatically even if you never link to it, so an old or missing icon there can undercut a perfectly good link tag elsewhere in the page. Second, an SVG favicon for modern browsers, which scales to any size and adapts sharply on high-DPI screens, something a fixed 32 by 32 PNG cannot do. Third, an apple-touch-icon at 180 by 180 pixels for iOS home screen bookmarks, plus 192 and 512 pixel PNGs referenced from a web app manifest for Android and progressive web apps. This tool covers the browser-tab tier of that stack; the larger touch-icon and manifest sizes are the same idea scaled up from a bigger source image.

Size also matters for how your icon actually looks in the wild. Google Search shows site favicons next to results at roughly 32 by 32 pixels minimum, so a favicon built from a 16 pixel source gets stretched and looks soft in search listings even though it was fine in a browser tab. Windows desktop and application icons go further still, often bundling 16, 32, 48 and 256 pixel versions inside one .ico so the icon stays crisp everywhere from a taskbar to a large-icon file browser view, which is why professional icon editors expose that multi-resolution packing as a core feature rather than an afterthought.

Colour also behaves differently depending on your source format. A PNG or WebP with an alpha channel carries real per-pixel transparency straight through the conversion, so the icon can sit on a light or dark tab background without a visible box around it. A JPG has no alpha channel at all, so any area outside the image content has to be filled with a solid colour during conversion. Picking white, black or a brand colour that matches your site header usually reads better than leaving a default fill that clashes with the page it sits on.

When to use it

  • Creating a favicon.ico for a website, blog or web app from a logo or square image.
  • Producing PNG icons at 16, 32 and 48 px to reference with a link rel icon tag.
  • Converting a high-resolution logo down to crisp small icons without opening a design app.
  • Generating an icon for a browser extension, desktop shortcut or internal tool quickly and privately.
  • Building the source PNGs for an apple-touch-icon or Android home-screen icon from the same logo.
  • Replacing a blurry or outdated favicon.ico that was upscaled from a low-resolution image.

How to use the Image to ICO Converter

  1. Choose a source image (a square logo of at least 48 by 48 px gives the cleanest result).
  2. Decide whether to crop to a centred square and pick a background fill for any transparent areas.
  3. Click Generate ICO and PNGs to render the icon at each size.
  4. Download the 32 by 32 .ico file and the 16, 32 and 48 px PNGs you need.
  5. Upload favicon.ico to your site root and add a link rel icon tag for the PNGs, then hard-refresh to confirm it shows in the tab.

Formula & method

An .ico file is a 6-byte ICONDIR header (reserved, type 1, image count) followed by a 16-byte ICONDIRENTRY per image (width, height, colours, planes, bits per pixel, data size, data offset), then the image data. Here the data is a PNG: the 32 by 32 canvas is exported with canvas.toBlob to image/png, and those bytes are placed after the header.
Source imageCanvas 32x32favicon.ico16 / 32 / 48 px PNGapple-touch-icon(build separately at 180x180)

Worked examples

You have a 512 by 512 px square PNG logo and want a favicon.ico.

  1. Upload the 512 x 512 PNG. The tool reports it is square, so cropping is not needed.
  2. Leave Crop to a centred square on and keep transparency.
  3. Click Generate. The image is drawn onto a 32 x 32 canvas and exported as a PNG.
  4. The 32 px PNG bytes are wrapped in a 22-byte ICO header (6 + 16) to form a valid .ico.

Result: A favicon.ico holding one 32 x 32 icon, plus 16, 32 and 48 px PNG files.

You have a 1200 by 800 px non-square JPG photo for an app icon.

  1. Upload the 1200 x 800 JPG. The tool notes it is not square and suggests cropping.
  2. Keep Crop to a centred square on, which takes the largest 800 x 800 area from the middle.
  3. Pick White as the background since JPG has no transparency to preserve.
  4. Click Generate to scale the cropped square down to each icon size.

Result: A square .ico and PNG icons with the centre of the photo, no stretching or distortion.

You are launching a new site and need a complete, modern favicon set, not just one file.

  1. Start from your largest logo file, ideally 256 x 256 px or bigger, so every output size is scaled down rather than up.
  2. Generate the .ico and the 16, 32 and 48 px PNGs here for the browser tab and search-result icon.
  3. Separately export the same logo at 180 x 180 for an apple-touch-icon and at 192 x 192 and 512 x 512 for a web app manifest.
  4. Upload favicon.ico to the site root, then add link tags for the ICO, the PNG sizes and the apple-touch-icon in the page head.

Result: A favicon that looks sharp in browser tabs, Google search results, iOS home screens and Android app drawers, all from one source logo.

Common favicon sizes and where each one is used

SizeFormat hereTypical use
16 x 16 pxPNGBrowser tab and address bar at standard zoom
32 x 32 pxPNG and ICOBrowser tab on high-DPI screens, taskbar, Google search results
48 x 48 pxPNGWindows site icons and some bookmark views
favicon.icoICO (32 x 32)The default file browsers request from the site root
180 x 180 pxPNG (build separately)Apple touch icon for iOS home screen bookmarks
192 / 512 pxPNG (build separately)Android home screen icon and PWA manifest icons

Structure of the single-image .ico file this tool builds

BytesFieldValue used
0 to 5ICONDIR headerreserved 0, type 1, count 1
6 to 21ICONDIRENTRYwidth 32, height 32, 32 bits per pixel
14 to 17Data sizelength of the PNG in bytes
18 to 21Data offset22 (header is 6 + 16 bytes)
22 onwardImage datathe full PNG produced from the canvas

Icon files and the HTML tag each one needs in the page head

FileRecommended sizeHTML tag
favicon.ico32 x 32 (multi-size ideal)<link rel="icon" href="/favicon.ico" sizes="32x32">
favicon-16.png / favicon-32.png16 x 16 and 32 x 32<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png">
apple-touch-icon.png180 x 180<link rel="apple-touch-icon" href="/apple-touch-icon.png">
site.webmanifest icons192 x 192 and 512 x 512<link rel="manifest" href="/site.webmanifest">

Common mistakes to avoid

  • Uploading a wide rectangular image and expecting a clean icon. Icons are square. If your image is not square, leave Crop to a centred square on so the tool takes the middle square. Turning cropping off instead letterboxes the image, leaving empty bands at the sides.
  • Starting from a tiny image and scaling up. Enlarging a 16 px image to 48 px only makes it blurry, because there is no extra detail to recover. Always start from the largest clean version of your logo and let the tool scale it down.
  • Flattening transparency by accident. If you pick White or Black as the background, transparent areas are filled with that colour. Keep transparent if you want the icon to blend into any tab or theme colour.
  • Assuming you must have an .ico file. Every current browser accepts PNG favicons through a link rel icon tag. The .ico here is for the legacy favicon.ico path and older clients, but PNG icons alone are fine for most modern sites.
  • Uploading the icon files but never adding the HTML link tags. A favicon.ico dropped at the site root usually still gets picked up automatically, but PNG icons, the apple-touch-icon and manifest icons only work if you add the matching link tags in the page head. Missing tags is the most common reason a new favicon never appears.
  • Expecting the browser to show a favicon change instantly. Browsers cache favicons aggressively, sometimes for days. After replacing favicon.ico, do a hard refresh or clear the site data, and check in a private or incognito window before assuming the update failed.

Glossary

Favicon
The small icon a browser shows in the tab, bookmarks and history for a website.
ICO
A Windows icon container format that can hold one or more images at different sizes inside a single file.
ICONDIR
The 6-byte header at the start of an .ico file recording the file type and how many images it contains.
ICONDIRENTRY
A 16-byte record describing one image inside an .ico: its size, colour depth and where its data is stored.
PNG-in-ICO
The accepted practice of storing a PNG-compressed image inside an .ico entry instead of a raw bitmap.
canvas.toBlob
A browser method that encodes the current canvas pixels into an image file such as a PNG, returned as a Blob.
Apple touch icon
A 180 by 180 px PNG referenced with a dedicated link tag that iOS uses when a page is added to the home screen.
Web app manifest
A JSON file (often site.webmanifest) that lists an app name, colours and icon sizes such as 192 and 512 px for Android and PWA install prompts.

Frequently asked questions

How do I convert an image to ICO?

Upload your PNG, JPG, WebP, GIF, BMP or SVG, choose whether to crop it to a square, then click Generate ICO and PNGs. The tool draws your image onto a 32 by 32 canvas and packages it as a real .ico file you can download, all inside your browser.

Can I convert a PNG to ICO without uploading it anywhere?

Yes. This tool runs entirely in your browser using the FileReader and canvas features. Your image is read and processed on your own device and is never sent to any server, so it stays completely private.

Is the .ico file a real icon file or just a renamed PNG?

It is a real .ico file. The tool builds a proper ICONDIR header and ICONDIRENTRY, then stores the PNG image data inside, which is a format the ICO specification allows and that browsers and Windows read correctly.

Why does the tool also give me PNG files?

Modern browsers accept PNG favicons directly through a link rel icon tag, so you often do not need an .ico at all. The 16, 32 and 48 px PNGs let you use that simpler approach, while the .ico covers the classic favicon.ico path.

What size should my source image be?

A square image of at least 48 by 48 px works well, and a larger square logo (256 px or more) is even better. The tool scales down cleanly, but it cannot add detail when scaling a small image up, so start from the largest version you have.

Does the ICO file contain multiple sizes?

The .ico here holds a single 32 by 32 image, which is enough for a working favicon. For multiple sizes in one file you would download the separate PNG icons and reference each with its own link tag, which most modern sites do anyway.

How do I add the favicon to my website HTML?

Upload favicon.ico to your site root, since browsers request that path automatically, then add link tags in the page head for the PNG sizes, for example link rel icon type image/png sizes 32x32 href favicon-32.png. Add an apple-touch-icon link too if you want a clean iOS home-screen icon.

Does a favicon still need to be an ICO file in 2026?

No. Current browsers accept PNG and SVG favicons through link tags, so an .ico is no longer strictly required. Many sites keep one anyway because browsers still fetch favicon.ico from the root automatically, which acts as a reliable fallback for older tools and crawlers.

Why is my new favicon not showing up after I uploaded it?

Browsers cache favicons for a long time. Try a hard refresh, clear the site cached data, or check the icon in a private or incognito window. If it still does not appear, confirm the file path and the link tag sizes attribute actually match the file you uploaded.

Can I convert a JPG photo to an ICO favicon?

Yes, but a JPG has no transparency, so any area outside the cropped square gets filled with the background colour you choose. For a cleaner result, pick a background colour close to your site header, or start from a logo with a transparent PNG background instead of a photo.