darktable - a digital photography workflow application

darktable [options] [IMG_1234.{RAW,...}|image_folder/]


--cachedir <user cache directory>
--conf <key>=<value>
--configdir <user config directory>
-d {all,cache,camctl,camsupport,control,dev,fswatch,imageio,input,
--datadir <data directory>
-h, --help
--library <library file>
--localedir <locale directory>
--luacmd <lua command>
--moduledir <module directory>
--noiseprofiles <noiseprofiles json file>
-t <num openmp threads>
--tmpdir <tmp directory>

darktable is a digital photography workflow application for Linux, Mac OS X and several other Unices.

The application is designed to ease editing and consistent processing of large photo sessions and provides an easy to use digital lighttable and a set of sophisticated post-processing tools.

Most processing is done in 32-bit floating point per channel mode in device independent CIE L*a*b* color space. darktable is also fully color managed, which gives you full control over the look of the photos.

The application relies on a modern plugin architecture thus making it easy for 3rd party developers to extend the existing capabilities of the application. All lighttable and darkroom features are implemented as plugins, so you can create your plugins reusing existing code. Most workflow specific things can also be scripted in Lua.

You may optionally supply the filename of an image or the name of a folder containing image files. If a filename is given darktable starts in darkroom view with that file opened. If a folder is given darktable starts in lighttable view with the content of that folder as the current collection. If there is already an instance of darktable running (using the same library) the image or folder will be opened there, using D-Bus to communicate between the two processes.
darktable keeps a cache of image thumbnails for fast image preview and of precompiled OpenCL binaries for fast startup. By default the cache is located in "$HOME/.cache/darktable/". There may exist multiple thumbnail caches in parallel - one for each library file.
darktable supports a rich set of configuration parameters which the user defines in "darktablerc" - darktable's configuration file in the user config directory. You may temporarily overwrite individual settings on the command line with this option - however, these settings will not be stored in "darktablerc".
This option defines the directory where darktable stores the user specific configuration. The default place is "$HOME/.config/darktable/".
This option enables debug output to the terminal. There are several subsystems of darktable and debugging of each of them can be activated separately. You can use this option multiple times if you want debugging output of more than one subsystem.

A few of those debug options are:

Enable job queue debugging. If you redirect darktable's output to control.log and call ./tools/create_control_svg.sh control.log, you will get a nice control.svg with a visualization of the threads' work.
This will give you a lot of debugging info about the thumbnail cache for lighttable mode. If compiled in debug mode, this will also tell you where in the code a certain buffer has last been locked.
Use this for performance tweaking your darkroom modules. It will rdtsc-measure the runtimes of all plugins and print them to stdout.
Enable all debugging output. In general this is not very useful.
This option defines the directory where darktable finds its runtime data. The default place depends on your installation. Typical places are "/opt/darktable/share/darktable/" and "/usr/share/darktable/".
Prevent darktable from initializing the OpenCL subsystem. Use this option in case darktable crashes at startup due to a defective OpenCL implementation.
Show the available command line options and exit.
darktable keeps image information in an sqlite database for fast access. The default location of that database file is "$HOME/.config/darktable/library.db". You may give an alternative location, e.g. if you want to do some experiments without compromising your original library.db. If the database file does not exist, darktable creates it for you. You may also give ":memory:" as a library file in which case the database is kept in system memory - all changes are discarded when darktable terminates.
The place where darktable finds its language specific text strings. The default place depends on your installation. Typical places are "/opt/darktable/share/locale/" and "/usr/share/locale/".
A string containing lua commands to execute after lua initialization. These commands will be run after your "luarc" file.

If lua is not compiled in, this option will be accepted but won't do anything.

darktable has a modular structure and organizes its modules as shared libraries for loading at runtime. With this option you tell darktable where to look for its shared libraries. The default place depends on your installation; typical places are "/opt/darktable/lib/darktable/" and "/usr/lib/darktable/".
darktable's profiled denoise module uses camera specific profile data that gets loaded from an external JSON file. With this option the file to be loaded can be changed to allow testing alternative profiles. The default profile file is "noiseprofiles.json" and is typically found in "/opt/darktable/share/darktable/" or "/usr/share/darktable/".
darktable uses OpenMP to parallelize many computation steps and make use of all the available CPU cores. With this option you can specify the number of threads to use. Valid values are between 1 and 100.
The place where darktable stores its temporary files. If this option is not supplied darktable uses the system default.
Show the darktable version along with some important build options and exit.

All modes

Switch to lighttable view
Switch to darkroom view
Switch to tethered capture view
Switch to map view
Switch to slideshow view
Switch to print view
Switch between lighttable and darkroom views
Switch between fullscreen and normal modes of the application's window
Leave fullscreen mode
Show/hide header
Show/hide sidebars

Lighttable mode

Navigate to top, bottom row
Navigate one page up, down
Scroll center
Scroll down, left, right, up
Preview image
Preview image with focus detection
Color labels: toggle red, yellow, green, blue and purple
1, 2, 3, 4, 5
Star rating
Strip all stars
Mark as rejected
Realign images to the grid
Zoom in on first visible image
Adjust zoom
Zoom out completely
Select all images
Select no images
Invert selection
Duplicate image
Group/ungroup selected images
Remove image from collection
Copy all, selected history
Paste all, selected history
Toggle selection of an image
Select an image
Export currently selected images
Jump back to the previous collection
Open a popup to quickly tag an image
Import a folder
Jump to the filmroll of an image

Darkroom mode

Zoom to 1:1, fill, and fit, respectively
Show/hide filmstrip
Step to next, previous image
Export current image
Copy all, selected history
Paste all, selected history
Toggle show of over- and under-exposure
Toggle gamut check
Toggle softproofing
In Crop & Rotate module, commit the crop
[, ]
In Flip module, rotate 90 degrees ccw, cw
<, >
When drawing masks, decrease, increase brush opacity, respectively
{, }
When drawing masks, decrease, increase brush hardness, respectively
[, ]
When drawing masks, decrease, increase brush size, respectively

Tethered mode

Show/hide filmstrip
Toggle live view

Map mode

Show/hide filmstrip

Filmstrip (when the cursor is on top of the filmstrip)

Color labels: toggle red, yellow, green, blue and purple
1, 2, 3, 4, 5
Star rating
Strip all stars
Mark as rejected
Duplicate image
Select all images
Select no images
Invert selection
Copy all, selected history
Paste all, selected history

Slideshow mode

Start/stop playback


Please visit darktable's website for news, blog and bug tracker: https://www.darktable.org/

https://www.darktable.org/usermanual/ The complete darktable usermanual.

darktablerc.html An overview over all default config settings. The default place depends on your installation. Typical places are "/opt/darktable/share/doc/darktable/" and "/usr/share/doc/darktable/".

Please use the bug tracker on https://github.com/darktable-org/darktable/issues to report bugs, feature requests and so on.

The principal developer of darktable is Johannes Hanika. The (hopefully) complete list of contributors to the project is:

* developers: Pascal Obry Roman Lebedev Aldric Renaudin

* translators: Victor Forsiuk Pascal Obry Jeronimo Pellegrini EdgarLux Martin Straeten Matjaž Jeran Kang-Wei Hsu Marko Vertainen Michel Leblond Ryo Shinozaki Serkan ÖNDER Besmir Godolja RIM bajdero Báthory Péter Fabio Sirna Mario Zimmermann Petr Stasiak Tianhao Chai luca mmardegan shinoryo Яна Тунгушпаева

* contributors (at least 4 commits): Hanno Schwalm Victor Forsiuk Mario Zimmermann Ralf Brown Miloš Komarčević Diederik ter Rahe Jeronimo Pellegrini EdgarLux Bill Ferguson Martin Straeten Kang-Wei Hsu Matjaž Jeran wpferguson

* Sub-module rawspeed contributors (at least 1 commit): Roman Lebedev Miloš Komarčević Victor Forsiuk Georg Lukas

* Sub-module integration contributors (at least 1 commit): Pascal Obry

And all those of you that made previous releases possible

This man page was written by Alexandre Prokoudine <alexandre.prokoudine@gmail.com> and Richard Levitte <richard@levittr.org>. Additions were made by Tobias Ellinghaus <me@houz.org>.

The project was started by Johannes Hanika in early 2009 to fill the gap (or, rather, a black hole) of a digital photography workflow tool on Linux.

Copyright (C) 2009-2017 by Authors.

darktable is free software; you can redistribute it and/or modify it under the terms of the GPL v3 or (at your option) any later version.

2017-01-20 darktable 2.3