darktable is an open source photography workflow application and raw developer. A virtual lighttable and darkroom for photographers. It manages your digital negatives in a database, lets you view them through a zoomable lighttable and enables you to develop raw images and enhance them.
darktable is an open-source photography workflow application designed for photographers to manage and develop raw digital negatives non-destructively. It serves as a virtual lighttable and darkroom, enabling users to organize, enhance, and export images efficiently.
Key Features:
Virtual Lighttable: Offers a zoomable interface for browsing and organizing images.
Non-Destructive Raw Development: Provides tools for developing raw files without altering the original data.
README
darktable
darktable is an open source photography workflow application and non-destructive raw developer - a virtual lighttable and darkroom for photographers. It manages your digital negatives in a database, lets you view them through a zoomable lighttable and enables you to develop raw images, enhance them and export them to local or remote storage.
darktable is not a free Adobe® Lightroom® replacement.
Microsoft Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Microsoft Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.
Notepad++ is a free (as in “free speech” and also as in “free beer”) source code editor and Notepad replacement that supports several languages.
Running in the MS Windows environment, its use is governed by GNU General Public License.
LibreOffice is a free and powerful office suite, and a successor to OpenOffice.org (commonly known as OpenOffice). Its clean interface and feature-rich tools help you unleash your creativity and enhance your productivity.
WinMerge is an open source differencing and merging tool for Windows. WinMerge can compare files and folders, presenting differences in a visual format that is easy to understand and manipulate.
Etcher is a powerful OS image flasher built with web technologies to ensure flashing an SDCard or USB drive is a pleasant and safe experience. It protects you from accidentally writing to your hard-drives, ensures every byte of data was written correctly, and much more. It can also directly flash Raspberry Pi devices that support USB device boot mode.
Microsoft Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Microsoft Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.
Inkscape is a Free and open source vector graphics editor for GNU/Linux, Windows and macOS. It offers a rich set of features and is widely used for both artistic and technical illustrations such as cartoons, clip art, logos, typography, diagramming and flowcharting. It uses vector graphics to allow for sharp printouts and renderings at unlimited resolution and is not bound to a fixed number of pixels like raster graphics. Inkscape uses the standardized SVG file format as its main format, which is supported by many other applications including web browsers.
It can import and export various file formats, including SVG, AI, EPS, PDF, PS and PNG. It has a comprehensive feature set, a simple interface, multi-lingual support and is designed to be extensible; users can customize Inkscape's functionality with add-ons.
The Inkscape project has a growing international user community, and many learning materials exist to help get you started with your creations. Help and support is provided by the community, and there are lots of ways for you to get involved if you want to help improve the Inkscape project.
Inkscape is a member of the Software Freedom Conservancy, a US 501(c)(3) non-profit organization. Contributions to Inkscape are tax deductible in the United States.
Microsoft Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Microsoft Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.
Notepad++ is a free (as in “free speech” and also as in “free beer”) source code editor and Notepad replacement that supports several languages.
Running in the MS Windows environment, its use is governed by GNU General Public License.
LibreOffice is a free and powerful office suite, and a successor to OpenOffice.org (commonly known as OpenOffice). Its clean interface and feature-rich tools help you unleash your creativity and enhance your productivity.
WinMerge is an open source differencing and merging tool for Windows. WinMerge can compare files and folders, presenting differences in a visual format that is easy to understand and manipulate.
Etcher is a powerful OS image flasher built with web technologies to ensure flashing an SDCard or USB drive is a pleasant and safe experience. It protects you from accidentally writing to your hard-drives, ensures every byte of data was written correctly, and much more. It can also directly flash Raspberry Pi devices that support USB device boot mode.
Microsoft Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Microsoft Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.
Inkscape is a Free and open source vector graphics editor for GNU/Linux, Windows and macOS. It offers a rich set of features and is widely used for both artistic and technical illustrations such as cartoons, clip art, logos, typography, diagramming and flowcharting. It uses vector graphics to allow for sharp printouts and renderings at unlimited resolution and is not bound to a fixed number of pixels like raster graphics. Inkscape uses the standardized SVG file format as its main format, which is supported by many other applications including web browsers.
It can import and export various file formats, including SVG, AI, EPS, PDF, PS and PNG. It has a comprehensive feature set, a simple interface, multi-lingual support and is designed to be extensible; users can customize Inkscape's functionality with add-ons.
The Inkscape project has a growing international user community, and many learning materials exist to help get you started with your creations. Help and support is provided by the community, and there are lots of ways for you to get involved if you want to help improve the Inkscape project.
Inkscape is a member of the Software Freedom Conservancy, a US 501(c)(3) non-profit organization. Contributions to Inkscape are tax deductible in the United States.
Enhancement Tools: Includes features like denoise, contrast equalization, and color grading to refine images.
Database Management: Organizes digital negatives in a database for efficient cataloging and search capabilities.
Export Options: Supports exporting images to local or remote storage, including various media platforms.
Customizability: Enables Lua scripting for creating plugins and OpenCL acceleration for performance optimization.
Audience & Benefit:
Ideal for photographers seeking a professional yet flexible tool. darktable enhances workflow efficiency, supports high-quality image processing, and is compatible with major operating systems. It offers GPU support for smoother performance and allows customization through Lua plugins, catering to diverse photography needs.
darktable can be installed via winget, making it accessible for users looking to integrate this powerful tool into their photography workflow.
32-bit platforms are not officially supported - they might or might not work.
Both darktable and the libraries it uses are developed on the Linux platform.
Therefore, other platforms MAY have additional bugs that are not present in the Linux version.
In addition, for example, on the Windows platform, printing support is not currently implemented.
So we recommend, if you have a choice of platform, to use darktable on Linux.
GPU: none / Nvidia with 1024 CUDA cores, 4 GB, OpenCL 1.2 compatible
free disk space: 250 MB / 1 GB
darktable can run on lightweight configurations (even on a Raspberry Pi), but expect modules like denoise, local contrast,
contrast equalizer, retouch or liquify to be slow beyond usable.
A GPU is not mandatory but is strongly recommended for a smoother experience.
Nvidia GPUs are recommended for safety because some AMD drivers behave unreliably with some modules (e.g. local contrast).
Installing
If the latest release is still not available as a pre-built package for your distribution,
you can build the software yourself following the instructions below.
When using a pre-built package, ensure that it has been built with Lua, OpenCL, OpenMP and Colord support.
These are optional and will not prevent darktable from running if missing,
but their absence will degrade the user experience.
You can check for them by running darktable with the --version command line option.
Development snapshot
The development snapshot reflects the current state of the master branch. It is intended for testing and is generally not safe. See the notes below for warnings and precautions about using the master branch.
When updating darktable from an older release, you only need to install
the newest version. Existing files will be preserved.
However, newer releases occasionally need to change the structure of the library database
(containing the whole list of images known to darktable, with their editing history). If this happens
you will be prompted with a request to either upgrade the database or close the software.
Migration to a newer database structure/newer release means that your edits (both new and old)
will no longer be compatible with older versions of darktable. Upgrades are definitive.
Newer versions are always compatible with older edits, but newer edits are generally
not compatible with older versions.
darktable automatically backs up the library database when a new version causes it to be upgraded
(in ~/.config/darktable/library.db-pre-3.0.0 for example), so
you can revert to the previous release by restoring this backup if needed
(simply rename it to library.db).
You will not be able to open the newer version of the database with a version of darktable
that only supports the older version of the database. This is impossible because the older
application does not know how the database schema has changed, so its code will not be able
to work with it.
You will be able to import images with an XMP sidecar file that contains newer versions of processing
modules or new modules, but those image editing parts will be discarded and you will lose them.
If you plan to move regularly between two versions (new/unstable and old/stable) see below
for details of how to do it safely.
Obtaining extensions
Extensions and plugins use the Lua scripting language and can be downloaded here. Lua support is optional in darktable, so make sure you have the lua interpreter and its development files (package
lua-dev or lua-devel, depending on distributions) installed on your system
while building or ensure the package you are using has been built with this library.
Extensions allow exporting for various media and websites, merge/stack/blend HDR, panoramas or focus bracketing,
apply AI-based facial recognition, manage tags and GPS data, etc.
Building
Dependencies
Compatible compilers/toolchains:
Clang: 15 and later
GCC: 12 and later
MinGW-w64: 10 and later
XCode: 15.2 and later
Required dependencies (minimum version):
CMake 3.18
GTK 3.24.15
GLib 2.56
SQLite 3.26
libcurl 7.56
libpng 1.5.0 (for PNG import & export, also for reading LUT files in PNG format)
Exiv2 0.27.2 (but at least 0.27.4 built with ISO BMFF support needed for Canon CR3 raw import)
pugixml 1.8
Required dependencies (no version requirement):
Lensfun (for automatic lens correction) (Note: alpha 0.3.95 and git master branch are not supported)
libjpeg (both the original IJG library and API-compatible ones, such as libjpeg-turbo, will work)
LibTIFF (for TIFF import & export)
Little CMS 2
Optional dependencies (minimum version):
OpenMP 4.5 (for CPU multi-threading and SIMD vectorization)
The master branch contains the latest version of the source code and is intended:
as a working base for developers,
for beta-testers to chase bugs,
for users willing to sacrifice stability for new features without waiting for the next release.
The master branch comes with no guarantee of stability and might corrupt your database and XMP files,
result in loss of data and edit history or temporarily break compatibility with previous versions and commits.
How dangerous is it? Most of the time, it is fairly stable. As with any rolling-release kind of deployment, bugs appear more often
but are fixed faster too. Sometimes, though, these bugs can result in losses or inconsistencies in the editing history of your pictures.
This is fine if you don't need to open your edits again in the future, but maybe not if you manage an estate.
After backing up your ~/.config/darktable directory and the sidecar .XMP files of any pictures you intend to open
with the master branch, you may obtain the source as follows:
git clone --recurse-submodules --depth 1 https://github.com/darktable-org/darktable.git
cd darktable
See below (in "Using") how to start a test install of the unstable version without damaging your regular stable install and files.
Latest stable release
5.2.0
The darktable project releases two major versions every year, on Summer and Winter Solstices, tagged with even numbers (e.g. 4.2, 4.4, 4.6, 4.8).
Minor revisions are tagged with a third digit (e.g. 4.4.1, 4.4.2) and mostly provide bug fixes and camera support.
You may want to compile these stable releases yourself to get better performance for your particular computer:
Note that libxcf, OpenCL, RawSpeed, whereami and LibRaw are tracked via git submodules, so after checking-out darktable, you need to update/checkout the submodules too:
git submodule update --init
Compile
Easy way
WARNING: If you have previously built darktable, don't forget to first completely remove (rm -R) the build
and /opt/darktable directories to avoid conflicting files from different versions. Many weird behaviors and transient
bugs have been reported that can be traced to the build cache not properly invalidating the changed dependencies, so
the safest way is to completely remove previously built binaries and start again from scratch.
darktable provides a shell script that automatically takes care of building on Linux and macOS for classic cases in a single command.
and ensure that you set the option "create XMP files" to "never" in preferences -> storage -> XMP sidecar files. This way,
your regular/stable version will save its configuration files in ~/.config/darktable, as usual,
the test/unstable one will save in ~/.config/darktable-test, and the two versions will not produce database conflicts.
Regular/stable version
Simply launch it from your desktop application menu or, from a terminal, run darktable or /opt/darktable/bin/darktable. If the installation did not create a launcher in your applications menu, run:
You may find darktable configuration files in ~/.config/darktable.
If you experience crashes at startup, try launching darktable from a terminal with OpenCL disabled using darktable --disable-opencl.
Check that you have the latest gphoto2 library installed in order to support the newest cameras.
Why is my lens not detected/corrected in darkroom ?
Lens correction profiles are provided by Lensfun, which has 2 parts: a program and a database.
Most Linux distributions provide a recent enough version of the program,
but provide an outdated version of the database. If
Lensfun is correctly installed, then update its database in a terminal by running:
lensfun-update-data
or alternatively
/usr/bin/g-lensfun-update-data
Why do the thumbnails in the lighttable view look different to the preview in the darkroom view ?
For RAW files that have never been edited in darktable (when you have just imported them), the lighttable view, by default, shows
the JPEG preview placed into the RAW file by your camera. Loading this JPEG file is faster and makes the
lighttable view more responsive when importing large collections of images.
However, this JPEG thumbnail is processed by the firmware of the camera, with proprietary algorithms,
and colors, sharpness and contrast that might not look the same as
darktable processing (which is what you see when opening the image in the darkroom view).
Camera manufacturers don't publish details of the pixel processing they perform in their firmware
so their look is not exactly or easily reproducible by other software.
However, once RAW images have been edited in darktable,
the lighttable thumbnail should exactly match the darkroom preview, as they are processed in the same way.
If you never want to see the embedded JPEG thumbnail in the lighttable view, for RAW files, you should set the
option "use raw file instead of embedded JPEG from size" to "never" in preferences -> lighttable.
Paint.NET is image and photo editing software for PCs that run Windows. It features an intuitive and innovative user interface with support for layers, unlimited undo, special effects, and a wide variety of useful and powerful tools. An active and growing online community provides friendly help, tutorials, and plugins.
Paint.NET is image and photo editing software for PCs that run Windows. It features an intuitive and innovative user interface with support for layers, unlimited undo, special effects, and a wide variety of useful and powerful tools. An active and growing online community provides friendly help, tutorials, and plugins.
VSCodium is a community-driven, freely-licensed and telemetry-free rebuilt of Microsoft's Visual Studio Code.
VSCodium is a powerful IDE which runs on your desktop and is available for Windows, macOS and Linux.
VSCodium is a community-driven, freely-licensed and telemetry-free rebuilt of Microsoft's Visual Studio Code.
VSCodium is a powerful IDE which runs on your desktop and is available for Windows, macOS and Linux.
ImageGlass is a lightweight software designed for seamless viewing of images in a clean and intuitive interface. With support for over 80 common image formats including WEBP, GIF, SVG, PNG, JXL, HEIC,... ImageGlass also offers advanced features that cater to the needs of both regular users and designers, making it the excellent tool to enhance workflow efficiency.
ImageGlass is a lightweight software designed for seamless viewing of images in a clean and intuitive interface. With support for over 80 common image formats including WEBP, GIF, SVG, PNG, JXL, HEIC,... ImageGlass also offers advanced features that cater to the needs of both regular users and designers, making it the excellent tool to enhance workflow efficiency.
ImageMagick® is a free, open-source software suite, used for editing and manipulating digital images. It can be used to create, edit, compose, or convert bitmap images, and supports a wide range of file formats, including JPEG, PNG, GIF, TIFF, and Ultra HDR.
ImageMagick is widely used in industries such as web development, graphic design, and video editing, as well as in scientific research, medical imaging, and astronomy. Its versatile and customizable nature, along with its robust image processing capabilities, make it a popular choice for a wide range of image-related tasks.
ImageMagick includes a command-line interface for executing complex image processing tasks, as well as APIs for integrating its features into software applications. It is written in C and can be used on a variety of operating systems, including Linux, Windows, and macOS.
ImageMagick® is a free, open-source software suite, used for editing and manipulating digital images. It can be used to create, edit, compose, or convert bitmap images, and supports a wide range of file formats, including JPEG, PNG, GIF, TIFF, and Ultra HDR.
ImageMagick is widely used in industries such as web development, graphic design, and video editing, as well as in scientific research, medical imaging, and astronomy. Its versatile and customizable nature, along with its robust image processing capabilities, make it a popular choice for a wide range of image-related tasks.
ImageMagick includes a command-line interface for executing complex image processing tasks, as well as APIs for integrating its features into software applications. It is written in C and can be used on a variety of operating systems, including Linux, Windows, and macOS.
DevToys helps with daily development tasks by offering a bundle of tiny tools designed to do quick, specific tiny tasks.
No need to use many untrustworthy websites to simply decode a text or compress and image.
With Smart Detection, the app intuitively selects the best tool for the data on your clipboard.
DevToys helps with daily development tasks by offering a bundle of tiny tools designed to do quick, specific tiny tasks.
No need to use many untrustworthy websites to simply decode a text or compress and image.
With Smart Detection, the app intuitively selects the best tool for the data on your clipboard.
GIMP is an acronym for GNU Image Manipulation Program. It is a freely distributed program for such tasks as photo retouching, image composition and image authoring.
GIMP is an acronym for GNU Image Manipulation Program. It is a freely distributed program for such tasks as photo retouching, image composition and image authoring.
GIMP is an acronym for GNU Image Manipulation Program. It is a freely distributed program for such tasks as photo retouching, image composition and image authoring.