Skip to main content

JPG to ICO converter

Convert JPG images to ICO format

No watermarkFree & unlimited
All processing happens in your browser. No data is sent to any server.

Turning a photograph into an icon is mostly an exercise in subtraction. Thirty-two pixels square is about a thousand pixels in total, and a JPEG typically arrives with several million, so the browser averages them down in a single scaling step. Faces, text and busy backgrounds dissolve; a single bold shape survives. The icon this page writes holds one 32x32 image in uncompressed 32-bit form, and because the source has no transparency, every pixel in it is fully opaque - including the rectangular corners.

Key facts about JPG to ICO converter

Key facts about JPG to ICO converter
Icon contentsA single 32x32 entry stored as an uncompressed bottom-up DIB with four bytes per pixel.
Always the same length4,158 bytes: 6 bytes of directory, a 16-byte entry, a 40-byte header and 4,096 bytes of pixel data.
OpacityThe alpha byte is copied from the canvas, and a JPEG is opaque throughout, so the icon is a solid square with no cut-out edges.
Aspect ratioIgnored. A landscape photo is compressed horizontally into the square rather than cropped, so pre-crop anything that is not already square.
Detail lossThe downscale is a single smoothed step, which averages fine detail away instead of redrawing it - faces and lettering rarely read at this size.
Sizes not producedThere is no 16x16 or 256x256 entry in the file, so a system needing a larger icon will scale this one up and soften it.
Icon variantThe classic uncompressed form rather than the PNG-in-ICO variant, which keeps it readable by older Windows tooling.
MetadataExposure data, timestamps and GPS coordinates from the photo are not carried into the icon - the format has no field for them.
Used byThe /favicon.ico a browser requests by default, Windows shortcuts and application icons, and installers that ask for an .ico path.

What happens to your file

The photo is decoded by the browser, drawn into a 32-pixel canvas, and read back as an RGBA array; the page then writes the icon directory, the entry record and the pixel block into an ArrayBuffer with a DataView and wraps it in a Blob typed image/x-icon. No favicon generator service sees the image, which matters more than usual here, because people often build icons from photographs they have not published anywhere.

About this tool

  1. 1

    Crop the photo to a square first

    Do this in any editor before uploading - the conversion stretches rather than crops, and a squashed face is hard to unsee.

  2. 2

    Drop the JPG in

    A blue panel confirms the fixed 32x32 output. The quality slider and resize presets are both hidden, because neither applies to this target.

  3. 3

    Convert

    The scaling and icon assembly take a fraction of a second even from a full-resolution camera file.

  4. 4

    Deploy it

    Rename to favicon.ico for a website root, or point your installer or shortcut at the downloaded file.

Specs & compatibility
Input and outputTakes .jpg and .jpeg only (image/jpeg) and returns .ico with the image/x-icon type; any other extension is refused before decoding.
Conversion pathJPG to ICO runs in three steps: an <img> element decodes the JPEG, baseline or progressive, in the browser; the pixels land on a 2D canvas in this tab; then the canvas is redrawn at 32x32 and an icon writer in the page emits the directory and the DIB.
Browser supportThe JPEG side decodes in every browser ever shipped, while writing the ICO needs nothing from the browser, the icon being assembled in the page.
Controls for this pairNo quality slider and no resize presets: JPG to ICO is pinned to 32x32 pixels, which the page says above the convert button.
Batch, caps and namingTwenty JPG files per run at 500 MB each; one result downloads as a single ICO, several as converted-ico-files.zip, zipped by JSZip 3.10 in page memory.
Device ceilingThe canvas caps it: past roughly 16,384 px a side Chromium refuses the bitmap and iPhone Safari gives up sooner, so an oversized JPG fails before any ICO bytes exist.
  • Zoom out until your photo is the size of a thumbnail on screen: whatever you still recognise there is roughly what the icon will show.
  • A tight crop on one distinctive element - a logo on a sign, a single object, a colour block - reads far better than the full frame.
  • Because the result is opaque, it will show as a square against any browser tab background; a PNG source lets you keep rounded or transparent edges.
  • Photographic favicons compete badly with flat ones in a crowded tab bar, so consider a simple mark rather than a picture.
  • Creating a quick favicon from a brand photograph for a prototype or an internal site.
  • Producing an .ico for a Windows application shortcut without opening an image editor.
  • Making an icon for a personal project from a picture you would rather not upload to an online generator.
No - the output is fixed at 32x32, and the resize presets are hidden on this page for that reason. Thirty-two pixels is the size browsers and Windows request most often, and it downsamples to 16 reasonably well. A multi-resolution .ico containing several entries is not something this converter builds.
Because millions of pixels were averaged into about a thousand in one step. Detail that needs more than a few pixels to exist simply has nowhere to go. The fix is editorial rather than technical: crop to a single bold element, or design a flat mark and convert that instead of the photograph.
Not from a JPEG. The file format stores no alpha channel, so every pixel is opaque and the icon is a full square. If you want a round badge or a cut-out silhouette, start from a PNG or WebP with real transparency - the icon writer preserves alpha when the source provides it.
For this shape of file, yes, and it is always exactly that. A 32 by 32 image at four bytes per pixel is 4,096 bytes of data, and the three headers contribute 62 more. Multi-size icons are larger because they contain several images; PNG-compressed icons are smaller but less compatible with old tooling.
Frequently, and it is the usual reason a new icon does not appear. Browsers and Windows both keep icon caches that outlive a file replacement. A hard reload, a private window or simply waiting usually resolves it - the converted file itself changes whenever the source does.
View all

Need the opposite? Try ICO to JPG

Updated

We use anonymous analytics to improve ToolChamp. No personal data is stored or sold. Privacy Policy