Supported Image Formats

Description Animated Portable Network Graphics
Can Load Grayscale: 1-bit, 2-bit, 4-bit, 8-bit, 16-bit. Indexed: 1-bit, 2-bit, 4-bit, 8-bit. RGB: 24-bit, 48-bit. RGBA: 32-bit, 64-bit.

Content: Static, Animated, Meta data, ICC profiles.

Special properties[4]: "apng-frames": Number of frames in the animation. Possible values: unsigned int.
"apng-plays": Number of plays of the animation. Possible values: unsigned int.
Cannot Load Blend operations with pixel formats other than BPP16-GRAYSCALE-ALPHA, BPP32-GRAYSCALE-ALPHA, BPP32-RGBA, BPP64-RGBA.
Can Save Unsupported
Cannot Save -
Dependencies libpng+APNG patch

Description AV1 Still Image File Format
Can Load YUV: 8-bit, 10-bit, 12-bit.

Content: Static, Animated, Meta data, ICC profiles.
Cannot Load -
Can Save Unsupported
Cannot Save -
Dependencies libavif

Description Bitmap Picture
Can Load Indexed: 1-bit, 4-bit, 8-bit (DIB only). RGB: 16-bit, 24-bit, 32-bit.

Compressions: NONE, RLE4, RLE8.

BMP Versions: V1 (DDB), V2, V3, V4, V5.

Content: Static, Meta data, ICC profiles.
Cannot Load Indexed: 8-bit (in DDB images).

Compressions: ALPHABITFIELDS, BITFIELDS, CMYK, CMYK-RLE4, CMYK-RLE8, JPEG, PNG.

BMP Versions: OS/2.
Can Save Unsupported
Cannot Save -
Dependencies -

Description Windows Cursor
Can Load Bit depth: Same to BMP.

Content: Static, Multi-paged.

Special properties[4]: "cur-hotspot-x": X coordinate of the hotspot. Possible values: unsigned int.
"cur-hotspot-y": Y coordinate of the hotspot. Possible values: unsigned int.
Cannot Load PNG contained images
Can Save Unsupported
Cannot Save -
Dependencies -

Description Graphics Interchange Format
Can Load Indexed: 8-bit.

Content: Static, Animated, Meta data.
Cannot Load -
Can Save Unsupported
Cannot Save -
Dependencies giflib

Description Windows Icon
Can Load Bit depth: Same to BMP.

Content: Static, Multi-paged.
Cannot Load PNG contained images
Can Save Unsupported
Cannot Save -
Dependencies -

Description Joint Photographic Experts Group
Can Load Grayscale: 8-bit. RGB: 565 16-bit[1], 24-bit. BGR:[1] 24-bit. YCbCr: 24-bit. RGBA:[1] 32-bit. BGRA:[1] 32-bit. ARGB:[1] 32-bit. ABGR:[1] 32-bit. CMYK: 32-bit. YCCK: 32-bit.

Content: Static, Meta data, ICC profiles.
Cannot Load -
Can Save Grayscale: 8-bit. RGB: 565 16-bit[1], 24-bit. BGR:[1] 24-bit. YCbCr: 24-bit. RGBA:[1] 32-bit. BGRA:[1] 32-bit. ARGB:[1] 32-bit. ABGR:[1] 32-bit. CMYK: 32-bit. YCCK: 32-bit.

Content: Static, Meta data, ICC profiles.

Tuning[3]: "jpeg-dct-method": JPEG DCT method. Possible values: "slow", "fast", "float".
"jpeg-optimize-coding": Compute optimal Huffman tables. Possible values: true or false.
"jpeg-smoothing-factor": Smooth the image. Possible values: Unsigned int range from 1U to 100U.
See the libjpeg docs for more.
Cannot Save -
Dependencies libjpeg or libjpeg-turbo

Description JPEG 2000
Can Load Grayscale: 8-bit, 16-bit. RGB: 24-bit, 48-bit. YCbCr: 24-bit. RGBA: 32-bit, 64-bit.

Content: Static.
Cannot Load Pixel formats: YCCK, CMYK, LAB, XYZ, and other.

Content: Meta data, ICC profiles, images with non-zero position, images with bits per channel greater than 16.
Can Save Unsupported
Cannot Save -
Dependencies jasper

Description JPEG XL
Can Load Grayscale: 8-bit, 16-bit. RGB: 24-bit, 48-bit. RGBA: 32-bit, 64-bit. CMYK: 32-bit, 64-bit.

Content: Static, Animated, Meta data, ICC profiles.

Special properties[4]: "jpegxl-bits-per-sample". Possible values: unsigned int.
"jpegxl-exponent-bits-per-sample". Possible values: unsigned int.
"jpegxl-intensity-target". Possible values: float.
"jpegxl-min-nits". Possible values: float.
"jpegxl-relative-to-max-display". Possible values: bool.
"jpegxl-linear-below". Possible values: float.
"jpegxl-color-channels". Possible values: unsigned int.
"jpegxl-extra-channels". Possible values: unsigned int.
"jpegxl-alpha-bits". Possible values: unsigned int.
"jpegxl-intrinsic-width". Possible values: unsigned int.
"jpegxl-intrinsic-height". Possible values: unsigned int.
See the JxlBasicInfo structure documentation in libjxl for more.
Cannot Load Wide color gamut data gets clipped
Can Save Unsupported
Cannot Save -
Dependencies libjxl

