At a glance
| Requirement | Limit |
|---|---|
| Input | PNG or JPEG; PNG is recommended for logos |
| File size | Up to 10 MiB (10,485,760 bytes) |
| Image dimensions | Up to 4,000,000 pixels in total |
| Request body | Multipart form with an image file field |
| Output | SVG, returned inside a JSON response |
The server checks image bytes, rather than trusting the filename extension. Renaming another format to .png does not make it a PNG.
Prepare your image
Use the clearest original you have. Crop unnecessary canvas space, preserve transparent backgrounds when you have them, and keep the artwork at a useful resolution. Enlarging a small image does not restore missing detail.
Pixel count is width × height. A 2,000 × 2,000 image contains 4,000,000 pixels. A 3,000 × 2,000 image exceeds the limit even when its compressed file is small.
Validate before upload
Client validation can give someone useful feedback before the request starts. The server still validates the file, so your application must also handle its error response.
const MAX_BYTES = 10 * 1024 * 1024;
if (file.size > MAX_BYTES) {
throw new Error("Choose an image no larger than 10 MiB.");
}
const bitmap = await createImageBitmap(file);
const pixels = bitmap.width * bitmap.height;
bitmap.close();
if (pixels > 4_000_000) {
throw new Error("Resize the image to 4 million pixels or fewer.");
}
A limit is not an output guarantee
An accepted input may still contain photographic detail, soft shadows, or very small text that does not translate well into shapes. Inspect the result at its intended size before using it in a final deliverable.