ExplorerLens.io generates thumbnails for images, videos, documents, 3D models, fonts, archives, and more using
multi-threaded processing with GPU acceleration planned for Phase 2. The project root directory is
ExplorerLens.io, and this repository is the production codebase for the Explorer extension, engine, and manager UI.
| Type | Windows Shell Extension (IThumbnailProvider COM in-process DLL) |
| GPU | CPU decode with GDI+ fallback · DirectX 11 GPU acceleration planned (Phase 2) |
| Platform | Windows 10 1809+ / Windows 11 (x64) · macOS/Linux: planned Phase 5 |
| Formats | 200+ extensions — HEIC, AVIF, JXL, WebP, RAW, PDF, CBZ, CBR, EPUB, glTF, DDS, EXR, MP4, MP3, TTF … |
| Cameras | 100+ RAW formats — Canon (CR2/CR3), Nikon (NEF), Sony (ARW), Fujifilm, Adobe DNG, Olympus, Hasselblad … |
| Language | C++23 · MSVC v145 · Visual Studio 18 2026 BuildTools |
| Build | CMake 4.3 · Ninja · vcpkg / local external libs |
| Tests | 4,877 unit tests · 5 benchmarks · 100% pass rate |
| Install | One-click MSI or winget install ExplorerLens.ExplorerLens or regsvr32 LENSShell.dll |
🏷️ GitHub Topics (live on this repo)
windows-shell-extension thumbnail-provider ithumbnailprovider windows-explorer-extension
file-preview gpu-acceleration directx cpp20 heic avif
jpeg-xl raw-image webp windows-11 comic-book image-decoder
thumbnail-cache com-server pdf-viewer msvc
More keyword tags for discoverability: ithumbnailprovider · iextractimage · com-dll · directx11 ·
directx12 · vulkan-compute · hlsl · libraw · libheif · libjxl · libavif · mupdf · libwebp · dav1d ·
cbz-reader · cbr-reader · manga-viewer · epub-reader · archive-viewer · 3d-model-viewer · gltf ·
stl-viewer · dicom · openexr · hdr · font-preview · video-thumbnail · audio-waveform · wic · simd ·
avx2 · zero-copy · lru-cache · windows-registry · regsvr32 · shell-handler
Getting Started:
- Quick Start Guide — Developer onboarding: clone → build → register → test
- Build Quick Reference — Complete build instructions
- Installation Guide — Installation and setup
- Testing Guide — Validation and test procedures
Project Organization:
- System Overview — Architecture diagrams + cache layers
- Decode Pipeline — File → detect → route → decode → thumbnail
- Decoder Status — All 20 priority formats verified
Development:
- Developer Guide — Developer documentation
- Contributing — How to contribute
- Coding Standards — Code style and conventions
- Build Scripts — Build automation reference
Server & Ops:
- Dockerfile — Windows Container 2-stage build image for LensServer (Phase 4)
- Standard:
.jpg,.jpeg,.png,.bmp,.gif,.tiff,.tif - Modern:
.webp(WebP),.avif(AV1 Image),.jxl(JPEG XL) ✅ - Mobile:
.heif,.heic,.hif,.avci,.avcs(Apple HEIC/HEIF) ✅ - Implementation: JXL via libjxl 0.11.1 | HEIF via libheif 1.19.5 (with WIC fallback on Windows 11)
- Comic Books:
.cbz,.cbr,.cb7,.cbt - E-Books:
.epub,.mobi,.azw,.azw3,.fb2 - Archives:
.zip,.rar,.7z,.tar,.gz,.bz2,.xz
- RAW Photos:
.cr2,.cr3,.nef,.arw,.orf,.dng,.rw2,.raf,.pef,.dcr,.mrw,.x3fand 100+ more camera formats (✅ LibRaw 0.21.3)- Features: Embedded JPEG thumbnail extraction (< 10ms), full RAW decode with demosaicing, EXIF orientation support, auto white balance
- Cameras: Canon, Nikon, Sony, Olympus, Panasonic, Fujifilm, Pentax, Adobe DNG, Leica, Samsung, Hasselblad, Phase One, Sigma
- Modern Images:
.jxl(JPEG XL) via libjxl 0.11.1,.heif/.heic(HEIF/HEIC) via libheif 1.19.5 + WIC fallback- JXL Features: Next-gen format support, better compression than WebP, wide color gamut
- HEIF Features: Apple iPhone photos (iOS 11+), HDR support, 16-bit depth, wide color
- Design:
.psd,.psb(Photoshop),.svg(vector graphics) - HDR:
.exr(OpenEXR),.hdr(Radiance RGBE) - Texture:
.dds(DirectX textures) - Legacy:
.tga(Targa),.ico(icons),.jp2(JPEG2000)
- Video:
.mp4,.mkv,.avi,.webm,.mov,.wmv,.flv,.mpg,.mpeg,.ts,.mts,.m2ts,.3gp,.vob,.ogv(22 extensions) - Audio:
.mp3,.flac,.m4a,.ogg,.wma,.wav,.opus- extracts album art or generates waveform
- Documents:
.pdf,.docx,.xlsx,.pptx,.epub(Office/Edge required for Office formats) - Fonts:
.ttf,.otf,.ttc- renders font preview
- Models:
.obj,.stl,.gltf,.glb- orthographic preview rendering
- SVG:
.svg,.svgz- rasterizes vector graphics to thumbnail
- QOI:
.qoi(Quite OK Image - fastest decode format) - ICO:
.ico,.cur(Windows icons/cursors) - TGA:
.tga(Targa) - PPM:
.ppm,.pgm,.pbm,.pnm,.pam,.pfm(Netpbm formats) - DDS:
.dds(DirectX textures) - HDR:
.hdr,.pic(Radiance RGBE)
Legend:
✅ = Production ready |
- ⚡ Fast Decode — Multi-threaded CPU decode pipeline with GPU acceleration planned
- 🚀 Smart Caching — Instant display of cached thumbnails
- 📦 Multi-Format — Single extension for all formats
- 🎯 Low Memory — Efficient resource usage
- Windows 10 1809+ or Windows 11 (64-bit)
- Visual Studio 18 2026 BuildTools (MSVC v145 toolset)
- Administrator privileges for installation
# Canonical build command (sources vcvars64 automatically)
.\build-scripts\Build-MSVC.ps1
# Clean build + tests
.\build-scripts\Build-MSVC.ps1 -Clean -TestSee Build Quick Reference for detailed instructions.
REM Register DLL (as Administrator)
cd x64\Release
regsvr32 LENSShell.dllRun LENSManager.exe to enable/disable file format categories.
See all 13 architecture SVGs in
docs/architecture/
GPU Render Pipeline: GDI+ (current) → D3D11 compute (Phase 2) → D3D12/Vulkan (Phase 3+)
COM interfaces implemented: IThumbnailProvider, IInitializeWithStream, IPropertyStore,
IPropertyStoreCapabilities, IExtractImage2, IPersistFile, IQueryInfo
CLSID: {9E6ECB90-5A61-42BD-B851-D3297D9C7F39}
graph TD
ROOT["📁 <b>ExplorerLens.io</b>"]
ROOT --> SHELL["🔌 <b>LENSShell/</b><br/>COM Shell Extension DLL"]
ROOT --> MGR["🖥️ <b>LENSManager/</b><br/>WTL Admin GUI"]
ROOT --> ENG["⚙️ <b>Engine/</b><br/>Core Decode + Render Library"]
ROOT --> BS["🔨 <b>build-scripts/</b><br/>PowerShell Build Automation"]
ROOT --> EXT["📦 <b>external/</b><br/>Statically Linked Libraries"]
ROOT --> DOCS["📚 <b>docs/</b><br/>Architecture & Guides"]
ROOT --> SDK["🧩 <b>SDK/</b><br/>Plugin SDK · C ABI"]
ROOT --> PKG["📋 <b>packaging/</b><br/>MSI · WiX · Portable ZIP"]
ROOT --> SLN["📄 <b>LENSShell.sln</b><br/>Visual Studio 18 2026 Solution"]
ENG --> CORE["🏗️ <b>Core/</b><br/>Pipeline · Detection · SIMD"]
ENG --> DEC["🖼️ <b>Decoders/</b><br/>25+ Format Decoders"]
ENG --> GPU["⚡ <b>GPU/</b><br/>D3D11 · D3D12 · Vulkan"]
ENG --> CACHE["💾 <b>Cache/</b><br/>Multi-tier Caching"]
ENG --> MEM["🧠 <b>Memory/</b><br/>BitmapPool · Pressure Ctrl"]
ENG --> PLUGIN["🔩 <b>Plugin/</b><br/>Plugin Ecosystem · Sandbox"]
ENG --> AI["🤖 <b>AI/</b><br/>Smart Crop · IQA · Scene"]
ENG --> TESTS["✅ <b>Tests/</b><br/>4,877 Unit Tests · 5 Benchmarks"]
style ROOT fill:#1e3a5f,color:#fff,stroke:#4a9eff,stroke-width:2px
style ENG fill:#1b4332,color:#fff,stroke:#40916c,stroke-width:2px
style SHELL fill:#2d2d2d,color:#fff,stroke:#888
style MGR fill:#2d2d2d,color:#fff,stroke:#888
style BS fill:#2d2d2d,color:#fff,stroke:#888
style EXT fill:#2d2d2d,color:#fff,stroke:#888
style DOCS fill:#2d2d2d,color:#fff,stroke:#888
style SDK fill:#2d2d2d,color:#fff,stroke:#888
style PKG fill:#2d2d2d,color:#fff,stroke:#888
style SLN fill:#2d2d2d,color:#fff,stroke:#888
style CORE fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
style DEC fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
style GPU fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
style CACHE fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
style MEM fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
style PLUGIN fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
style AI fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
style TESTS fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
We welcome contributions! See CONTRIBUTING.md for guidelines.
- 🐛 Report bugs and issues
- 💡 Suggest features
- 🔧 Submit pull requests
- 📝 Improve documentation
- 🧪 Write tests
Current Version: 40.0.1 "Procyon" Build Status: 0 errors / 0 warnings Test Status: 4,877 unit tests, 5 benchmarks (100% pass rate) Codename: Procyon
Platform scope: ExplorerLens is a Windows-only Shell Extension (
IThumbnailProvider). macOS Quick Look and Linux Nautilus extensions are on the roadmap (Phase 5 and Phase 6 respectively) but are not yet implemented. See ROADMAP.md §16 for the cross-platform plan.
See CHANGELOG.md for the complete development history.
REM Restart Windows Explorer
taskkill /f /im explorer.exe && start explorer.exe
REM Clear Windows thumbnail cache
del /f /s /q "%LocalAppData%\Microsoft\Windows\Explorer\thumbcache_*.db"reg query "HKCR\CLSID\{9E6ECB90-5A61-42BD-B851-D3297D9C7F39}\InprocServer32"See Troubleshooting Guide for more troubleshooting.
Compression: zlib 1.3.1, LZ4 1.10.0, zstd 1.5.7, LZMA 26.00, minizip-ng 4.0.10 Images: libwebp 1.5.0, libavif 1.3.0 (dav1d 1.5.1), libjxl 0.11.1, LibRaw 0.21.3 Archives: UnRAR 7.2.1, minizip-ng 4.0.10 Video: Windows Media Foundation (system API) Rendering: DirectX 11, GDI+
MIT License — See LICENSE for details.
Note: MuPDF (PDF rendering) is AGPL-3.0 licensed. See ADR-009 for our compliance strategy and planned migration to PDFium (BSD). All other 17 external libraries use MIT/BSD/zlib/public-domain licenses.
- Repository: Internal project repository
- Issues: Use project issue tracker configured for this workspace
- Discussions: Use team discussion channel
Built with ❤️ using C++23, DirectX 11/12, and Vulkan — Windows Shell Extension for 200+ formats
Last Updated: March 29, 2026 (v25.0.0 "Rigel")