Open-source project
justnullname/QuickView avatar
justnullname/QuickView

QuickView: a Direct2D image viewer for Windows

The fastest Direct2D-powered image viewer for Windows. Features multi-threaded JXL/AVIF decoding, GPU acceleration, and a borderless geek UI. Supports WebP, RAW, & QOI with visual settings and auto-updates. Portable & SIMD-optimized.

624 stars17 forksC++GPL-3.0

At a glance

What is it?
QuickView is a Windows image viewer rewritten in C++23 on top of Direct2D, with multi-threaded JPEG XL and AVIF decoding, Highway SIMD dispatch across SSE4, AVX2, AVX-512 and NEON, RAW support through LibRaw, and a settings dashboard that renders on the GPU. The README is explicit that it only views images and leaves editing to other tools.
Who is it for?
Adopt QuickView if you open a lot of large images on Windows and care about how fast they appear, especially JPEG XL, AVIF or RAW files, because the decoding path and the tiling strategy are the whole point of the project. It does not fit an editing workflow, since the project states that heavy editing is left to professional tools, and it does not fit a machine that is not Windows on x64 or ARM64, because the rendering layer is Direct2D.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 13 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A viewer that deliberately only views

The introduction states the scope in one line and it is the first thing to accept. QuickView is currently one of the fastest image viewers available on the Windows platform, and the project focuses purely on delivering the ultimate viewing experience, leaving the heavy editing to professional tools such as Photoshop. That constraint is what makes the rest of the engineering coherent. An editor needs a document model, an undo stack, colour management and a tool pipeline, and every one of those is a reason a viewer stops being fast. By refusing them, the project can spend its complexity budget on decoding and drawing instead. The second paragraph describes the rewrite, that it was rewritten from scratch using Direct2D and C++23, abandoning legacy GDI rendering for what the README calls a game grade visual architecture, with a startup speed and rendering performance that it claims rivals or exceeds closed source commercial software. The target range is stated too, from tiny icons to massive 8K RAW photos with zero latency. The audience is a Windows user with a folder of large images who is frustrated by waiting, and the interface language list, English, Simplified Chinese, Traditional Chinese, Japanese, German, Spanish and Russian, says the audience is international.

Direct2D, C++23 and a CMake and vcpkg build

The build story is visible in the repository layout. There is a CMakeLists.txt with a CMakePresets.json beside it, a vcpkg.json for the C++ dependency manager, and then a set of directories that go well beyond a typical application repository. There is custom-ports and a custom-triplet, which are the two things you create when you need a dependency built in a way the upstream package manager does not offer, and a third_party directory, a tools directory, an installer directory, a static directory and a tests directory. A .gitmodules file is present as well. The badges summarise the target matrix, with Windows 10 and Windows 11 on x64, architecture support for ARM64 and x64, and Highway SIMD with SSE4 or better. The licence is GPL-3.0, which matters more than usual for a binary you might want to redistribute, and the releases are published from the releases page with a project site at quickview.viiv.top. The project also ships a Chinese readme as a separate file, which is a small sign of how much of the user base is not reading the English one.

Format coverage, from a 16 pixel icon to a RAW file

The supported format list is the clearest statement of intent, and it is grouped by category. The classic group is JPG, JPEG, PNG, BMP, GIF, TIF, TIFF and ICO. The web and modern group is WEBP, AVIF, HEIC, HEIF, SVG, SVGZ and JXL. The professional and HDR group covers EXR, HDR, PIC, PSD, TGA, PCX, QOI, WBMP, PAM, PBM, PGM, PPM, WDP and HDP. And then there is the RAW group, handled through LibRaw, which lists ARW, CR2, CR3, DNG, NEF, ORF, RAF, RW2, SRW, X3F, MRW, MOS, KDC, DCR, SR2, PEF, ERF, 3FR, MEF, NRW and RAW. Two entries deserve a second look. PSD is in the list, and a PSD is a layered document rather than a flat image, so what the viewer does with layers is not described in the readme and is worth checking for yourself. QOI is in there too, and it is a very simple lossless format, which suggests the decoder is a small self-contained implementation rather than a large library. The repository topics also name Wuffs, which is a decoding library rather than a codec, and that is consistent with a viewer whose architecture is built around pulling image data through a compact abstraction.

The performance claims, and how to read them

The key features section makes several performance claims, and the responsible way to read them is as claims rather than as measurements, since they come from the project itself. The first is multi-threaded decoding for JXL and AVIF, delivered as up to six times faster load times on 8-core CPUs compared to standard viewers. The second is the Titan tiling system, which handles gigapixel images with smooth 60 frames per second panning by decoding only what is visible, and that is the most interesting idea in the project because it changes the problem from decoding the file to decoding the region. The third is native JPEG XL support with optimised thread pooling and memory management, and the fourth is a zero-latency preview that extracts a preview for large RAW and PSD files instead of decoding them in full. The project also gives you a way to check the claims on your own machine, with a debug HUD on the F12 key showing real time decode time, render time and memory usage, and it tells you that debug mode has to be switched on in Settings and Advanced the first time. That is a better answer than a benchmark table, because it lets you look at the numbers on your own files.

SIMD dispatch, binary footprint and the small details

Two smaller engineering notes show how the project is put together. The first is the SIMD layer, which uses Google Highway with dynamic dispatching across SSE4, AVX2, AVX-512 and ARM64 NEON, so the same binary picks the best instructions the processor offers rather than being compiled for one instruction set. The second is the binary footprint work, listed as a series of specific savings in the release notes. Removing the iostream dependency saved about 18.5 KB, deduplicating the translation templates saved about 10.5 KB, compressing the vector icon coordinate data to 16-bit integers saved 54 KB, and the controllers were devirtualised with std::function replaced by C style function pointers. Those numbers are the project's own, and they matter for a portable binary, but the more useful observation is the direction. A viewer that ships as a single file and is meant to live on a USB stick cares about every kilobyte, and that constraint explains choices that would look odd in a larger application. There is also a F1 shortcut at any time that opens an interactive shortcut and help overlay, which is the kind of affordance this particular audience expects.

The interface: floating controls, a filmstrip, and themes

The release notes describe the 6.8.0 feature set, and the naming is a good guide to the intended feel. The window controls were replaced with a floating top-right capsule widget with soft hover glow effects, and compact caption buttons maximise the display area for the image itself. A top-hover filmstrip gallery was added, with configurable visibility triggered by hover, pinned, or disabled, and selecting a thumbnail scrolls it to the centre of the viewport. There is a Picasa style spotlight slideshow with two modes, a standard fullscreen one and a new spotlight mode that dims the background to focus on the active image. The settings dashboard is described as fully hardware accelerated, and it covers mouse behaviour, in particular the choice between pan and drag, zoom sensitivity, loop rules, fully rebindable hotkeys, dark, light and system-sync themes with accent colours, and an ambient dimmer that darkens the background when menus or galleries are open. The geek visualisation section is the other half of the identity, with a real-time RGB histogram drawn as a translucent waveform overlay and a refactored metadata architecture for faster and more accurate EXIF parsing.

Portable mode, in-app updates and the licence

The last operational feature is the one that decides whether the tool suits you. Portable mode is a one-click toggle that switches where the configuration is stored, between AppData in the system profile and the program folder itself, so the whole application can live on a USB stick and carry its settings with it. That is unusual for a Windows application and it pairs with the single-file distribution the project describes. Updates are handled in-app, with the application checking for new versions in the background, raising a non-intrusive toast notification, and letting you install the update with a single click without opening a browser. The licence is GPL-3.0, which permits redistribution of the binaries provided the source and the licence travel with them, and that is a constraint for anyone shipping it inside another product. One detail to be aware of when you evaluate the releases is that the recent tags are labelled as pre-releases, with versions such as 6.52.5.0 and 6.47.2.1, while the feature section in the readme describes 6.8.0 from 2026-06-14, so the numbering does not line up in an obvious way and the release notes are the place to check what a given build contains. The project keeps a CHANGELOG.md and a separate RELEASE_NOTES.md for that reason.

Editorial conclusion

Adopt QuickView if you open a lot of large images on Windows and care about how fast they appear, especially JPEG XL, AVIF or RAW files, because the decoding path and the tiling strategy are the whole point of the project. It does not fit an editing workflow, since the project states that heavy editing is left to professional tools, and it does not fit a machine that is not Windows on x64 or ARM64, because the rendering layer is Direct2D. Before you install it, check whether the published build is a pre-release, since the recent tags are marked as pre-releases, and read the release notes to see which features your build actually contains, because the README documents a feature set that does not line up with the tag numbers.

Frequently asked questions

What is QuickView?

It is a high performance image viewer for Windows, rewritten from scratch in C++23 on Direct2D rather than legacy GDI. The project states that it focuses purely on the viewing experience and leaves heavy editing to professional tools such as Photoshop.

Which image formats does QuickView support?

The readme groups them into classic formats such as JPG, PNG, BMP, GIF, TIF and ICO, web and modern formats such as WEBP, AVIF, HEIC, SVG and JXL, professional and HDR formats such as EXR, HDR, PSD, TGA, QOI and the netpbm family, and RAW formats handled through LibRaw including ARW, CR2, CR3, DNG, NEF, ORF, RAF and RW2.

How does QuickView handle very large images?

The Titan tiling system decodes only the visible region, which the project says allows gigapixel images to pan smoothly at 60 frames per second, and multi-threaded decoding is used for JPEG XL and AVIF, with the readme claiming up to six times faster loads on 8-core CPUs. A zero-latency preview extracts a preview from large RAW and PSD files instead of decoding them fully.

Can I check QuickView's performance on my own machine?

Yes. Pressing F12 opens a debug HUD that shows real time decode time, render time and memory usage, and the readme notes that debug mode has to be enabled under Settings and Advanced the first time. The application also has a self update check that raises a toast notification and installs a new version with one click.

Is QuickView portable, and what licence is it under?

The settings include a portable mode that switches configuration storage between AppData and the program folder, so the application can run from a USB stick with its settings. The project is licensed under GPL-3.0, which matters if you intend to redistribute the binaries, and the published builds are currently tagged as pre-releases.

Official sources

  1. justnullname/QuickView on GitHub
  2. License: GPL-3.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/justnullname-quickview.svg)](https://hysenlabs.com/projects/justnullname-quickview)

Was this useful?