#photography #extractor #macos #photo #lightroom-export #lightroom

bin+lib lrcat-extractor

Extract data from Adobe Lightroom™ catalogs

6 releases (3 breaking)

0.4.1 Sep 2, 2023
0.4.0 Sep 2, 2023
0.3.0 Nov 5, 2022
0.2.1 Dec 30, 2021
0.1.0 Nov 13, 2021

#6 in #photo

36 downloads per month

MPL-2.0 license

1.5K SLoC

lrcat extractor

Extract the data from Adobe Lightroom catalogs (currently version 2, 4 and 6) in order to facilitate importing it into another application.

This is written in Rust.


  • Rust (1.29)
  • cargo to build

The is a crate (library) meant to be used by other applications. Its goal is to abstract the format away into an API that can be used to import into an application.


This is meant to be used by another application, so you need to add to your Cargo.toml the crate:

lrcat-extractor = 0.2.0

To build the crate, simply:

$ cargo build

The crate comes with a dumper utility, that's used mostly for debugging. It is hidden behind a "feature".

$ cargo run --features=binaries


let mut catalog = Catalog::new(&path_to_catalog);
if catalog.open() {
    // check the catalog is the right version
    if !catalog.catalog_version.is_supported() {
        println!("Unsupported catalog version");

See the documentation hosted at https://docs.rs/lrcat-extractor/

You can also use cargo doc to generate it locally.


This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

See the LICENSE file in this repository.

Maintainer: Hubert Figuière hub@figuiere.net


~437K SLoC