PureJsImage · JPEG XL

JPEG XL animation player and creator

Play, step through and export frames, or create a bounded animation from local sRGB images. Timing retains its encoded rational tick rate.

These tools use the current repository build. Repository functionality may be newer than the npm release. Static lossy encoding is qualified; lossy animation remains Experimental.

Try a sample or open a local file.

Timing, metadata and numeric evidence
No file opened.

Browser API

import { openJpegXlSequence } from 'purejsimage/jpegxl'
const sequence = await openJpegXlSequence(file)
try {
  const frame = await sequence.frame(0)
  console.log(frame.durationTicks, frame.header.animation)
} finally { await sequence.close() }

Run codec work in a worker. The example uses the same public APIs as this tool. Playback retains rational timing and replays dependencies when selecting frames. The sRGB display retains only the selected frame; loop timing includes the cost of replay. Lossy creation is Experimental.