Skip to content

gimletlove/imagecompare

Repository files navigation

Image Compare — Linux Image Comparison & Visual Diff Tool

GitHub Release Flathub AUR License: GPL-3.0

Image Compare is a Linux desktop app for comparing two or more images side by side, in a stacked view, or with perceptual heatmap differences. It supports synchronized zoom and pan, grid layouts, multiple image formats, faithful color-profile rendering, and fast image loading with Qt6 and libvips.

Use it to compare screenshots, rendered images, exports, design revisions, before/after edits, and subtle visual differences between image versions.

Screenshots

Image Compare Linux app showing side-by-side image comparison and heatmap differences

Features

  • Compare two or more images side by side
  • Stack images and cycle between them with arrow keys
  • Focus the active image with Enter, and reorder images with Ctrl+Left / Ctrl+Right
  • Match zoom and pan across images with different dimensions
  • Generate perceptual heatmap differences between two same-size images, with overall and peak dE00 readouts
  • Export generated heatmaps
  • Use pane context menus to copy paths, open containing folders, move images, and close files
  • Use a grid layout when four or more images are loaded
  • Render images faithfully with embedded color profiles, or view them in raw mode
  • Open images with drag-and-drop, file picker, command-line arguments, or your file manager’s Open With menu
  • Load, zoom, and pan large images efficiently

Install

Flathub

flatpak install flathub io.github.gimletlove.imagecompare
Download Image Compare on Flathub

Arch Linux AUR

yay -S imagecompare-bin

How To Use

  • Drag and drop image files into the app, or use Open or press o in the toolbar.
  • Pass image paths on the command line when launching the app.
  • Use Open With from your file manager, if supported, to open selected images in Image Compare.
  • Use the zoom readout or press f to toggle between best fit and 100% zoom.
  • Use Stack or press v to stack images and cycle between them with the arrow keys.
  • Use Match Zoom or press h to normalize zoom and pan across images with different dimensions.
  • Use Faithful / Raw or press r to switch between embedded color-profile rendering and raw display mode.
  • Use Build Heatmap or press b to build a perceptual heatmap of differences from 2 images with the same dimensions.
  • Right-click an image pane to open the context menu for further actions.
  • Use Ctrl+W on the active pane to close it.
  • Use Ctrl+Left and Ctrl+Right to move the images.

Use Cases

Image Compare is useful for:

  • Spotting subtle visual changes between image versions
  • Spotting subtle differences between different compression methods, such as JXL or AVIF
  • Creating a heatmap of differences between images

Runtime Requirements

  • Qt6 runtime libraries
  • libvips runtime libraries

Build Requirements

  • C++20 compiler
  • CMake 3.21+
  • Qt6
  • libvips and vips-cpp

Check installed dependency versions:

pkg-config --modversion Qt6Core
pkg-config --modversion vips
pkg-config --modversion vips-cpp

Build

cmake -S . -B build
cmake --build build

Enable Flatpak-specific portal integration for Flatpak builds:

cmake -S . -B build-flatpak -DIMAGECOMPARE_FLATPAK=ON
cmake --build build-flatpak

Flatpak builds also require Qt6 DBus and KDE Frameworks 6 CoreAddons.

Run

Open the app:

./build/imagecompare

Project Links