Convert JXL to ICO

Converting JXL to ICO takes a JPEG XL master and writes the oldest artefact in the pipeline: a Windows icon holding 16, 32 and 48 pixels in one file, capped at 256, with the alpha channel carried through. It works even in a browser that cannot display JPEG XL, because the decoding is done here rather than by the browser.

  • Where it runs In your browser. The file is never uploaded.
  • Lossy Some detail is traded for size. ICO cannot hold everything a JXL can.
  • File size limit Up to 100 MB per file, free, without an account.
  • Worth knowing Scaled down to icon sizes; detail beyond 256 pixels is discarded.

Up to 100 files at once. Mixed formats are fine.

What JXL to ICO actually does

A generated landscape with a low sun and three ridges, used to show what JPEG does to continuous tone. Shown as JXL.

JXL7 KB

A generated landscape with a low sun and three ridges, used to show what JPEG does to continuous tone. Shown as ICO.

ICO139 KB19.6× larger

A photographic scene — smooth gradients, soft edges, grain. This is the case ICO is designed for or against, and the figures show which. Both images are drawn in code and encoded by the same converter that runs on this page, so the sizes are this site's own output.
A generated badge: a circular gradient on a transparent background with a white bar across it, used to show what each format does with transparency and with hundreds of shades. Shown as JXL.

JXL5 KB

A generated badge: a circular gradient on a transparent background with a white bar across it, used to show what each format does with transparency and with hundreds of shades. Shown as ICO.

ICO7 KB43% larger

A transparent background and a gradient across the shape. ICO either keeps both, keeps one, or fills the transparency with a solid colour — which is the difference that catches people out. Both images are drawn in code and encoded by the same converter that runs on this page, so the sizes are this site's own output.
A generated application window with a sidebar, a table and a bar chart, used to show what JPEG does to flat colour and hard edges. Shown as JXL.

JXL13 KB

A generated application window with a sidebar, a table and a bar chart, used to show what JPEG does to flat colour and hard edges. Shown as ICO.

ICO3 KB5.0× smaller

Flat colour and hard edges, as in an interface, a chart or a logo. Very different behaviour from the photograph above, and the reason the answer is "it depends what is in the file". Both images are drawn in code and encoded by the same converter that runs on this page, so the sizes are this site's own output.

Who ends up with a JPEG XL and needs an icon

JPEG XL’s recorded uses are archival and photography, and the people who have adopted it have done so at the front of a pipeline: it is where the original lives, because it holds up to 32 bits per channel, a full alpha channel and wide-gamut colour, and because it can absorb an existing JPEG losslessly.

What that leaves is a gap at the far end. Everything downstream — a site’s favicon, a Windows shortcut, an installer’s icon — wants formats that were specified decades before the master format existed, and ICO is the oldest of them, published by Microsoft in 1985. This conversion is that last step, and it is the one nothing else in a modern toolchain reliably covers.

The decoding does not depend on your browser

JPEG XL support in browsers is recorded here as partial rather than universal, and that is not an academic detail — it is frequently why somebody is looking for a converter at all. The file will not preview in a tab, will not open from a file manager, and produces a blank or a download prompt everywhere it is tried.

The decoder used on this page is a WebAssembly module the site fetches and runs itself, so the browser’s own opinion about JPEG XL never comes into it. A file that shows as nothing in the browser converts here perfectly well, which also means you can use this to find out whether a .jxl you were sent contains what you expected.

From a master of several thousand pixels down to 256

Whatever the source measures, it is first scaled so that its longest edge is 256 pixels. That is the format’s ceiling rather than a policy: each dimension in an ICO directory entry is stored in a single byte, and 256 is recorded as zero because the number does not fit in the field. The sizes that actually go into the file come off that image — 48, 32 and 16 with the default set, each squared, centred and written as its own PNG.

For a master image that is a very large reduction, and it changes where the effort belongs. Nothing above 256 pixels contributes to the result, so a 6,000-pixel original is no better a starting point than a 600-pixel one, and with the default set nothing above 48 contributes either. What decides whether the icon is any good is the crop and the shapes in it, both of which have to be right before the scale happens.

A full alpha channel, and the edges it gives the icon

JPEG XL stores transparency as a proper channel with every intermediate value available, and the PNG written inside the ICO stores the same. So a logo with soft antialiased edges, a shadow that fades out, or a mark drawn with a feathered stroke all survive into the icon with those edges intact.

That is the practical difference between this source and an older one. Formats with a single transparent colour give an icon a hard, jagged outline that looks wrong against both light and dark browser themes, and no setting fixes it. Starting from a master with real alpha means the icon composites correctly over whatever is behind it, which is most of what makes an icon look professionally made.

Crop for legibility before you scale for size

A master is usually the full composition — the whole mark, or a photograph with room around the subject. An icon is looked at in a 16 or 32 pixel box, and at that size a full composition is a smudge no matter how good the source was.

Crop first, hard, and crop square. Take the symbol, the monogram or a single distinctive element, centre it, and leave a small margin so it does not touch the edges. If the mark is a wordmark, use the initial rather than the words. A non-square master is not refused — it is centred on the square with transparency around it, so nothing is stretched — but the mark is then drawn across a fraction of an icon that is already only sixteen pixels wide. This is a design decision the conversion cannot make, and it is the difference between an icon and a coloured square.

Thirty-two bits of source into eight-bit icon channels

JPEG XL can hold 32 bits per channel and wide-gamut colour. The image inside an ICO is a PNG with eight bits per channel and, in practice, no colour management applied by the browsers that draw it.

