DJV is an open source application for media playback and review. DJV can play back high resolution image sequences and movies in real time, with audio, A/B comparison, color management, and more.
Features include:

Note: Download packages include only a minimal set of video and audio codecs. To support additional codecs, point DJV at an external FFmpeg command (see below) or build from source.
Packages are distributed as tar archives. Uncompress the archive and move the DJV folder to a convenient location.
Packages are distributed as NSIS installers or ZIP archives. Double-click
the NSIS .exe file to start the installer, or, for ZIP archives,
uncompress the archive and move the DJV folder to a convenient location.
Packages are distributed as macOS disk images. Open the disk image and copy DJV to the Applications folder.
Most parts of the interface can be shown or hidden from the Window menu.
Full screen mode can be enabled from the Window menu or Window tool bar.
A secondary window can be used to mirror the viewport on a separate monitor — useful for client review on a calibrated display. The secondary window can be shown from the Window menu or Window tool bar.
DJV ships with support for the following formats:
More formats may be available depending on how DJV was built, or by using an external FFmpeg command.
You can open files and folders in three ways:
Opening a folder opens every supported file in that folder (non-recursively).
Image sequences can be opened from the command line by either specifying the first frame or using the “#” wildcard. For example:
djv render.#.exr
The native file browser is enabled by default on Windows and macOS. To use DJV’s built-in file browser instead, change the option in the Settings tool.
To switch between open files, use the File/Current menu, the Tab Bar, or the Files tool.
To support additional formats and codecs, you can configure DJV to use an external FFmpeg command. FFmpeg runs as a sub-process and streams decoded video and audio to DJV for display.
The paths to the ffmpeg and ffprobe commands are set in the Settings tool.
DJV caches frames in memory for smooth playback and scrubbing. The cache is configured in the Settings tool, with separate values for video, audio, and read-behind. Read-behind is the number of seconds cached before the current frame, which keeps scrubbing responsive when moving backward.
Only the current file is cached. Switching files clears the cache and reloads it for the new file.
For files with multiple layers (such as multi-part OpenEXR), the active layer can be changed from the File/Layers menu or from the Files tool.
The Files tool is the central place for managing open files: it sets the current file, picks active layers, and configures comparison. Open it from the Tools menu or the tool bar.
Audio can be paired with an image sequence either automatically or manually.
To pair audio automatically, open the Image Sequences section in the
Settings tool. You can either list the file extensions DJV should look
for (for example, .wav .mp3), or provide a specific file name to match.
To pair audio manually, use File/Open With Audio.
USD support is currently experimental. When a USD file is opened, DJV renders it to an image sequence using the Hydra renderer.
DJV picks the rendering camera in this order:
The viewport displays the current file. You can pan, zoom, or frame the view so the image fills the available space.
Default viewport controls:
Viewport controls can be remapped in the Settings tool.
The viewport’s bit depth is set in the View tool with the Color buffer option. The default, RGBA F32, is recommended because it preserves the full range of color values without clamping. Lower bit-depth options can be faster, but they will clamp colors — choose them only when performance is more important than precision.
The viewport background color is set in the View tool. You can also draw an outline around the image, which makes images with transparent regions easier to distinguish from the background.
The grid is enabled and configured from the View tool.
Grid options:
The grid can also help you inspect individual pixels. To do so:
1The heads-up display (HUD) overlays useful information on top of the viewport. Enable it from the View menu.
You can temporarily speed up playback by clicking the forward (or reverse) button repeatedly: each click doubles the playback speed. Clicking the opposite direction slows it back down.
To limit playback to a section of the timeline, set in and out points from the Playback menu.
If playback isn’t keeping up, the HUD (under the View menu) shows the number of dropped frames in real time.
By default, the timeline is minimized and shows only the first video and audio track. To see every track, toggle the minimized state from the Timeline menu.
Default timeline controls:
The size of the timeline thumbnails is set from the Timeline menu, and thumbnails can be turned off entirely to improve performance.
A/B comparison lets you view two files (or layers) at once — useful for checking revisions, matching color between shots, or spotting differences between renders.
| Mode | What it shows |
|---|---|
| A | Only the A file |
| B | Only the B file |
| Wipe | A wipe between A and B (drag with Alt + left mouse button) |
| Overlay | B layered on top of A |
| Difference | The pixel difference between A and B |
| Horizontal | A and B side by side |
| Vertical | A above B |
| Tile | A and B as tiles (supports multiple B files) |
Files can be compared in either relative or absolute time:
Tile mode supports multiple B files, which makes it handy for viewing several layers of a single file at once. Open the file multiple times and set a different active layer for each instance, then enable Tile compare mode and add the other instances as B files.
The Color tool covers everything color-related: OpenColorIO settings, LUTs (look-up tables), and basic adjustments such as brightness, contrast, and levels.
Open it from the Tools menu or the tool bar.
The OpenColorIO configuration can be set to a built-in configuration, the OCIO environment variable, or a specific file path.
A LUT can be applied either before or after the OpenColorIO pass — set the LUT Order option to PreColorConfig or PostColorConfig as needed.
The Export tool writes out the current file as an image sequence, a movie, or a single still image.
Open it from the Tools menu or the tool bar.
To export an image sequence, set File type to Sequence. To export just the current frame, set it to Image.
Exports respect the current layer, playback speed, in/out range, and color settings.
Note: Audio export is not yet supported.
Open the Settings tool from the Tools menu or the tool bar.
Settings are stored as a JSON file in the Documents/DJV directory.
To set a shortcut, click its widget (or tab to it) and press the new key combination. The widget turns red if the chosen combination conflicts with an existing shortcut.
The default fonts shipped with DJV don’t cover every language, which can cause file names in some scripts to display incorrectly. To support additional languages — Chinese, Japanese, and Korean, for example — add custom fonts in the Style section of the Settings tool.
If something isn’t working, the log file in the Documents/DJV directory is the first place to look.
If DJV fails to start, run it from the command line to see startup errors:
djv -log
If the application is misbehaving, try resetting the settings: