Skip to content

Repository files navigation

Minimal Image Viewer

Minimal Image Viewer Logo

The most πŸͺΆ lightweight image viewer available for Windows

Microsoft Store Latest Release License

Fast. Native. Private. Minimal.
A lightweight and secure image viewer for Windows, built with native Win32 and modern C++.
Designed to open everything from small PNGs to large RAW and HDR images without unnecessary bloat.

Β Β Β Β Β Β Β 

Download

Recommended: Install the latest signed version from the Microsoft Store:

Get it from Microsoft

Alternative: GitHub Releases

πŸ’Ύ Download Portable (.exe)

For the ultra-minimal legacy build, try the stripped 21 KB executable.


Highlights

  • βœ… Native Win32 application
  • βœ… No telemetry
  • βœ… No external runtime dependencies
  • βœ… No installer required for portable builds
  • βœ… Lightweight executable size
  • βœ… Fast startup and low memory usage
  • βœ… Supports common image formats through Windows Imaging Component
  • βœ… Designed for privacy-focused local image viewing

πŸ“Š Comparison

Feature Minimal Image Viewer Windows Photos IrfanView / XnView
Executable Size ~500 KB ~50 MB+ ~3–5 MB+
Telemetry / Network None Yes Optional
Portable Yes (.ini) No Partial
Deep Zoom Yes (GPU streaming) Limited No
RAW Preview Optimization Yes Limited Plugin-based
SVG Support Yes (native GPU) No Limited
HDR / QOI Support Yes No Partial
Startup Speed Instant Slow Moderate
Open Source Yes No No

✨ Features

πŸ–ΌοΈ Image Support