That reduction is normally invisible and occasionally is not. A mark defined in a wide gamut — a saturated brand orange or green that sits outside sRGB — will shift slightly when it is written into an icon, and it will shift differently again depending on how the operating system draws the tab. If the brand colour is contractual, check the icon against the specification rather than assuming it came through, and expect to nudge it rather than to match it exactly.

What to do when one size is not enough

ICO was designed to hold several images — 16 pixels for a list, 32 for a desktop, 256 for a preview — so that the system picks the right one rather than scaling. The "Icon sizes" control is where you say which. The default writes the classic favicon three; "All common sizes" writes six, which is the set a Windows application resource expects and the one to choose if the icon is going into a build rather than onto a web server.

What the control cannot do is redraw. Every entry is your master reduced to that size in a filtered pass, so the 16 is a small version of the same drawing rather than a simplified one with its strokes snapped to the pixel grid. For a favicon that is the whole job. For a desktop application it is most of it: the remaining step, if the mark has fine detail, is to draw a simplified 16 by hand and swap it into the file in an icon editor, and the file this page produces is a sound input to that.

ICO is a Windows format before it is a web one

The favicon use is the one most people meet, but ICO predates the web by several years and it is still what Windows wants for a shortcut, an executable’s resource, an installer and a file-type association. A cross-platform application build will ask for an ICO, an ICNS and a set of PNGs, and this covers the first.

That is worth knowing because the requirements differ. A favicon wants the small sizes; an application icon is specified as a set running up to 256 and often with hand-tuned small versions. Both come out of this page, from different settings — but if the destination is a build script rather than a web server, read what it expects before assuming the default set is the whole job.

The master never leaves the machine it is on

Both halves of this conversion run locally: the JPEG XL decoder is a WebAssembly module in the page, and the icon container is written in JavaScript beside it. No request carries the file, there is no account, and nothing is retained.

For this pair specifically that is more than a principle. A master file is the version with the layers flattened but nothing else given away — the full resolution, the untouched colour, sometimes the metadata — and it is the last thing worth handing to a free converter in exchange for a 4 KB icon.

How to make an ICO from a JPEG XL file

  1. Crop the JPEG XL to a square around the element that has to be recognisable.
  2. Drop it onto this page and convert.
  3. Pick the size set, then save the result as favicon.ico or hand it to your build.

JPEG XL and ICO: a 2021 master into a 1985 container

JXL compared with ICO
JXLICO
Full nameJPEG XLWindows Icon
File extension.jxl.ico
Media typeimage/jxlimage/x-icon
CompressionEither, depending on the settingLossless — nothing is discarded
First published20211985
Published byJoint Photographic Experts GroupMicrosoft
SpecificationISO/IEC 18181
LicensingOpen standardPublished, not standardised
Standing todayNicheNiche
Bit depth328
Colour it can describeRGB, greyscale, wide gamutRGB, indexed palette
Largest image256 px per side
Opens in a browserSome browsersEvery browser
Considered insteadAVIF, WebP, PNGPNG, SVG

What is lost

JXL carries up to 32 bits per channel and ICO stores 8. The extra precision is what survives heavy correction without banding, so the conversion is best made after the editing rather than before it.

What survives

Transparency survives. Both JXL and ICO store an alpha channel, so a cut-out stays cut out and nothing is filled in behind it.

Opening the result

ICO opens in every current browser. JXL has narrower browser support than that. If the file is going onto a web page or into a form, that is usually the whole reason for the conversion.

GIMP reads both JXL and ICO, so there is a way to check the result against the original without a second tool.

What each format is for

The two are aimed at different work: JXL at archiving and photography, ICO at the web. That is worth weighing before converting, because the reason one exists is usually the reason the other is awkward.

JXL is Joint Photographic Experts Group's format, published in 2021. It records 32 bits per channel.

ICO comes from Microsoft and dates from 1985. GIMP and IcoFX all read it.

ICO was published in 1985 and JXL in 2021. The older one is generally the safer file to hand to somebody; the newer one usually does the job in fewer bytes.

JXL to ICO: sizes, transparency and opening the source

My browser cannot open JPEG XL. Will this still work?

Yes. The JPEG XL decoder used here is a WebAssembly module this site downloads and runs, not the browser’s own image support, so the conversion does not depend on the browser understanding the format. That is often the reason people arrive at this page: the file will not open anywhere and something has to read it.

How large is the icon?

Never above 256 pixels, which is the maximum an ICO directory entry can describe — the field is a single byte, and 256 is written as zero because it does not fit. The sizes actually written are the ones the "Icon sizes" control asks for, 16, 32 and 48 by default. A master of 4,000 pixels therefore loses roughly 99 per cent of its width, which is why the crop matters more than the source resolution.

Does it keep the transparency?

Yes, and properly. JPEG XL carries a full alpha channel with intermediate values, and the image inside the ICO is a PNG that carries the same, so a mark with soft antialiased edges arrives with those edges intact. That is a real advantage over converting from a format with one-bit transparency, where the edges come out hard.

Why is there no quality setting on this page?

Because there is nothing for one to act on. Each image inside the ICO is a PNG, and PNG is lossless — a slider would move and change nothing, so it is not offered here even though it is on every lossy raster target. The size set is the control that actually decides what you get.

Can I get 16, 32 and 48 pixel versions in one file?

Yes, and that is the default. Each is written as its own image in the directory, largest first, so a browser or Windows takes the entry it needs instead of reducing a large one. "All common sizes" extends the set to 64, 128 and 256, which is what a desktop build usually wants.

Is the master uploaded anywhere?

No. The JPEG XL is decoded and the icon is written in your browser, with no server and no account. That matters more than usual for this pair, since a master file is generally the version you would least want to hand to a free online converter.

More about these formats