ImgVw is a simple, fast and portable image viewer for Windows.
- Fast display caching
- Copy and run directly, or use the optional PowerShell installer
- Open an image or folder from the start screen, context menu, or drag and drop
- Auto-rotate images based on EXIF information
- Embedded and fallback ICC color management for CMYK JPEG images
- Regular and random slideshows, including multi-monitor playback
- Drag the viewer between monitors with monitor-aware placement and edge snapping
- Works on Windows XP and later
Pass a file or folder as an argument, or launch ImgVw without arguments and choose an image or folder from the start screen. You can also change to a different image or folder from the right-click menu while viewing, or drag one image or folder into the window.
| Shortcut | Description |
|---|---|
| Left Arrow | Mouse Wheel Up | Browse backward |
| Right Arrow | Mouse Wheel Down | Browse forward |
| Home | Go to first |
| End | Go to last |
| F1 | About |
| Ctrl + O | Open image |
| Ctrl + Shift + O | Open folder |
| F3 | Toggle slideshow |
| F4 | Toggle slideshow (random mode) |
| F5 | Toggle slideshow on all monitors |
| F6 | Toggle slideshow on all monitors (random mode) |
| F7 | Increase slideshow speed |
| F8 | Decrease slideshow speed |
| F9 | Add images found in subfolders |
| F11 | Select default CMYK ICC profile |
| F12 | Use the built-in CMYK ICC profile |
| Ctrl + Alt | Display diagnostics |
| Delete | Move to recycle bin if possible or delete |
| Shift + Delete | Delete |
| Enter | Toggle persistent current file path overlay |
| Escape | Exit |
Enter shows the current file path persistently as images change. In multi-monitor slideshow mode, each monitor shows the path for its own image. Holding Ctrl + Alt temporarily shows diagnostics on every monitor and clears the persistent file path toggle; releasing the keys hides the diagnostics without restoring the path overlay.
ImgVw can still be copied and run directly. To install the latest release for the current user, run:
powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://github.com/macote/ImgVw/releases/latest/download/install-imgvw.ps1 | iex"The installer checks the latest GitHub release, selects the x64 build on 64-bit Windows or the x86 build otherwise,
installs it as ImgVw.exe under %LOCALAPPDATA%\Programs\ImgVw, adds that directory to the user PATH, and registers
ImgVw in Explorer's Open With menu for supported image files and folders. It does not take over default image
associations. Run the install command again to upgrade an older install to the latest release. The install also appears
in Windows Settings > Apps.
Uninstall from Windows Settings > Apps > Installed apps (or Apps & features) > ImgVw > Uninstall.
If Settings is unavailable, uninstall with:
powershell -NoProfile -ExecutionPolicy Bypass -Command "& ([scriptblock]::Create((irm https://github.com/macote/ImgVw/releases/latest/download/install-imgvw.ps1))) -Action Uninstall"From an extracted release archive, run the local script instead:
powershell -NoProfile -ExecutionPolicy Bypass -File .\install-imgvw.ps1ImgVw uses the following libraries:
ImgVw includes the unchanged CGATS21 CRPC5 profile as a generic fallback for untagged CMYK JPEG files. It is an approximate viewing default, not an exact representation of every printing condition.
Visual Studio and MSYS builds support Win32 and x64 configurations. Win32 remains available for legacy Windows compatibility. x64 is recommended for large images or large folders, but requires architecture-matched static libraries for libjpeg-turbo, libheif, libde265 and Little CMS.
Rebuild the bundled dependencies with:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\build-libjpeg-turbo.ps1 -Mode all -Arch all -Clean
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\build-libheif.ps1 -Mode all -Arch all -Clean
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\build-little-cms.ps1 -Mode all -Arch all -CleanRelease binaries statically link libheif and libde265. To relink ImgVw with modified versions of those libraries, use the source archive for the exact ImgVw release, rebuild the static library artifacts from the modified dependency sources, and then rebuild ImgVw.
The bundled HEIF dependency script currently uses these exact source archives:
- libheif 1.23.0:
https://github.com/strukturag/libheif/releases/download/v1.23.0/libheif-1.23.0.tar.gzSHA-256:4c9182b18897617182eed12ab5eb9f9d855b3aa3a736d6bdb31abc034ec7d393 - libde265 1.1.1:
https://github.com/strukturag/libde265/releases/download/v1.1.1/libde265-1.1.1.tar.gzSHA-256:fd48a927e94ed74fc7ce8829d222b9d8599fcbfe8b6448ba66705babc56ab219
Rebuild the standard, unmodified artifacts with:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\build-libheif.ps1 -Mode all -Arch all -CleanTo rebuild from modified libheif and libde265 source trees, pass those trees explicitly:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\build-libheif.ps1 -Mode all -Arch all -Clean `
-LibheifSourceDir C:\src\libheif-1.23.0 -Libde265SourceDir C:\src\libde265-1.1.1Then rebuild ImgVw with Visual Studio or with the MSYS build script:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\build-msys.ps1 -Config release -Arch x86 -Clean
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\build-msys.ps1 -Config release -Arch x64 -CleanThe generated dependency archives are written under 3rd-party\libheif and 3rd-party\libde265, where the Visual
Studio project and Makefile pick them up for the final application link.
ImgVw’s own source code is MIT-licensed. Bundled third-party components are distributed under their respective licenses; see LICENSE.md.