JPG to ICO.
A real favicon, in one drop.
Squish bundles 16, 32, 48 and 256px into a single file - so browsers, bookmarks and desktop tiles all get a sharp icon.
Processed in memory - never stored.
What an .ico file actually is
An .ico isn't really an image format so much as a container. A single .ico holds several square bitmaps at different resolutions, and whatever is displaying it picks the one that fits the slot: 16px for a browser tab, 32px for a bookmark, 48px and up for Windows shortcuts and high-density screens. That's why converting a JPG to ICO isn't a rename - each size has to be rendered separately, then packed together. Squish does all four for you: 16, 32, 48 and 256px, in one file, with no options to get wrong.
Save the download as favicon.ico and put it at the root of your site, so it answers at https://yoursite.com/favicon.ico. Even in 2026, browsers still request that exact path by themselves when a page has no icon tag, and plenty of feed readers, link-preview bots and crawlers only ever look at the root. Declaring it in your head with a <link rel="icon" href="/favicon.ico" sizes="any"> tag is still worth doing, but the file at the root is the fallback that works everywhere with no configuration at all.
Common questions
- Why is my .ico bigger than the JPG I started with?
- Because ICO is lossless and holds four images instead of one. A heavily compressed JPG throws away detail to get small; an icon keeps every pixel exact, at four resolutions. Expect the .ico to be larger, and don't worry about it - a favicon is fetched once and cached hard by every browser. For the same reason, target size mode and the quality slider don't apply to ICO. If you need a file under a set weight, that belongs on a lossy format like WebP or JPG instead.
- My logo isn't square. Now what?
- Squish centers it and letterboxes the difference with transparent padding, so a wide wordmark stays the right shape instead of being stretched into a square. It will look small in a 16px tab, though - that is the nature of a wide logo in a square hole. If you want the mark to fill the frame, crop it square before you drop it in. Squish converts and compresses; it doesn't crop.
- What if my source image is small?
- Sizes larger than your source are skipped rather than upscaled, so a 64px JPG produces an .ico with 16, 32 and 48px in it and nothing blurry pretending to be 256. Start from something at least 256px square if you want the full set.
- Can I use a PNG or HEIC instead of a JPG?
- Yes - JPG, PNG, WebP, AVIF and HEIC all work as input, and PNG transparency is carried through into the icon. SVG works too, though it is rasterised at whatever width the file itself declares, so give a vector logo a width of at least 256 if you want the full set of icon sizes. Coming from an iPhone shot? See HEIC to PNG.
- Can I do a whole set of icons at once?
- Drop as many images as you like - each converts in parallel and Download all hands back a zip. Handy when you run several sites or need an icon per brand. Images are processed in memory and never stored on a server. If you also need web-sized PNG icons for a manifest, the PNG compressor will handle the resize and shrink in the same pass.