Free, high-performance photo and video organizer for Windows. Optimized for speed and local file control—no cloud storage or subscriptions required.
| Category | Capabilities |
|---|---|
| Viewing | Unified photo/video/audio playback; native support for most formats including RAW |
| Search | Instant metadata-based search (tags, location, camera data) via local indexing |
| Metadata | Read/write XMP, IPTC, EXIF, ID3; add tags, ratings, location |
| Organization | Side-by-side comparison, duplicate detection ("Presence" feature) |
| Sync | Bidirectional sync to NAS/network drives for backup and collaboration |
| Editing | Resize, rotate, crop, color adjustment |
- Download from diffractor.com and install
- Point to your media folders—Diffractor indexes automatically
- Browse via sidebar (date, location, folder, file type)
- Apply ratings/tags via keyboard shortcuts or UI; use Compare view for burst sorting
- Sync to network drives; use metadata tools for maintenance
Why Diffractor? Fast (handles large libraries without lag), private (local-only), lightweight, free.
| Distribution | Description |
|---|---|
| Windows Desktop | Traditional installer (diffractor-setup.exe) with auto-update support |
| Windows Store | MSIX package for Microsoft Store distribution (updates handled by Store) |
| Portable | ZIP archive for standalone use without installation |
Both Desktop and Store builds share the same codebase. The WINSTORE preprocessor define controls Store-specific behavior (disables built-in auto-update since the Store handles updates).
git clone --recursive https://github.com/diffractor/diffractor.gitOpen df.sln in Visual Studio 2022. Submodules: FFmpeg, XMP-SDK.
Use dd.ps1 from a Developer PowerShell:
| Command | Description |
|---|---|
.\dd.ps1 |
Show usage information and current version |
.\dd.ps1 desktop |
Build desktop versions (Win32 + x64), auto-increments build number |
.\dd.ps1 store |
Build Windows Store MSIX package, auto-increments build number |
.\dd.ps1 run |
Run the recently built diffractor64.exe |
.\dd.ps1 bump-build |
Manually increment build number without building |
.\dd.ps1 bump-ver |
Increment minor version (e.g., 1.26.2 ? 1.26.3) |
Prerequisites for release builds: NSIS, 7-Zip, Windows SDK, code signing certificate.
See implementation.md for architecture details.
Contributions welcome via issues.
Translations: Edit PO files with poedit. Files in exe/languages. Use German as template for new languages. Test by copying to %LOCALAPPDATA%\Diffractor\languages.
Tests: Built-in runner accessible via toolbar checkmark button when launched from Visual Studio. Press Escape to exit test mode.
| Library | Version | Library | Version |
|---|---|---|---|
| brotli | 1.1.0 | libjxl | 0.10.3 |
| bzip2 | 1.0.8 | liblzma | 5.4.6 |
| dav1d | 1.5.1 | libmatroska | 1.7.1 |
| dng-sdk | 1.7.1 | libopenmpt | 0.8.3 |
| expat | 2.7.1 | libpng | 1.6.50 |
| ffmpeg | main | LibRaw | 0.21.2 |
| highway | 1.3.0 | libwebp | 1.4.0 |
| hunspell | 1.7.2 | minizip-ng | 4.0.5 |
| libarchive | 3.8.1 | parallel-hashmap | 2.0.0 |
| libde265 | 1.0.15 | rapidjson | main |
| libebml | 1.4.5 | skcms | main |
| libexif | 0.6.25 | sqlite | 3.50.4 |
| libheif | 1.18.0 | utf-cpp | 4.0.6 |
| libjpeg-turbo | 3.1.2 | zlib-ng | 2.2.5 |