Skip to content

deminimis/minimalimageviewer

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

License

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors