Convert images between PNG, JPEG, WebP, SVG, and ICO, with resizing and six crop modes including AI-assisted selection
For ALL crop modes: Keep everything except the selected region(s)
Drag & drop an image here, or click to upload
Supported: jpg/jpeg, png, webp, svg, ico
No image uploaded yet.
No converted image yet.
Convert between PNG, JPEG, WebP, SVG, and ICO formats with adjustable quality settings.
Resize images by width, height, or both. Maintains aspect ratio when only one dimension is specified.
POST /api/image-convertMultipart form-data with two fields:
file: Image file (required)options: JSON string with conversion settings (required){
"toFormat": "png|jpeg|webp|svg|ico",
"quality": 1-100,
"width": number | null,
"height": number | null,
"crop": {
"type": "rect|circle|polygon|magic|selfie|sam",
"data": {
// Rectangle: { left, top, width, height }
// Circle: { cx, cy, r }
// Polygon: { points: [{x, y}, ...] }
// Magic/Selfie/SAM: { regions: [[{x,y},...]], invert?: boolean }
}
}
}Binary image data with appropriate Content-Type header and download filename.
const formData = new FormData();
formData.append('file', imageFile);
formData.append('options', JSON.stringify({
toFormat: 'png',
quality: 90,
width: 800,
crop: {
type: 'circle',
data: { cx: 400, cy: 300, r: 150 }
}
}));
const response = await fetch('/api/image-convert', {
method: 'POST',
body: formData
});
const blob = await response.blob();