Making the switch from Lightroom

I’m currently trying to switch from to Darktable from Lightroom. I’m wondering who else has experience with this, particularly with importing a previous Lightroom library. The biggest thing holding me back is losing my years of edits.

Currently I have a Lightroom catalog (~20000 photos) mostly in the form of DNG’s.
From what I understand, my only option for preserving any edits is to load XMP files into Darktable. I’ve tried this, however am not too impressed with what gets transferred over.

Any tips?

I don’t believe much of the tool settings can be ported over from lightroom, as the the tools and their functions don’t match up exactly. If you know what tools you used in LR and what their approximate equivalent is in darktable, you could write a script that would approximatw the darktable values and try to write a darktable xmp file for you. It’d be very approximate though.

That’s a kind of lock-in effect, that you have to cope with, when switching from one software to another.
Did you export your edits? Maybe, you want to export 16bit tiff files. Then there is at least an archive and you have a basis to do further edits in your new software (of course it is not completely non-destructive anymore in those cases).

I switched from Bibble/After Shot Pro some years ago and I don’t mind that I cannot access my edits any more. I could start Bibble or ASP, but actually I don’t do that anyway.

[quote=“anaxonda, post:1, topic:3563, full:true”]
Currently I have a Lightroom catalog (~20000 photos) mostly in the form of DNG’s.
From what I understand, my only option for preserving any edits is to load XMP files into Darktable. I’ve tried this, however am not too impressed with what gets transferred over. [/quote]
To do better, than roughly approximating the LR edit, you need to know how the LR stuff works internally and you need to know about the semantic of the LR parameter. I think, even the conversion of edits from one open source tool to another (e.g. RawTherapee to darktable) would be a hard task. Converting from closed source tools is nearly impossible. Even if you were able to translate LR settings, it wouldn’t be complete. Features may be entirely missing and what about the input color profiles?

So, my advice would be to archive the edits by exporting them into some format that is suitable for further edits and I would start over in darktable. There is no need to edit all the old images again, since you already archived your LR edits. However, editing old pictures again can be fun, but then don’t just try to recreate the LR edits. Enjoy the new possibilities.

Nevertheless, I think it is possible to “translate” things/procedures you typically did in LR into something similar in darktable. For example, adjusting the clarity slider in LR is similar to using the local contrast and/or the equalizer module (with clarity preset) in darktable. This thing called “dynamic” may be covered by the color zones module. However, this is about adapting your manual editing process, not about automatically translating LR settings. Sometimes I watched videos about LR edits, which can be inspiring for darktable edits as well. You just need to know how to do something similar in darktable.
Please feel free to ask how certain LR operations may be translated into the darktable. I guess most people here don’t use LR or never really did (me included), so you may have to give examples or at least some rough explanations what these LR operations actually do.


Just a thought. With Darktable you can generate a basecurve from a raw/jpg pair. This means you should be able to get the colours very close. You still have the noise reduction, sharpening etc to match manually but the colours is the hard bit.

The basecurve tool is a command line tool that comes with the source release but not with the standard Debian package. Don’t know about Windows or other distros.

Same here, with a brief test with PhotoNinja running under Wine in between. I really didn’t spend any time trying to port the edits because I knew I would have partial success, at best. My focus, at that time and know, is keeping the metadata consistent so I can switch between programs (currently use darktable for processing and XnView for metadata/keyword management).

I also keep ASP available if I want to do a minor adjustement on an existing photo I have on sale, which very rarely happens but want to keep that ready, just in case. For me those photos are “closed work” and if I want to work on those I prefer to use the current tool: darktable.

darktable is a tough one for switching to and from in my opinion. It is just too different from the other software. Perhaps RawTherapee and the edit module of digiKam might look and behave more LR alike. Again that is just my opinion

But, on the other hand, after some adaptation, darktable is well designed and user friendly, and limits the need to use other tools for retouching. Again, that is just …

1 Like

I’ve done that more than 3 years ago. For this I have done:

  • while editing my Lr picture I’ve been using dt for some of them. this was to learn how dt works and don’t be too “lost” when switching.

  • then I’ve created a Lr → dt module (integrated in dt) to recover some data (all keywords and some edits like crop, curve,…), see Importing Lightroom Development | darktable

Don’t be too expecting of the auto-import from Lr, it is not perfect but I found that it saves me 80% of the work on each image I have needed to recover in darktable. that’s is when I need to print or export an old picture the conversion save me quite some time.

At the start I think I’ve been editing 20% slower, with the time I think I’m now editing in darktable at the same speed I’ve used to do in Lightroom as the tool has progressed a lot and some editing not possible in Lightroom are now possible in darktable.

All in all I would never ever go back to the lock-in Adobe policy.

1 Like

Don’t get it wrong. Diffetent does not mean bad. Darktable is my primary RAW developing software. I did try Lightroom but I found that 1+ Gb monster too heavy and too resource hungry for what I need. Plus it is so proprietary (you don’t really own your work) plus it is $100+ / year license fee which does not make sense for my purpose (managing family pictures archive).

1 Like

Great, thanks. I am coming to realize that I just need to jump right in. I’ll plan on archiving all my ‘keeper’ photos.

Could you elaborate more on your Lr → dt module? How does this differ from the auto-import?

Sure, nothing special. Just import the picture where the .xmp from Lightroom exists and it will import whatever in this .xmp. Note that this only happens the first time, that is when there is no .xmp from darktable.

A Lr xmp is named “.xmp” a darktable xmp is named “..xmp”.

Hope this helps!

Yeah this is basically what I’m planning. As well, I’ll try to preserve my existing collections via tagging and make archives of any keep photos.

Hi Pascal, I’ve tried to import LR nef images + xmp and I’m progressing (tags and basic treatements are ok). I still have an issue with the dt “metadata” like title, description, creator(, publisher) and rights while for jpg images these attributes are imported properly.
Are these data normally considered in your LR import module ?
Is there any tip or anything I should look at ?


No the metadata are not imported. To do that one would need to improve the Lr import module.

Thanks for the quick answer.
I’ll try to dive into the repository to see if I’m able to help … any advice is welcome !

I think this is the code:

Hi Tobias,
I’ve forked master dt and started a new branch LR Import add metadata and modified the file lightroom.c.
I’m unsure of what I did (I’m not a C programmer) and I’m not able to build and test.
But the changes are straight forward and I think this could be not too long to review for somebody who knows.
Is the next step to make a new pull request ?

Sorry, I can’t help her. I’m not a C programmer either. Perhaps @houz or @LebedevRI can help here. They are both darktable developers.

I’m not familiar with the git process (pull request, …) and I don’t want to make a mistake.
But I guess the best way is to make a pull request and let people check and accept or not the proposal of change. Is that correct ?