JPG to ICO — make a Windows icon in your browser
Convert a JPG photo into a Windows .ico icon with several sizes packed into
one file. A .ico is a small container that holds multiple resolutions, so
Windows and browsers can pick the sharpest version for a tab favicon, taskbar
icon or desktop shortcut. This tool builds that file for you with no upload and
no signup.
How it works
For each size you tick, your JPG is drawn onto a square <canvas> at that pixel
size and encoded as a PNG with canvas.toBlob. The PNG payloads are then wrapped
by hand into the ICO container format: a 6-byte ICONDIR header, one 16-byte
ICONDIRENTRY per image (recording its size, bit depth and byte offset), then
the PNG data itself. Modern Windows (Vista and later) reads PNG payloads inside
an .ico directly, so the result works everywhere a favicon or icon is expected.
| Setting | Value |
|---|---|
| Available sizes | 16, 32, 48, 64, 128, 256 px |
| Default sizes | 16, 32, 48 px |
| Payload format | PNG inside the ICO container |
| Transparency | None (JPG has no alpha channel) |
Example
Pick 16, 32 and 48px and drop a 512×512 JPG. The tool renders the photo at each
of the three sizes, encodes them as PNG, and bundles them into a single
icon.ico. Windows then shows the 16px version in a list, the 32px version on
the taskbar and the 48px version on the desktop — all from one file.
Because JPG has no transparency, the icon keeps a solid background. Everything runs locally in your browser — your images are never uploaded.