Supports a wide range of formats using WIC + custom decoders:

  • Standard: JPEG, PNG, BMP, GIF, TIFF, ICO, WebP
  • Modern: HEIF, HEIC, AVIF
  • RAW (Camera): CR2, CR3, NEF, DNG, ARW, ORF, RW2 (via codecs)
  • Advanced Formats:
    • SVG (Vector rendering, GPU-accelerated)
    • HDR (.hdr Radiance with tone mapping from nothings)
    • QOI (Quite OK Image
    • TGA, PSD, PPM, PGM, PBM, PNM

🎞️ Animated Images (GIF & Multi-frame)

  • Full animated image playback
  • Correct frame timing + disposal behavior
  • Interactive controls:
    • Space β†’ Pause + step frames
    • Shift + Space β†’ Resume playback
    • Shift + ← / β†’ β†’ Previous / Next frame
    • Shift + ↑ / ↓ β†’ Jump to first frame

πŸ” Viewing & Navigation

  • Smooth zoom (Ctrl + Mouse Wheel, Ctrl +/-)
  • Cursor-centered zooming
  • Click + drag to pan
  • Fit to Window (Ctrl+0 / double-click / middle mouse button)
  • Actual Size (Ctrl+* / middle mouse button)
  • Custom zoom dialog (Ctrl+Shift+Z)
  • Instant next / previous image navigation
    • Use arrow keys, customizable keys, mouse cursor on sides of screen, mouse buttons, or right click + scroll

πŸš€ Performance (Built for Speed)

  • Asynchronous image loading β†’ no UI blocking
  • Directory preloading β†’ instant browsing
  • Deep Zoom (GPU-assisted):
    • Downscaled preview for huge images
    • Full resolution streamed only when needed
  • RAW preview extraction:
    • Loads embedded previews (fast)
    • Falls back to full decode only when necessary

πŸ“‚ Smart File Handling

  • Automatic directory scanning
  • Navigate all images in current folder
  • Sort by:
    • Name
    • Date Modified
    • File Size
  • Ascending / descending sorting

🎨 Rendering & Visuals

  • GPU rendering via Direct2D + DXGI
  • Smooth scaling (toggle interpolation)
  • Optional fade transitions
  • Background modes:
    • Grey (default)
    • Black
    • White
    • Checkerboard transparency
  • Automatic dark/light title bar

πŸ› οΈ Editing Tools (Non-Destructive)

  • Note, OCR and Color Picker were moved to dedicated utilities.

  • Crop Tool

    • C β†’ Enable crop
    • Drag selection
    • Enter β†’ Apply
    • Esc β†’ Cancel
  • Resize Tool

    • Custom dimensions
    • Aspect ratio lock
    • High-quality scaling (Fant)
  • Transformations

    • Rotate (90Β° increments)
    • Flip horizontal
    • EXIF auto-rotation on load
  • Undo System

    • Ctrl+Z
    • Memory-safe multi-step history

πŸ“Š Metadata & OSD

  • Built-in EXIF + file metadata parsing
  • Toggle OSD (I) showing:
    • Format, resolution, DPI
    • File size, attributes
    • Camera data (ISO, aperture, exposure)
    • Author / software

πŸ“ File Operations

  • Open (Ctrl+O) or drag & drop
  • Save (Ctrl+S) with atomic overwrite
  • Save As (Ctrl+Shift+S)
  • Resize + save new file
  • Delete (Recycle Bin safe delete)
  • Clipboard support:
    • Copy image path
    • Paste images from clipboard
  • Open file location instantly

πŸ”„ Automation

  • Auto-refresh mode
    • Detects file changes on disk
    • Reloads safely when modified externally

βš™οΈ Customization

  • Fully customizable keybindings
  • Portable .ini config
  • Preferences include:
    • Always on Top
    • Start Fullscreen
    • Single Instance enforcement
    • Background color
    • Smooth scaling toggle
    • Fade animation toggle
    • OSD toggle
    • Default zoom mode

βš™οΈ Technical Highlights

🧱 Core Architecture

  • Language: C++20
  • Platform: Native Win32 (no frameworks)
  • Rendering:
    • Direct2D (GPU)
    • DirectWrite (text)
    • DXGI swap chain

πŸ–ΌοΈ Image Pipeline (WIC)

  • IWICBitmapDecoder β†’ load images
  • IWICFormatConverter β†’ normalize formats

Editing pipeline (non-destructive):

  • Flip/Rotate β†’ IWICBitmapFlipRotator
  • Crop β†’ IWICBitmapClipper
  • Resize β†’ IWICBitmapScaler
  • Convert β†’ IWICFormatConverter

🎞️ Animation Engine

  • Frame-based decoding using WIC metadata
  • Custom compositor:
    • Handles disposal modes
    • Maintains frame buffers
  • Timer-driven playback system

πŸ” Deep Zoom System

  • Large images downscaled (~4K working size)
  • High resolution streamed dynamically using:
    • ID2D1ImageSource
  • Prevents VRAM spikes and improves responsiveness

🧡 Multithreading

  • Background threads for:
    • Image decoding
    • Directory scanning
    • Preloading images
  • UI thread synchronized via WM_APP messages

🧠 Smart Loading

  • Full file read (avoids file locks)
  • RAW/TIFF preview extraction
  • Native codec downscaling when possible
  • CPU fallback scaler when needed

πŸ“¦ Extended Format Support

  • SVG

    • Rendered via DrawSvgDocument (GPU)
  • HDR

    • Decoded via stb_image
    • Tone-mapped to display space
  • QOI

    • Decoded via embedded qoi.h

πŸ’Ύ Portable Configuration

  • Settings stored in: minimal_image_viewer_settings.ini

  • No registry usage

  • Fully portable between systems


πŸ”’ Safety & Reliability

  • Atomic saves (temp file replacement)
  • Recycle Bin deletion (recoverable)
  • Memory-limited undo stack
  • Large image safeguards

🎯 Philosophy

Do one thing extremely well.

Minimal Image Viewer is built to be:

  • ⚑ Fast
  • 🧠 Smart
  • πŸ”’ Private
  • πŸ“¦ Tiny
  • 🧩 Complete

No telemetry. No dependencies. No bloat.

Just a powerful, minimal image viewer for Windows.

Disclaimer: This readme was redone by CoPilot to add flashy icons and dumb advertisement/SEO language.

About

The most lightweight image viewer for Windows, supporting a wide range of image formats.

Topics

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Contributors

Languages