Skip to content

nitid

Double-click a file and the picture is already there - in the colours the photographer chose.

On screen before the decode finishes

The embedded thumbnail is drawn in single-digit milliseconds while the full image decodes behind it, and the neighbours are prefetched. A 24-megapixel JPEG reaches the screen in about 128 ms from process start - a figure a test holds to, so it cannot quietly slip.

The colours the file actually means

nitid reads the profile out of the file, asks Windows what the display is, and converts between them in the shader. A file with no profile is passed through untouched, exactly as every browser shows it.

HDR that follows the display

On an HDR display the output is extended-range linear light, so highlights drive the headroom instead of clipping at white. Turn HDR on or off in Windows and the surface is reconfigured without a restart.

Every modern still format

JPEG, PNG, WebP, JPEG XL, HEIC, AVIF, SVG, GIF, BMP and TIFF - all decoded in pure Rust, and the animated ones play. The format is decided by the bytes rather than the extension, and the heavy decoders run in a separate process with no network in either direction.