ICO to PNG Converter: Extract Windows Icons, Lossless

Pull a Windows .ico apart into a clean PNG in your browser. Keeps full transparency, lossless re-encode, no upload. Free, instant, works offline.

Browser Native
Privacy First
Free Tool

Convert Now

Drag & drop your file here

or

How It Works

An .ico is a container, not a picture. After a short header comes a directory that lists each image packed inside, then the image data. Microsoft built it that way so a single file could hold a 16px taskbar icon, a 32px shortcut icon, and 48px or 256px large versions at once, letting Windows draw whichever size fits the spot. That same multi-size container is what most sites still serve at /favicon.ico. PNG holds exactly one image, so the conversion is really an extraction: one entry comes out of the container and becomes a standalone file. This tool feeds the raw .ico bytes to the browser's own image decoder, the same code that renders icons on a web page. The decoder reads the directory and hands back the entry it judges best, normally the largest, highest-color version present. Those pixels, alpha included, are drawn to a canvas and re-encoded as PNG. PNG uses DEFLATE, which is lossless, so the colors and transparency you see are written out unchanged. The browser picks the entry, not a hand-rolled parser, so the chosen size depends on the icon and your browser, not on a setting here. Everything happens locally. The .ico is read into memory, decoded, and the PNG comes back as a direct download. No upload, no server round trip, and once the page is loaded you can go offline and it still runs. Need a specific smaller size out of a multi-resolution icon? Convert it, then downscale the PNG in any editor, since the smaller entries are separate images the decoder skips over.

Related Conversion Tools

Discover more powerful converters that might be useful for your workflow

AVIF to PNG Converter: Decode AV1 Images in Browser

Decode AVIF (AV1) images to lossless PNG in your browser, with transparency kept pixel for pixel. No uploads, no server, fully private and free.

.avif
Try Now

Base64 to PNG: Decode Data URIs in Your Browser

Paste a Base64 string or data: URI and decode it to a PNG locally. Keeps alpha transparency, no uploads, no server. Pure client-side decode.

PNG Optimizer: Lossless Compression, Same Pixels

Shrink PNG files losslessly with oxipng. Same pixels, fewer bytes via smarter filtering and DEFLATE. Runs in your browser, no uploads, no quality loss.

JPEG Optimizer: Shrink JPG File Size with mozjpeg

Re-encode JPEGs with mozjpeg to cut file size at near-identical quality. Runs fully in your browser, no uploads, and never returns a bigger file.

.jpg.jpeg
Try Now

Compress WebP: Re-Encode an Existing WebP Smaller

Re-compress an existing WebP to a smaller WebP entirely in your browser. Lossy re-encode at quality 82, never inflates, no uploads, fully private.

.webp
Try Now

Image Optimizer: Shrink JPG, PNG, WebP, Same Format

Compress JPG, PNG, or WebP without changing format. PNG stays truly lossless via oxipng; JPEG and WebP re-encode smaller. Runs in your browser, no uploads.

.jpg.jpeg +2
Try Now

Key Features

  • No file uploads required - works offline
  • 100% privacy focused - client-side processing
  • Browser powered - no software installation
  • Fast processing - WebAssembly technology
  • Free forever - no premium accounts

Supported File Formats

.ico

Output Format: PNG

Technical Specifications

input Format ICO (Windows Icon container, BMP or embedded-PNG entries)
output Format PNG (Portable Network Graphics, RGBA)
compression Type Lossless DEFLATE
quality Retention Lossless re-encode of the extracted entry, kept at native dimensions
color Space Support sRGB; indexed and truecolor with 1-bit or 8-bit alpha
max Resolution Limited only by your device's memory
processing Time Instant, runs in your browser

Key Benefits

  • Pulls the best embedded size out of a multi-resolution .ico automatically
  • Lossless PNG encode, kept at the entry's native dimensions with no downscaling
  • Preserves transparency from both real alpha channels and legacy 1-bit AND masks
  • Runs fully in your browser, so the .ico never gets uploaded
  • Handles modern 256px PNG-payload icons at full resolution
  • Plain RGBA PNG output that opens in any editor or framework
  • No quota, watermark, or account, and it works offline once loaded

Common Use Cases

  • Recovering a logo or mark from a site's favicon.ico for design reference
  • Editing a Windows app icon in Figma, Photoshop, or GIMP
  • Converting legacy .ico assets to PNG for mobile or web projects
  • Dropping an extracted icon into a README, doc, or slide deck
  • Building a PNG icon set from existing Windows icon files
  • Checking which artwork actually ships inside a multi-resolution .ico
  • Prepping source art before regenerating favicons at other sizes

Pro Tips

  • A multi-size .ico gives you the biggest embedded entry; downscale the PNG afterward if you need 16 or 32px
  • Save a site's icon from its /favicon.ico path, then convert it here
  • Check the output dimensions to learn the largest size the original icon actually held
  • Keep the PNG as your master and re-export new favicon sizes from it
  • Transparent edges carry through, so the PNG sits cleanly on any background
  • If an .ico won't decode, re-export it from a real icon editor and retry

Frequently Asked Questions

You get the entry the browser's decoder selects, which is almost always the largest and deepest-color one in the file. So a 16/32/48/256 icon typically yields the 256px (or the biggest present) version. There's no size picker here because the decoder makes that call. If you specifically need the 16px or 32px artwork, convert the file and downscale the PNG, or open the .ico in a dedicated icon editor that exposes each entry.
Yes. The decoder resolves the icon's transparency before handing it over, whether that came from a real alpha channel in a modern PNG-payload entry or the classic 1-bit AND mask in an older BMP-payload entry. The canvas preserves those alpha values and the PNG is written as RGBA, so transparent corners and anti-aliased edges stay transparent rather than being flattened onto a background color.
The PNG step is lossless: DEFLATE compression doesn't discard color or detail, and the extracted entry is re-encoded at its native dimensions with no downscaling or color reduction. The decoded pixels go to PNG as-is. The only thing left behind is the other sizes in the .ico, which were always separate images, not detail removed from the one you kept.
Yes, once you have the file. Download it from the site's /favicon.ico path, then drop it here to get an editable PNG of the largest embedded size. It's the common way to recover a logo or mark for design reference when only the favicon is available. Note the artwork may be trademarked; converting the format doesn't grant any right to reuse it.
ICO is a Windows-specific container that most design tools, web frameworks, and mobile build pipelines won't open directly. PNG is the lingua franca for a single image: it drops into Figma, Photoshop, GIMP, a README, an app asset folder, or a build step without conversion. Extracting the icon from the .ico wrapper turns it into something every tool can read.
Yes. Vista-era and newer .ico files often store the 256px entry as a compressed PNG inside the container to keep the file small. The browser decodes that payload and the canvas re-encodes it to a fresh PNG at full 256px with its alpha intact. The output is a new PNG, not the original byte stream passed through, but the resolution and transparency match.
No. Decoding and PNG encoding run entirely in your browser using built-in APIs. The .ico is read into memory, converted, and offered as a download with no network request carrying the file. You can disconnect from the internet after the page loads and the conversion still works.
Normal single- and multi-image .ico files convert without fuss. Cursor files (.cur) reuse the format but add hotspot data and aren't supported here. A truncated or non-standard .ico can fail if the browser's decoder can't find valid image data behind the directory offsets; re-export it from a working icon editor and try again.