ExplorerLens.io generates thumbnails for images, videos, documents, 3D models, fonts, archives, and more using DirectX 11/12 GPU acceleration and multi-threaded processing. 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 | DirectX 11 device + compute shaders Β· GPU resize Β· HDR tone-map Β· CPU GDI+ fallback |
| 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++20 Β· MSVC v145 Β· Visual Studio 18 2026 BuildTools |
| Build | CMake 4.3 Β· Ninja Β· vcpkg / local external libs |
| Tests | 4,744 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:
- Project Structure β Complete directory organization
- System Overview β Architecture diagrams + cache layers
- Documentation Index β Complete documentation index
Development:
- Development Guide β Developer documentation
- Contributing β How to contribute
- Coding Standards β Code style and conventions
- Build Scripts β Build automation reference
Server & Ops:
- LensServer β Lightweight REST thumbnail server (port 8765)
- Dockerfile β Windows Container 2-stage build image
- 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 |
- β‘ GPU Accelerated - DirectX 11 hardware rendering
- π 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
REM Open "x64 Native Tools Command Prompt for VS 2026"
cd ExplorerLens
RUN-BUILD.batSee 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.
GPU Render Priority: D3D11 β D3D12 β Vulkan Compute β GDI+ (software)
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 Β· MSIX Β· Inno Setup"]
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,483 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: 32.3.0 "Fomalhaut-T" Build Status: 0 errors / 0 warnings Test Status: 4,483 unit tests, 5 benchmarks (100% pass rate) Codename: Fomalhaut-T β Annotation, HDR Tone Mapping & Format Detection
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.
- Repository: Internal project repository
- Issues: Use project issue tracker configured for this workspace
- Discussions: Use team discussion channel
Built with β€οΈ using C++20, DirectX 11/12, and Vulkan β Windows Shell Extension for 200+ formats
Last Updated: March 29, 2026 (v25.0.0 "Rigel")