# Darktable

Darktable (stylized as darktable) is a free and open-source photography application and raw developer. Rather than being a raster graphics editor like Adobe Photoshop or GIMP, it comprises a subset of image editing operations specifically aimed at non-destructive raw image post-production. It is primarily focused on improving a photographer's workflow by facilitating the handling of large numbers of images. It is freely available in versions tailored for most major Linux distributions, macOS, Solaris and Windows and is released under the GPL-3.0-or-later.

## Features

Darktable involves the concept of non-destructive editing, similar to that of some other raw manipulation software. Rather than being immediately applied to raster data of the image, the program keeps the original image data until final rendering at the exporting stage — while parameter adjustments made by a user display in real-time. The program features built-in ICC profiles, GPU acceleration (based on OpenCL), and supports most common image formats.

### Main features

* Non-destructive editing with the XMP change description entry
* Work in 32-bit float mode on a color channel in CIE LAB space
* Full implementation of color management
* Supports RAW, JPG, RGBE, PFM and more
* Completely modular architecture
* More than 30 modules for transformation, color correction, quality improvement and artistic effects
* Organize images and search by parameters
* Translated into 19 languages
* Support for shooting directly through the camera
* Find similar photos
* Support for geographical coordinates labels with the display of photos on the map
* An integrated mover for executing Lua scripts. Scripts can be linked to hotkeys or specific events, such as when importing new images.

### Masks

Support for drawn masks was added in Darktable version 1.4, allowing application of effects to manually specified areas of an image. There are five mask types available: brush, circle, ellipse, Bézier path, and gradient; all are resizable, allow fade-out radius for smooth blending and can have their opacity controlled. An arbitrary number of masks can be created and are collected into a "mask manager" on the left hand side of the darkroom UI.

### Color

Darktable has built-in ICC profile support for sRGB, Adobe RGB, XYZ and linear RGB color spaces.

### Importing and exporting

Raw image formats, JPEG, HDR and PFM images can be imported from disk or camera, and exported to disk, Picasa Web Albums, email, and to a simple HTML-based web gallery as JPEG, PNG, JPEG XL, TIFF, WebP, PPM, PFM and EXR images. Images can be exported to Wikimedia Commons using an external plugin.

### Scripting

Darktable can be controlled by scripts written in Lua version 5.2. Lua can be used to define actions which Darktable should perform whenever a specified event is triggered. One example might be calling an external application during file export in order to apply additional processing steps outside of Darktable.

### Multi-mode histogram

Multiple histogram types are available, all with individually selectable red, green and blue channels: linear, logarithmic and waveform (new in version 1.4).

## User interface

Darktable has two main modes: "lighttable" and "darkroom". Each represents a step in the image development process. Two more modes are tethering and a map view. Upon launching, lighttable opens by default, where image collections are listed. All panels in all modes can be minimized to save screen real estate.

### Lighttable

The left panel is for importing images, displaying Exif information, and filtering. Rating and categorizing buttons are at the top, while the right-side panel features various modules such as a metadata editor and a tag editor. A module used to export images is located at the bottom-right.

### Darkroom

The second mode, "darkroom", displays the image at center, with four panels around it; most tools appear on the right side. The left panel displays a pannable preview of the current image, an undo history stack, a color picker, and Exif information. A filmstrip with other images is displayed at the bottom, and can be sorted and filtered using lists from the upper panel. The latter also gives access to the preferences configuration. Darktable's configuration allows custom keyboard shortcuts and personalized defaults.

### Tethering

The third mode allows tethering through gPhoto to some of the cameras which support it.

### Map

The fourth mode can display maps from different online sources and geotags images by drag-and-drop. It also uses maps to show images already geotagged by a camera.

## Plugins

As of December 2019, darktable includes 67 image adjustment plugins, which it divides into 5 groups;

### Basic group

Plugins for simple well-known photo adjustment operations include: contrast brightness saturation module; shadows and highlights; color reconstruction; base curve with presets to automatically improve contrast and colors; crop and rotate; orientation; exposure; demosaic; highlight reconstruction; white balance; invert and raw black/white point.

### Tone group

Plugins related to contrast and lighting include: fill light for modifying the exposure based on pixel lightness; levels to set black; tone curve; zone system; filmic; local contrast; global tone mapping and tone mapping.

### Color group

Plugins related to hue and saturation include: velvia, which mimics Velvia film colors by increasing saturation on lower saturated pixels more than on highly saturated pixels; channel mixer; output color profile; color contrast; color correction, to modify the global saturation or to give a tint; monochrome; color zones; color balance; vibrance; color look up table; input color profile and unbreak input color profile.

### Correction group

Plugins for repairing visual imperfections include: dithering; sharpen; equalizer; denoise (non-local means); defringe; haze removal; denoise (bilateral filter); scale pixel; rotate pixels; liquify; perspective correction; lens correction using the LensFun library; retouch; spot removal; denoise (profiled); raw denoise; hot pixels and chromatic aberrations.

### Effect group

Artistic postprocessing plugins used for visual effects include: watermark; framing; split-toning; vignetting; soften; grain; highpass; lowpass; lowlight vision; bloom; color mapping; colorize and graduated density.

## Development
### Google Summer of Code

In 2011, the Darktable team participated in the Google Summer of Code (GSoC). The main goals were to remove libglade dependency from Darktable and to make room for more modularity. The input system for handling shortcuts was also rewritten and incorporated into version 0.9.

### Distribution

Darktable is released under the GPL-3.0-or-later as free software. The current version of Darktable works on Linux, macOS and Windows. Many Linux distributions include Darktable in their default repositories, including Debian, Fedora, openSUSE, Arch Linux, and Gentoo Linux.
Darktable also runs on Solaris 11, with packages in IPS format available from the maintainer.

### Localization

Darktable is available in multiple languages. Darktable is notable for using all-lowercase literals in every language by default. Since version 4.4.0, a new locale called "en@truecase" allows users to apply conventional casing to English.