Every way to convert to and from ICO
PixelTools has five dedicated ICO converters instead of one generic uploader, because the right conversion depends on your source file: JPG to ICO and PNG to ICO for a logo or photo you already have as a raster image, SVG to ICO for a vector logo exported from Figma or Illustrator, WebP to ICO for assets pulled from a modern web pipeline, and ICO to PNG for going the other way — pulling a favicon or Windows icon back out into a normal image you can edit or upload elsewhere. All five run entirely in your browser: nothing is uploaded, and each produces (or reads) a real multi-size .ico container, not just a renamed file.
What an ICO file actually is
ICO is a binary container format, not a raster format like JPG or PNG — it doesn't just hold one picture. An ICO file bundles several versions of the same icon at different pixel sizes behind a short directory header (ICONDIR) that lists each frame's size and byte offset, so a program can pick whichever size fits the context it needs: a browser tab, a Windows taskbar button, a desktop shortcut. That's also why renaming a JPG or PNG to .ico never works — there's no directory structure or embedded frames, so browsers and Windows simply refuse to read it. Despite SVG and PNG favicons being supported by modern browsers, favicon.ico is still the fallback every browser and Windows itself checks first, which is why the format hasn't disappeared.
Converting JPG, PNG, SVG, or WebP to ICO
Each of PixelTools' four "to ICO" converters follows the same pipeline: your source image is drawn onto a canvas at three favicon sizes — 16×16, 32×32, and 48×48 pixels — and each size is exported as a PNG-format frame, then all three are packed behind an ICONDIR header into one .ico file. Non-square sources are center-cropped to a square first, since favicons are always square. Transparency carries through for PNG, SVG, and WebP sources (each frame stores PNG data internally, alpha channel included); a JPG source always produces an opaque icon, since JPG has no alpha channel to preserve. SVG sources are rasterized from their own vector geometry at high resolution before being scaled down, so edges stay cleaner than starting from a low-res bitmap.
Extracting ICO to PNG
Going the other direction, ICO to PNG decodes an existing .ico — a downloaded favicon, a Windows icon resource, an app icon — and re-exports the frame your browser selects (typically the largest embedded size) as a standard PNG, with transparency preserved. This is the direction to use when you've got a favicon.ico from an old site or a competitor's icon and need it as a normal image you can drop into Figma, a moodboard, or an upload form that rejects .ico outright — which is most of them, since ICO support outside browsers and Windows itself is thin.
Which source format should you start from?
Start from PNG if you have it — it's the natural favicon source because it already supports a transparent background, and it's what most logo exports default to. Use SVG when your logo only exists as vector (a Figma or Illustrator export with no fixed canvas size); it gets rasterized at high resolution before being cut down, keeping edges sharp. Use JPG only when that's genuinely your only source — a photo-based icon will always end up opaque, and JPG's compression artifacts show up more at 16×16 than they do at full size. WebP works the same as PNG (alpha channel intact) and is the right pick if your asset pipeline already standardized on WebP.
What sizes you get, and where this tool stops
PixelTools packs exactly three frames into every ICO it generates: 16×16, 32×32, and 48×48 — the classic set browsers, Windows shortcuts, and taskbar icons actually read. That covers a working favicon.ico end to end. What it doesn't include is a larger frame like 256×256, which some dedicated favicon generators add for Windows' high-DPI icon selection or for reuse as a PWA manifest icon. If you need that specific size, export your source at 256×256 as a separate PNG (any of the PNG/JPG/SVG/WebP tools here can resize on the way in) rather than expecting one .ico to cover both jobs — being upfront about that limit is more useful than pretending one file does everything.