Skip to content

BMP to ICO converter

BMP pixels are decoded and encoded as ICO by our image engine for bmp-to-ico; no OCR is performed.

  • Converted with Image engine · nothing stored
  • Free: 5 conversions a day · 5 MB each
  • Higher limits →

What changes

  • BMP pixels are decoded and encoded as ICO by our image engine for bmp-to-ico; no OCR is performed.
  • EXIF, color profiles, layers, animation frames, and camera metadata may be stripped unless the destination requires minimal metadata.
  • Transparency stays for PNG and WebP but is filled with the selected background for JPEG, BMP, PDF, and other opaque targets.
  • Animated inputs such as GIF are flattened to a still frame unless a server codec explicitly supports animation for that output.
  • SVG input is rasterized at the requested dimensions or DPI, producing pixels rather than editable vector paths.
  • This pair runs in a browser worker first, so standard web conversion does not upload the file.

A real BMP → ICO run

We converted our BMP sample (703 KB) with Image engine on 2026-10-20. It took 16 ms and produced a 10 KB ICO file, 99% smaller than the input. The engine raised 1 warning, listed below.

Input · sample.bmp · 703 KB

600 × 400 px, 24-bit

Width
600
Height
400
Encoding
24-bit

Output · sample.ico · 10 KB

256 × 171 px, 1 size: 256×171

Width
256
Height
171
Encoding
1 size: 256×171
  • Image metadata stripped from output.

Options

width
Set the output width in pixels.
height
Set the output height in pixels.
fit
Contain, cover, or fill within the requested dimensions.
quality
Set lossy output quality where the codec supports it.
background
Fill transparency with this color for opaque formats.
stripMetadata
Remove source metadata when writing the output.
dpi
Rasterize SVG or PDF-derived pixels at the requested scale where supported.

Example

input
BMP image, 1200 × 800 pixels
output
ICO image resized or re-encoded without OCR text extraction

Do it in code

python
from PIL import Image
img = Image.open("input.bmp")
img.save("output.ico")

BMP to ICO by API or MCP

The HTTP API and the MCP server run the exact engine this page uses (Image engine); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=bmp&to=ico.

curl
curl -X POST https://filetypeconverters.com/api/v1/convert \
  -H "Authorization: Bearer $FTC_API_KEY" \
  -F "file=@input.bmp" -F "from=bmp" -F "to=ico" \
  -F 'options={"dpi":96}' \
  --output output.ico

Options this engine accepts for BMP → ICO

KeyApplies toTypeDefault
dpiReading BMPnumber96
widthWriting ICOnumber0
heightWriting ICOnumber0
fitWriting ICOcontain · cover · fillcontain
qualityWriting ICOnumber90
backgroundWriting ICOstring#ffffff
stripMetadataWriting ICObooleantrue
API reference

This converter works today; a tested write-up of what changes for BMP → ICO is in progress.