JPG to ICO converter
Convert JPG images to ICO in your browser — no further loss, at the cost of a larger file. Free, no sign-up, nothing uploaded.
Part of image tools and design tools.
Reads PNG, JPEG, WebP, GIF, SVG, AVIF, HEIC, TIFF. Writes PNG, JPEG, WebP, ICO — ICO with every icon size up to 256 px. HEIC and TIFF decoders load only when you pick such a file.
What happens to quality
ICO is lossless, so nothing further is lost — but nothing lost earlier comes back either. The compression artefacts already in the JPG are part of the pixels now, and ICO keeps them faithfully. Expect a larger file, often several times larger for a photograph; the reason to convert is a workflow that needs ICO, or editing the image without every save costing a little more detail. ICO is what a favicon.ico, a Windows shortcut or a desktop app icon has to be, and the one file can carry every size those need.
What happens to transparency
JPG has no alpha channel, so there is no transparency to carry over and the ICO comes out fully opaque. ICO could hold transparency, but converting does not create it: a white background in the picture stays white pixels, not see-through ones.
Which sizes the icon contains
The ICO holds the image at 16, 32, 48, 64, 128, 256 pixels square, each stored as a PNG inside the icon — the form every browser and Windows since Vista reads, with full transparency. Each size is scaled down from the JPG, so start from one at least 256 pixels wide; a smaller source only gets the sizes up to its own, rather than blurry upscaled ones. A source that is not square is fitted inside the square and centred on transparency, not stretched.
Your JPG never leaves this page
Most online JPG to ICO converters upload the file to a server and send the result back. This one decodes and re-encodes it with the image APIs built into your browser, so the ICO you download was produced on your own machine — you can check by opening the network tab, or by going offline and converting anyway.
Other conversions
Or open the full image converter and pick any output format.