π Lap: Your Offline-First Photo Manager for Large Local Libraries
A privacy-focused, open-source desktop photo manager for browsing family albums, finding old photos quickly, and managing large personal media libraries — all without the cloud.
✨ Why Lap
Lap is an open-source, local-first photo manager designed for browsing family albums, locating old photos rapidly, and organizing large personal media libraries entirely offline. It is a privacy-focused alternative to cloud photo services that demands no forced upload, runs local AI search, and follows a folder-first workflow — completely free to use.
π Local-First by Design
- ✅ Your photos stay on your own disk — no required cloud account or upload is ever needed.
- ✅ No library lock-in: work directly with your existing folders instead of importing everything into a closed database.
- ✅ Private AI tools: search, similarity, smart tags, and face features run locally on your machine.
- ✅ Built for large collections: optimized for smooth browsing and organization across libraries with 100k+ files.
- ✅ Open source and free: no subscription, no forced ecosystem, and code you can inspect.
π― Key Features
Lap delivers a comprehensive, powerful photo management experience with the following capabilities:
π Flexible Library Browsing
- Browse by date, folder, location, camera, lens, tags, ratings, and faces.
- Random sorting and small-image filter for dynamic viewing.
πΊ️ Interactive Map View
Explore geotagged photos and videos in interactive clusters that follow your current filters in real time.
π‘ Smart Albums
Save rule-based views with custom grouping and sorting for easy, consistent access to your collections.
π️ Collections & Tags
Organize selected files in bulk without moving or duplicating the originals, using collections and tags for efficient management.
π€ Local AI Search
- Text prompt search, visual similarity, subjects, face clustering, and optional multilingual search in 50+ languages.
π¬ Live Photos & Motion Playback
Support for Apple Live Photos and Google Motion Photos with motion playback and unified Smart Album filtering.
πΌ️ RAW + JPEG Pairs
- RAW + JPEG/HEIC pairs displayed as one item, with linked files kept together during file operations.
π Customizable Viewing
Thumbnails up to 1024px, adjustable grid sizes and corners, and Quick Preview or separate viewer windows for flexible display.
π§ Built-in Editing
Crop, rotate, flip, resize, and basic image adjustments built directly into the application for quick corrections.
π¦ Broad Format Support
Supports 60+ photo, RAW, and video formats across all platforms with automatic compatibility processing when native playback is unavailable.
π Metadata, Collections, and Moving Files
Lap is folder-first, but not every piece of information shown is embedded in the original file. This distinction matters when you also manage the same folders in Finder, Explorer, or another photo app.
What Stays with the File
- ✅ Your original photos and videos always remain ordinary files in their existing folders.
- ✅ File metadata already embedded in a file (e.g., EXIF capture date, camera, lens, GPS, orientation) is read from that file when Lap indexes it.
- ✅ Saved image edits write the resulting image to the selected destination.
What is Stored Locally by Lap
- Collections, Tags, Comments, Favorites, Ratings, and culling states (including Picks and Rejects).
- Smart Albums and their rules, grouping, sorting, and ordering.
- AI search data, face data, thumbnails, and other index/cache data.
π‘ Working with Files Outside Lap
Lap can rescan folders and detect many filesystem changes. However, changes made outside Lap — such as renaming, moving, replacing, or copying files — can disrupt organization stored only in Lap.
For the most reliable results: rename and move files in Lap whenever you rely on Collections, Tags, Comments, Favorites, Ratings, or culling states. If you also manage files outside Lap, back up Lap's database and configuration together with your photos. You can manage the database location and create a backup in Settings → Storage.
π€ Uninstall Lap
Lap works directly with your existing photo folders. Uninstalling Lap, or deleting its database and cache files, does not delete your original photos.
macOS
- If you installed Lap with Homebrew:
brew uninstall --cask lap - For manual installation: quit Lap, then move Lap.app from the Applications folder to the Trash.
- To remove all Lap database, cache, and configuration files:
rm -rf "$HOME/Library/Application Support/com.julyx10.lap" \
"$HOME/Library/Caches/com.julyx10.lap" \
"$HOME/Library/WebKit/com.julyx10.lap"
rm -f "$HOME/Library/Preferences/com.julyx10.lap.plist"
Windows
- Open Settings → Apps → Installed apps, find Lap, and select Uninstall.
- Then open PowerShell and remove all Lap database, cache, and configuration files:
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "$env:LOCALAPPDATA\com.julyx10.lap"
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "$env:APPDATA\com.julyx10.lap"
Linux
- For DEB installations, uninstall the package:
sudo apt remove lap - For AppImage installations: quit Lap and delete the downloaded .AppImage file.
- Then remove all Lap database, cache, and configuration files:
rm -rf "$HOME/.local/share/com.julyx10.lap" \
"$HOME/.cache/com.julyx10.lap" \
"$HOME/.config/com.julyx10.lap"
π¨ Build from Source
Requirements: Node.js 20+, pnpm, Rust stable.
macOS System Dependencies
xcode-select --install
brew install nasm pkg-config autoconf automake libtool cmake
Linux System Dependencies
# sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev \
# patchelf nasm clang pkg-config autoconf automake libtool cmake
Clone and Build
git clone --recursive https://github.com/julyx10/lap.git
cd lap
git submodule update --init --recursive
cargo install tauri-cli --version "^2.0.0" --locked
./scripts/download_models.sh # Windows: .\scripts\download_models.ps1
./scripts/download_ffmpeg_sidecar.sh # Windows: .\scripts\download_ffmpeg_sidecar.ps1
cd src-vite && pnpm install && cd ..
cargo tauri dev
Supported Formats
Lap supports 60+ photo, RAW, and video formats across all platforms.
Images
- JPG/JPEG/JFIF, PNG, GIF, BMP, TIFF, WebP, HEIC/HEIF/HIF, AVIF, JXL, PSD, EXR, HDR/RGBE, TGA, JPEG 2000 (JP2/J2K/J2C/JPC/JPF/JPX), DDS, DPX, QOI
RAW Photos
- CR2, CR3, CRW, NEF, NRW, ARW, SRF, SR2, RAF, RW2, ORF, PEF, DNG, SRW, RWL, MRW, 3FR, MOS, DCR, KDC, ERF, MEF, RAW, MDC
Videos
- MP4, MOV, M4V, MKV, AVI, FLV, TS/M2TS, WMV, WebM, 3GP/3G2, F4V, VOB, MPG/MPEG, ASF, DIVX and more. H.264 playback is supported on all platforms, with automatic compatibility processing when native playback is unavailable. HEVC/H.265 and VP9 are natively supported on macOS.
Linux Video Playback
Lap uses system GStreamer plugins for video playback, including in the AppImage. If videos fail to play on Ubuntu, Debian, or Linux Mint, install:
sudo apt install gstreamer1.0-libav gstreamer1.0-plugins-good
π ️ Architecture
- Core: Tauri + Rust
- Frontend: Vue + Vite + Tailwind CSS
- Data: SQLite
Key Libraries
| Library | Purpose |
|---|---|
| LibRaw | RAW image decoding and thumbnail extraction |
| libheif | HEIC/HEIF/HIF image decoding and preview generation |
| libjpeg-turbo | Fast JPEG decoding and thumbnail generation |
| FFmpeg | Video processing and thumbnail generation |
| Video.js | Cross-platform video playback UI |
| ONNX Runtime | Local AI model inference engine |
| CLIP | Image-text similarity search |
| InsightFace | Face detection and recognition |
| Leaflet | Interactive map for geotagged photos |
| daisyUI | UI component library |
π¬ FAQ
Q: Is Lap really free and open-source?
Yes! Lap is licensed under GPL-3.0-or-later. It is completely free to use, with no subscription fees or forced ecosystem requirements.
Q: Will my photos be uploaded to the cloud?
Never. Lap is local-first by design — your photos stay on your own disk. No required cloud account or upload is ever needed.
Q: What happens if I uninstall Lap?
Uninstalling Lap removes the application and its local database, cache, and configuration files. Your original photos and videos remain untouched in their existing folders. Just follow the uninstall instructions for your platform.
Q: How do I get Lap running on my system?
You can download the pre-built release for your platform from the latest release page, or build from source using the provided instructions. Lap supports macOS (Apple Silicon/Intel), Windows (x64/ARM64), and Linux (x64/ARM64).
π₯ Download Lap
Get the latest release matching your system and start managing your photo library in seconds:
Platform & Package
| Platform | Package | Note |
|---|---|---|
| macOS (Apple Silicon / Intel) | _aarch64.dmg / _x64.dmg | Notarized by Apple |
| Windows 10/11 (x64 / ARM64) | _x64_en-US.msi / _arm64_en-US.msi | Unsigned — click Keep if SmartScreen blocks |
| Linux (x64 / ARM64) | _amd64.deb / _arm64.deb | For Debian-based distros (Ubuntu, Debian, Linux Mint, etc.) |
| Linux (x64 / ARM64) | _amd64.AppImage / _aarch64.AppImage | Make executable, then double-click to run |
macOS with Homebrew
brew tap julyx10/lap
brew install --cask lap
π Explore Lap
Dive deeper into Lap's capabilities, documentation, and community resources:
- π GitHub Repository — Full source code, issues, and pull requests.
- π Contributing Guide — Guidelines for contributing to the project.
- π License — GPL-3.0-or-later license details.
- π‘️ Privacy Policy — Detailed information on data handling.