REFERENCE
Supported formats
PixelFerry reads 23 format families covering 76 file extensions, and writes 8. This is the complete list, including the ones that only work on macOS, and the ones you can read but not write.
Formats PixelFerry can write
Any input can be converted to any of these, with one platform exception: writing HEIC needs macOS. Everything else on this page can be read but not written.
- JPEG
Widely supported lossy still-image format.
Quality 1–100
- PNG
Lossless, with an alpha channel. PixelFerry writes 8-bit PNG.
- WebP
Lossy or lossless, with alpha and animation. 8-bit only, by design.
Quality 1–100
- HEIC / HEIFmacOS only
Apple's HEIF profile, what an iPhone saves in High Efficiency mode. PixelFerry writes 8-bit HEIC.
Quality 1–100
- AVIF
AV1-based; lossy or lossless, with alpha. PixelFerry writes 8-bit AVIF.
Quality 1–100
- TIFF
Flexible raster container used in print and imaging workflows.
- GIF
A 256-colour palette, with animation.
- ICO
Windows icon bundles: one file holding several square sizes.
Photos and web
| Format | Read | Write | Extensions and notes |
|---|---|---|---|
| JPEG | Yes | Yes | .jpg .jpeg .jpe .jfifWidely supported lossy still-image format.No alpha channel. Transparency is flattened onto white on output. |
| PNG | Yes | Yes | .pngLossless, with an alpha channel. PixelFerry writes 8-bit PNG.to WebP |
| WebP | Yes | Yes | .webpLossy or lossless, with alpha and animation. 8-bit only, by design.to JPG |
| AVIF | Yes | Yes | .avifAV1-based; lossy or lossless, with alpha. PixelFerry writes 8-bit AVIF. |
| HEIC / HEIF | Yes | macOS only | .heic .heif .hifApple's HEIF profile, what an iPhone saves in High Efficiency mode. PixelFerry writes 8-bit HEIC.Reading works anywhere; writing is macOS-only, because the encode goes through the system `sips` tool.to JPG · to PNG |
| TIFF | Yes | Yes | .tiff .tifFlexible raster container used in print and imaging workflows.The container can hold JPEG-compressed data and so is not lossless by definition. PixelFerry writes 8-bit LZW-compressed TIFF, which is.to JPG |
| GIF | Yes | Yes | .gifA 256-colour palette, with animation. |
Design and documents
| Format | Read | Write | Extensions and notes |
|---|---|---|---|
| SVG | Yes | No | .svgVector artwork, rasterised on conversion.Read only. Output is always a raster image. |
| PSD / PSB | Yes | No | .psd .psbPhotoshop documents, read via the compatibility composite Photoshop stores.Read only. The bundled decoder reads 8-bit composites and does not consult the document colour mode, so 16-bit fails and CMYK is misread rather than converted. No embedded ICC profile is carried through.to JPG · to PNG |
| Yes | No | .pdfRendered to one image per page.Read only, and capped at the first 100 pages.to PNG |
Camera RAW
| Format | Read | Write | Extensions and notes |
|---|---|---|---|
| Camera RAW | macOS only | No | .dng .cr2 .cr3 .crw .nef .nrw .nefx .arw .srf .sr2 .axr .raf .orf .ori .rw2 .pef .srw .dcr .erf .3fr .fff .iiq .mrw .raw .rwl .mos .dxoAdobe DNG plus Canon, Nikon, Sony, Fujifilm, Olympus, Panasonic, Pentax, Samsung, Leica, Hasselblad, Phase One and more.Read only, and demosaiced by macOS ImageIO.to JPG |
Specialist and legacy
| Format | Read | Write | Extensions and notes |
|---|---|---|---|
| OpenEXR / Radiance HDR | macOS only | No | .exr .hdr .picHigh dynamic range, tone-mapped to a displayable range on conversion.Read only. |
| BMP / TGA / SGI | macOS only | No | .bmp .dib .tga .sgiLegacy raster formats, usually stored uncompressed though each also defines a run-length-encoded variant.Read only. |
| ICO | macOS only | Yes | .icoWindows icon bundles: one file holding several square sizes.The one format whose read and write differ in the opposite direction: reading needs macOS, writing works anywhere. |
| ICNS / CUR | macOS only | No | .icns .curmacOS icon bundles and Windows cursors.Read only. PixelFerry writes ICO, but never ICNS. |
| GPU textures | macOS only | No | .dds .pvr .astc .ktx .ktx2Compressed texture containers used by game and graphics pipelines.Read only. |
| JPEG XL | macOS only | No | .jxlA newer still-image codec from the JPEG committee.Read only. |
| JPEG 2000 | macOS only | No | .jp2 .jpf .jpx .j2k .j2cA wavelet-based JPEG committee format, used in archival and cinema work.Read only. |
| NetPBM | macOS only | No | .pbm .pgm .ppm .pfmSimple raster formats from the Unix imaging world, in ASCII and binary variants, plus the float-valued PFM.Read only. |
| DICOM | macOS only | No | .dcm .dicomMedical imaging.Read only. |
| PICT | macOS only | No | .pict .pctClassic Mac OS picture format.Read only. |
| MPO | macOS only | No | .mpoMulti-picture JPEG, used for stereo pairs.Read only. An MPO holds more than one image; the conversion produces a single output. |
| AVCI / HEICS | macOS only | No | .avci .heicsH.264-in-HEIF stills, and HEIF image sequences.Read only. |
Limitations, stated up front
15 families are read but never written
SVG, PSD / PSB, PDF, Camera RAW, OpenEXR / Radiance HDR, BMP / TGA / SGI, ICNS / CUR, GPU textures, JPEG XL, JPEG 2000, NetPBM, DICOM, PICT, MPO, AVCI / HEICS. PixelFerry converts from them, not to them.
Writing HEIC needs macOS
HEIC / HEIF: the encode goes through the system
sipstool, so it is available on macOS only. Reading HEIC works anywhere.13 families need macOS to read
Camera RAW, EXR, BMP, TGA, ICO, JPEG XL, JPEG 2000 and the rest decode through macOS ImageIO. There is no bundled cross-platform loader for them, so off macOS they fail with a clear error rather than pretending to work. ICO is the exception in the other direction: reading it needs macOS, but PixelFerry writes it anywhere.
PDFs stop at 100 pages
Each page of a multi-page document becomes its own image in a folder named after it; a single-page PDF is written as one plain file. Rendering is held in memory, so long documents are capped at the first 100 pages, and the conversion says so rather than truncating silently.More on PDF conversion.
PSD files are flattened
PixelFerry reads the flattened composite Photoshop stores when "Maximize Compatibility" is on. It does not render the layer stack, so a PSD saved without that composite has nothing useful to read. Hidden layers stay hidden. The reader handles 8-bit composites only, so a 16-bit PSD fails rather than converting. It does not consult the document colour mode, so a CMYK PSD is misread rather than converted for screen.The composite is handed to the encoder as bare pixels, so an embedded ICC profile is not carried through.More on PSD conversion.
JPEG output flattens transparency onto white
JPEG has no alpha channel. White is used rather than the black the underlying encoder defaults to, which is what you want for a photo and not what you want for a logo. For those, target PNG, WebP or AVIF.
Animation is conditional
Animated GIF and WebP keep every frame when the output is GIF or WebP, the only two animated formats PixelFerry writes. Anything else, including AVIF, gets the first frame, and so does any conversion with whitespace trim enabled. The row says so rather than dropping frames silently.
Requirements
macOS 14 (Sonoma) or later, on Apple silicon and Intel. macOS only, because the project declares a macOS build target alone. Cross-platform code paths exist and are unit-tested, but no Windows or Linux build is produced or signed by this project, so neither is offered rather than promised untested.
The read/write columns above distinguish what the conversion engine can do from what needs macOS specifically, because the cross-platform code paths remain in the app even though only the macOS build ships.