Imgwire Supported Image Types
Imgwire accepts common web image formats and several source formats that are useful for imports, migrations, and generated media workflows. This guide explains which formats you can upload and how to choose delivery formats for browsers.
Supported upload MIME types
Imgwire currently accepts these image MIME types for uploads:
| MIME type | Typical extension |
|---|---|
image/jpeg | .jpg, .jpeg |
image/jxl | .jxl |
image/png | .png |
image/webp | .webp |
image/avif | .avif |
image/gif | .gif |
image/vnd.microsoft.icon | .ico |
image/heic | .heic |
image/bmp | .bmp |
image/tiff | .tif, .tiff |
Client API keys can also restrict uploads to a subset of these types with allowed_mime_types. Use that setting when your frontend should only accept specific formats, such as JPEG and PNG uploads for avatars.
Direct delivery and transformed delivery
Some uploaded formats are directly browser-friendly. Imgwire marks JPEG, PNG, WebP, AVIF, and GIF images as directly deliverable.
Other accepted upload formats, such as JXL, ICO, HEIC, BMP, and TIFF, are useful as source images but are not ideal public web responses. For those inputs, request a browser-friendly transformed variant for delivery:
https://cdn.imgwire.dev/{organization_id}/{environment_id}/{image_id}?format=auto&quality=auto
Use the Format transformation when you need a specific output format:
| Output value | Use when |
|---|---|
auto | Imgwire should choose a browser-friendly response format |
jpg/jpeg | You need broad compatibility and do not need transparency |
png | You need PNG output, often for transparency or lossless content |
webp | You want explicit WebP output |
avif | You want explicit AVIF output |
gif | You need GIF output |
tiff | You need TIFF output for a downstream workflow |
Choose formats by use case
For public web and app delivery, start with format=auto&quality=auto. Imgwire can use the request's browser capabilities to choose an appropriate output while keeping your application code format-agnostic.
Use explicit formats when you have a real requirement:
- Use
pngwhen preserving transparency in PNG output matters. - Use
jpegwhen a downstream tool only accepts JPEG. - Use
webporavifwhen you are creating a known modern-browser variant. - Use
gifwhen you intentionally want GIF output. - Use
tifffor workflows that require TIFF output rather than browser delivery.
Animated images
Animated inputs need a delivery format that supports animation if you want the delivered variant to remain animated. GIF, WebP, and AVIF can preserve animation. JPEG, PNG, and TIFF outputs are still-image formats, so use them only when a still result is acceptable.
Best practices
- Restrict
allowed_mime_typeson Client Keys to the formats your UI actually supports. - Use
format=autofor browser-facing images unless you need a specific format. - Pair format selection with
quality=autofor public image delivery. - Store the original image ID so you can generate new variants later without re-uploading.
- Test representative content, such as screenshots, product photos, portraits, and generated images, before choosing explicit format rules.
Common mistakes
- Assuming every accepted upload format should be served directly to browsers.
- Accepting all image types in the UI when your app only handles a smaller set.
- Forcing one output format globally without checking transparency, animation, and browser requirements.
- Treating format transformations as changes to the original uploaded file. They only affect delivered variants.
Related pages
Last updated at: May 8, 2026