JPG to ICO
Convert JPEG images to ICO icons.
Try JPG to ICO in the browser →
Convert.FAST uses this same API — what you see in the browser is what you get in code.
Quick reference
| Job type | image.jpg-to-ico |
| targetFormat | ico |
| Category | images |
| Input formats | .jpg, .jpeg |
| Output extension | .ico |
| Costing | 1 credit per 5 MB |
| Max file size | 1 GB |
Example
# 1) Submit
JOB_ID=$(curl -sS -X POST "https://api.tools.fast/convert" \
-H "X-Fast-Api-Key: $API_KEY" \
-F "file=@photo.jpg" \
-F "targetFormat=ico" | jq -r '.id')
# → 202 Accepted: {"id": "019e3a7b-...", "status": "Queued"}
# 2) Poll until terminal status
while true; do
RESPONSE=$(curl -sS "https://api.tools.fast/convert/job/${JOB_ID}" \
-H "X-Fast-Api-Key: $API_KEY")
STATUS=$(echo "$RESPONSE" | jq -r '.status')
[ "${STATUS}" = "Succeeded" ] && break
[ "${STATUS}" = "Failed" ] || [ "${STATUS}" = "Canceled" ] && { echo "$RESPONSE" | jq; exit 1; }
sleep 1
done
# 3) Download
curl -sS "https://api.tools.fast/convert/job/${JOB_ID}/download" \
-H "X-Fast-Api-Key: $API_KEY" \
-o "photo.ico"
# → Binary file (image/x-icon, 2.5 MB)With options
JOB_ID=$(curl -sS -X POST "https://api.tools.fast/convert" \
-H "X-Fast-Api-Key: $API_KEY" \
-F "file=@photo.jpg" \
-F "targetFormat=ico" \
-F 'options={"resize":{"enabled":false,"mode":"pixels","preset":"off","value":0}}' | jq -r '.id')Options
This converter supports the following options. See Options Reference for full details.
| Option | Description | Default |
|---|---|---|
resize | Resize image by pixels or percentage with presets (4K, 1080p, 720p, custom) | enabled: false, preset: off |
smartCompression | Optimize file size using format-specific compression (MozJPEG, pngquant, etc.) | enabled: false |
metadata | EXIF/GPS metadata handling for privacy and file size reduction | strip: true |
Cost estimate
curl -sS "https://api.tools.fast/convert/estimate/jpg/ico?fileSizeMb=50"