Skip to main content

Introduction

The LibrePhotos timeline, with photos grouped by day and place Sample photos from Pexels.

Unlike commercial service that store your photos in the cloud and scan/index them to train their machine learning models and collect ad targeting data on you, LibrePhotos keeps all your photos and metadata on your local machine. Your data is never sent to or stored on a 3rd party server. Get the same power as those commercial services without giving up your personal data and privacy.

Get started​

Features​

  • Support for all types of photos, including raw photos
  • Support for videos
  • Live Photos and RAW+JPEG file variant support
  • Timeline view
  • Scans pictures on the file system
  • Multiuser support
  • Generate albums based on events like "Thursday in Berlin"
  • Face recognition / Face classification
  • Reverse geocoding
  • Object / Scene detection
  • Semantic image search
  • Search by metadata (person, file type, lens, camera, path)
  • Duplicate detection with perceptual hashing
  • Public album sharing via link with fine-grained privacy controls
  • Photo details sidebar showing location, people, albums, and similar photos
  • Slideshow mode and fullscreen lightbox
  • Memories: the photos you took on this day in earlier years
  • Spotlight search with keyboard navigation

What does it use?​

  • Image Conversion: libvips
  • RAW Conversion: LibRaw via rawpy
  • Video Conversion: FFmpeg
  • EXIF Support: ExifTool
  • Face detection: InsightFace (SCRFD detector + ArcFace embeddings)
  • Face classification/clustering: hdbscan clustering and a scikit-learn multilayer perceptron, both ported to numpy
  • Image captioning: LFM2.5-VL, a small vision-language model that also takes the recognised people and the place into account
  • Tags, semantic search and similar photos: OpenCLIP ViT-B/32 trained by LAION on DataComp-XL (model card, MIT licence), one model for all three, with embeddings indexed by FAISS
  • ML runtime: every model above runs on ONNX Runtime; there is no PyTorch or llama.cpp in the image
  • Reverse geocoding: ExifTool's Geolocation database with place names from GeoNames (default, offline), Nominatim and other providers (Mapbox, MapTiler, OpenCage, TomTom)