Pixel Format Recommendation Browser

Historical recommendation model — illustrative source × operation × output choices

These recommendations are design examples, not a current converter support table or a lossless guarantee. Use the live explorer to execute a route and the guide for current APIs.

Clamp / Unclamped Rules

RuleWhenWhy
Unclamped requiredResizeSharp working formatLanczos/CatmullRom overshoot from ringing — clamping causes visible banding at high-contrast edges
Unclamped requiredJPEG extended f32 decodeIDCT ringing preserved for smoother re-encoding
Unclamped OKResizeGentle, any f32 transferMitchell has minor overshoot; no harm preserving
Clamp after opTonemap, IccTransform, OklabAdjust, CompositeOperations produce bounded output; clamp to [0,1]
Clamp before encodeAll integer-backed codecsu8/u16 encoders silently clamp; explicit clamp is cleaner
No clamp neededJXL f32, PNM PFMCan store arbitrary float values

ICC / CICP Support

CodecICC DecodeICC EncodeCICPNotes
JPEGYesYesNoAPP2 ICC marker
WebPYesYesNoRIFF ICCP chunk
PNGYesYesYesiCCP + cICP chunks
AVIFYesNoYesICC decode only; CICP in ISOBMFF/AV1
JXLYesYesYesICC in codestream; CICP via metadata
GIFNoNoNoNo color management
BMPNoNoNoNo color management
FarbfeldNoNoNoNo color management
PNMNoNoNoNo color management