Description Picture Exchange
Can Load Indexed: 1-bit, 4-bit, 8-bit. RGB: 24-bit. RGBA: 32-bit.

Content: Static.

Compressions: NONE[2], RLE.
Cannot Load -
Can Save Unsupported
Cannot Save -
Dependencies -

Description Portable Network Graphics
Can Load Grayscale: 1-bit, 2-bit, 4-bit, 8-bit, 16-bit. Indexed: 1-bit, 2-bit, 4-bit, 8-bit. RGB: 24-bit, 48-bit. RGBA: 32-bit, 64-bit.

Content: Static, Meta data, ICC profiles.
Cannot Load -
Can Save Grayscale: 1-bit, 2-bit, 4-bit, 8-bit, 16-bit. Indexed: 1-bit, 2-bit, 4-bit, 8-bit. RGB: 24-bit, 48-bit. RGBA: 32-bit, 64-bit.

Content: Static, Meta data, ICC profiles.

Tuning[3]: "png-filter": PNG filters to apply. Possible values: "none", "sub", "up", "avg", "paeth". It's also possible to combine filters with ';' like that: "none;sub;paeth".
See the libpng docs for more.
Cannot Save -
Dependencies libpng

Description Portable aNy Map
Can Load Grayscale: 8-bit, 16-bit. Indexed: 1-bit. RGB: 24-bit, 48-bit.

Content: Static, Meta data.

Special properties[4]: "pnm-ascii": True if the image pixels are encoded in ASCII mode. Possible values: bool.
Cannot Load -
Can Save Unsupported
Cannot Save -
Dependencies -

Description Photoshop Document
Can Load Grayscale: 8-bit, 16-bit. Indexed: 1-bit, 8-bit. RGB: 24-bit, 48-bit. RGBA: 32-bit, 64-bit.

Compressions: NONE, RLE.

Content: Static (Preview Image Only).
Cannot Load Grayscale: 32-bit. RGB: 96-bit. RGBA: 128-bit. Pixel formats: Multichannel, Duotone, LAB.

Compressions: ZIP.

Content: Layers, masks, etc.
Can Save Unsupported
Cannot Save -
Dependencies -

Description Quite OK Image
Can Load RGB: 24-bit. RGBA: 32-bit.

Content: Static.
Cannot Load Linear color space.
Can Save RGB: 24-bit. RGBA: 32-bit.

Content: Static.
Cannot Save Linear color space.
Dependencies -

Description Scalable Vector Graphics
Can Load Bit depth: 32-bit.

Content: Static.

See resvg support table when compiled with resvg.
Cannot Load Content: Animated, Meta data, ICC profiles.

See resvg support table when compiled with resvg.
Can Save Unsupported
Cannot Save -
Dependencies resvg or nanosvg

Description Truevision TGA
Can Load Grayscale: 8-bit. Indexed: 8-bit. RGB: 24-bit. RGBA: 32-bit.

Content: Static, Meta data.
Cannot Load Content: Thumbnail images.
Can Save Unsupported
Cannot Save -
Dependencies -

Description Tagged Image File Format
Can Load Bit depth: 1-bit, 2-bit, 4-bit, 8-bit, 16-bit, 24-bit, 32-bit, 48-bit, 64-bit.

Compressions:[1] ADOBE-DEFLATE, CCITT-RLE, CCITT-RLEW, CCITT-T4, CCITT-T6, DCS, DEFLATE, IT-8BL, IT8-CTPAD, IT8-LW, IT8-MP, JBIG, JPEG, JPEG-2000, LERC, LZMA, LZW, NEXT, NONE, OJPEG, PACKBITS, PIXAR-FILM, PIXAR-LOG, SGI-LOG24, SGI-LOG, T43, T85, THUNDERSCAN, WEBP, ZSTD.

Content: Static, Multi-paged, Meta data, ICC profiles.
Cannot Load -
Can Save RGBA: 32-bit.

Compressions:[1] ADOBE-DEFLATE, CCITT-RLE, CCITT-RLEW, CCITT-T4, CCITT-T6, DCS, DEFLATE, IT-8BL, IT8-CTPAD, IT8-LW, IT8-MP, JBIG, JPEG, JPEG-2000, LERC, LZMA, LZW, NEXT, NONE, OJPEG, PACKBITS, PIXAR-FILM, PIXAR-LOG, SGI-LOG24, SGI-LOG, T43, T85, THUNDERSCAN, WEBP, ZSTD.

Content: Static, Multi-paged, Meta data, ICC profiles.
Cannot Save -
Dependencies libtiff

Description Quake2 Texture
Can Load Indexed: 8-bit.

Content: Static, Multi-paged.
Cannot Load -
Can Save Unsupported
Cannot Save -
Dependencies -

Description Web Picture
Can Load Bit depth: 24-bit, 32-bit.

Content: Static, Animated, Meta data, ICC profiles.
Cannot Load -
Can Save Unsupported
Cannot Save -
Dependencies libwebp

Description X BitMap
Can Load Bit depth: 1-bit.

Content: Static.

Specifications: X10, X11.
Cannot Load Content: Multi-paged, C-style /*...*/ comments.
Can Save Unsupported
Cannot Save -
Dependencies -

References