Darktable 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.

Features

  • Non-destructive editing throughout the complete workflow, your original images are never modified.
  • Take advantage of the real power of raw: All darktable core functions operate on 4x32-bit floating point pixel buffers, enabling SSE instructions for speedups.
  • GPU accelerated image processing: many image opertions are lightning fast thanks to OpenCL support (runtime detection and enabling).
  • Professional color management: darktable is fully color managed, supporting automatic display profile detection on most systems, including built-in ICC profile support for sRGB, Adobe RGB, XYZ and linear RGB color spaces.
  • Cross platform: darktable runs on Linux, macOS / macports, BSD, Windows and Solaris 11 / GNOME.
  • Filtering and sorting: search your image collections by tags, image rating (stars), color labels and many more, use flexible database queries on all metadata of your images.
  • Image formats: darktable can import a variety of standard, raw and high dynamic range image formats (e.g. JPEG, CR2, NEF, HDR, PFM, RAF ... ).
  • Zero-latency, zoomable user interface: through multi-level software caches darktable provides a fluid experience.
  • Tethered shooting: support for instrumentation of your camera with live view for some camera brands.
  • Speaks your language: darktable currently comes with 21 translations: Albanian, Catalan, Czech, Danish, Dutch, French, German, Greek, Hebrew, Hungarian, Italian, Japanese, Polish, Portuguese (Brazilian and Portuguese), Russian, Slovak, Slovenian, Spanish, Swedish, Ukrainian.
  • Powerful export system supports G+ and Facebook webalbums, flickr upload, disk storage, 1:1 copy, email attachments and can generate a simple html-based web gallery. darktable allows you to export to low dynamic range (JPEG, PNG, TIFF), 16-bit (PPM, TIFF), or linear high dynamic range (PFM, EXR) images.
  • Never lose your image development settings darktable uses both XMP sidecar files as well as its fast database for saving metadata and processing settings. All Exif data is read and written using libexiv2.
  • Automate repetitive tasks: Many aspects of darktable can be scripted in Lua.

Modules

Darktable contains several image operation modules. Many modules support powerful blending operators offering blend functionality that works on the incoming image information and the output of the current module or be used with drawn masks.

Basic image operations:

  • Contrast, brightness, saturation: Quickly tune your image using this simple module.
  • Shadows and highlights: Improve images by lightening shadows and darkening highlights. Read Ulrich's blog post on this.
  • Crop and rotate: This module is used to crop, rotate and correct the perspective of your image. It also includes many helpful guidelines that assist you using the tools (e.g. rule of thirds or golden ratio).
  • Base curve: darktable comes with general enhanced basecurve presets for several models that are automatically applied to raw images for better colors and contrast.
  • Exposure controls: Tweak the image exposure either by using the sliders in the module or dragging the histogram around.
  • Demosaic: You have the choice between several demosaicing methods when editing raw files.
  • Highlight reconstruction: This module tries to reconstruct color information that is usually clipped due to information not being complete in all channels.
  • White balance: A module offering three ways to set the white balance. You can set tint and temperature or you define the value of each channel. The module offers predefined white balance settings as well. Or just pick a neutral region in the image to balance for that.
  • Invert: A module inverting colors based on the color of film material.

Tone image operations:

  • Fill light: This module allows the local modification of the exposure based on pixel lightness.
  • Levels: This module offers the well-known levels adjustment tools to set black, grey and white points.
  • Tone curve: This module is a classical tool in digital photography. You can change the lightness by dragging the line up or down. darktable lets you separately control the L, a and b channel. Read in Ulrich's blog post how to make use of this feature.
  • Zone system: This module changes the lightness of your image. It is based on the Ansel Adams system. It allows to modify the lightness of a zone taking into account the effect on the adjacent zones. It divides the lightness in a user-defined number of zones.
  • Local contrast: This module can be used to boost details in the image.
  • Two different tone mapping modules: These modules allow to recreate some contrast for HDR images.

Color image operations:

  • Velvia: The velvia module enhances the saturation in the image; it increases saturation on lower saturated pixels more than on high saturated pixels.
  • Channel mixer: This module is a powerful tool to manage channels. As entry, it manipulates red, green and blue channels. As output, it uses red, green, blue or grey or hue, saturation, lightness.
  • Color contrast
  • Color correction: This module can be used to modify the global saturation or to give a tint. Read Johannes' blog post.
  • Monochrome: This module is a quick way to convert an image to black and white. You can simulate a color filter in order to modify your conversion. The filter can be changed in size and color center.
  • Color zones: This module allows to selectively modify the colors in your image. It is highly versatile and allows every transformation possible in the LCh colorspace.
  • Color balance: Use lift/gamma/gain to change highlights, midtones and shadows.
  • Vibrance: For a detailed description read Henrik's blog post.
  • Color look up table: Apply styles or film emulations. You can also easily edit the changes done. For more information you can read this blog post
  • Input/output/display color profile management
  • A useful feature that displays pixels outside the dynamic range.

Correction modules:

  • Dithering: This helps with banding in smooth gradients in the final image.
  • Sharpen: This is a standard UnSharp Mask tool for sharpening the details of an image.
  • Equalizer: This versatile module can be used to achieve a variety of effects, such as bloom, denoising, and local contrast enhancement. It works in the wavelet domain, and parameters can be tuned for each frequency band separately.
  • Denoise (non-local means): Denoising with separated color / brightness smoothing.
  • Defringe: Remove color fringes on high contrast edges.
  • Haze removal: This module allows to remove the low contrast and color tint coming from haze and air pollution.
  • Denoise (bilateral filter): Another denoising module.
  • Liquify: Push image parts around, grow them, shrink them. More information can be found in this blog post
  • Perspective correction: A great module to automatically un-distort shots with straight lines. See our blog post for an introduction and examples.
  • Lens correction: lens defect correction using lensfun.
  • Spot removal: Spot removal allows you to correct a zone in your image by using another zone as model.
  • Profiled denoise: By measuring the typical noise of cameras at the different ISO levels darktable is able to remove a lot of it. Read this blog post for more information.
  • Raw denoise: Raw denoise allows you to perfom denoising on pre-demosaic data. It is ported from dcraw.
  • Hot pixels: This module allows you to visualize and correct stuck and hot pixels.
  • Chromatic aberrations: This module automatically detects and corrects chromatic aberrations.

Effects/artistic image postprocessing:

  • Watermark: The watermark module provides a way to render a vector-based overlay onto your image. Watermarks are standard SVG documents and can be designed using Inkscape. The SVG processor of darktable also substitutes strings within the SVG document which gives the opportunity to include image-dependent information in the watermark such as aperture, exposure time and other metadata.
  • Framing: This module allows you to add an artistic frame around an image.
  • Split toning: Original split toning method creates a two color linear toning effect where the shadows and highlights are represented by two different colors. darktable split toning module is more complex and offers more parameters to tweak the result.
  • Vignetting: This module is an artistic feature which creates vignetting (modification of the brightness/saturation at the borders).
  • Soften: This module is an artistic feature that creates the Orton effect also commonly known as softening the image. Michael Orton achieved such result on slide film by using 2 exposures of the same scene: one well exposed and one overexposed; then he used a technique to blend those into a final image where the overexposed image was blurred.
  • Grain: This module is an artistic feature which simulates the grain of a film.
  • Highpass: This module acts as highpass filter.
  • Lowpass: This module acts as lowpass filter. One use case is described in Ulrich's blog post.
  • Lowlight vision: Low light module allows to simulate human lowlight vision, thus providing the ability to make lowlight pictures look closer to reality. It can also be used to perform a day to night conversion.
  • Bloom: This module boost highlights and softly blooms them over the image.
  • Color mapping: Transfer colors from one image to another.
  • Colorize
  • Graduated density: This module aims at simulating a neutral density filter, in order to correct exposure and color in a progressive manner.

What's New

The following is a summary of the main features added to darktable
5.2. Please see the user manual for more details of the individual
changes (where available).

  • View snapshots side-by-side with the current image, instead of as a partial overlay, by clicking the button next to "take snapshot". The center viewport is divided in two equal panels and can be zoomed and panned (by dragging while holding the "a" key) as before. The dividing line can not be moved and any click without "a" rotates the layout.
  • The metadata module is now fully configurable and allows to add and maintain any tags which are supported by exiv2.
  • Added a new module "raster mask import". After setting up a root folder containing PFM files, a file can be selected to be used as a raster mask, it is scaled to full image size. You can also define what combination of the RGB channels of that PFM file will be used for the raster mask.
  • Sigmoid module is now the default tone-mapper selected for new installation.
  • The export module has got a new section multi-preset export which allows to export the selected images with multiple presets in one single export run.

UI/UX Improvements

  • Replaced the zoom range widget, which controls the number of thumbnails displayed on the thumbnail table, with a spin button. This makes it easier to set the exact value.
  • In the 4 ways tab in Color Balance RGB, ctrl+click now picks the actual color while regular click continues to pick the opposite color. This gives users more flexibility and control when selecting hues.

Performance Improvements

  • Eliminated unnecessary GUI refreshes.
  • Improved user interface responsiveness for blending operations.

Other Changes

  • Removed the levels and contrast brightness saturation modules (which were deprecated in 2023) from the deprecated modules group. Since this group would be empty after that, it has also been removed for now.
  • Due to an upstream issue, exporting JPEG XL in 16-bit float at quality 100 is not currently mathematically lossless.
  • Allow reading of files in Cineon format (developed by Kodak) and DPX format (developed by SMPTE) with .cin and .dpx file extensions.
  • The "prefer performance over quality" preference setting has been removed.
  • A workaround for old broken AMD OpenCL drivers that has been in place for 12 years has been disabled by default. Hopefully more recent drivers don't need it anymore and it caused problems with the translation of the user interface during startup, causing part of it to appear in English. If you have problems with OpenCL that you believe may be caused by this change, please do two things:
  • Add the line opencl_force_c_locale=anything to your ~/.config/darktable/darktablerc file.
  • If that solves your problem, please report the issue to GiHhub PR #18342, including information on the make of your GPU and the version of your drivers. We can then for the next release either by default re-enable the workaround for drivers that need them, or warn people with antiquated drivers that they need to update.
  • Presets can now be arranged in sub menus, like styles can, by inserting | in their name between levels. The shortcuts dialog/preferences tab now show these collapsible hierarchies for styles and presets too (and the bug that style shortcuts were not translated is fixed).
  • Give a hint for pending background work when darktable is closing.
  • Improved rendering output of Denoise Profile, Dither and Astrophoto Denoise on second window or in high quality processing mode.
  • Hide "reduce resolution of preview image" preference setting. This was a way to get better responsiveness on slow systems introduced in 2020, but at the same time it was making the color picker and mask support inaccurate (quality loss).
  • Improved quality of inpaint opposed highlight recovery algorithm for sRAW images.
  • Reduced haze removal visible difference between exports and HQ darkroom processing.
  • For some images the algorithm fails to calculate correction parameters, this is reported via control log.
  • Lens info is now read from OM-System/Olympus image files taken with lenses without electronic data if this info is entered in the camera lens info settings dialog. The lens correction module will automatically find the lens, if it is supported by lensfun and the
  • entered name matches the lensfun name, which can be seen in the lens selection drop down list.
  • Raster masks got internal improvements and now support the same refinement tools as all other masks including details threshold, feathering guide and radius, blurring radius and contrast. Some UI refinements for raster-masks.
  • The highlights module offers a raster mask with information about level above clip level.
  • Changing orientation (via the flip module) respects changes done in crop module.
  • The shown dimension while cropping now matches the default export dimension and keeps the exact chosen ratio.
  • In the history module item tooltip, fixed the formatting and scaling of the changes to match the values as seen in the modules themselves.
  • Added auto login to the piwigo export module. This can be enabled in the security section of the preferences.
  • Add 45x35 aspect ratio to the crop module, which is popular on IDs and passports.
  • Color assessment conditions: Changed total border width to relative scaling which should work well on small and big screens, independent of physical screen resolution, added pop-up window for parameterization and removed ISO12464 reference.
  • Improved visibility of masks in darkroom. This is controlled by the new hidden "darkroom/ui/develop_mask_mix" configuration option.
  • Add a new setting to change which images are taken into account for actions: By default, the image under the cursor takes priority. With this parameter enabled, the selected images will take priority, and the image under the cursor will only be taken into account to feed the information modules.
  • Added a tag icon on thumbnails to display the list of attached tags when hovering over it.
  • In the map view, it is possible to pan the entire track in one of the following ways: by double-clicking on the track segment list, by left-clicking on the list header, or by shortcut option.

Bug Fixes

  • Fixed sidecar writing if quitting from darkroom.
  • Fixed some rare race conditions while processing the pixelpipes.
  • Fixed collection filter presets based on capture time creating an
  • empty widget.
  • Proper high quality demosaicing and details blending support for
  • second window.
  • Fixed a bug that allowed NULL pointer dereference in tethering mode
  • under certain conditions, which resulted in a crash.
  • Fixed darktable shutdown code so pending background jobs are properly finished
  • and give a control log if there is pending work.
  • Fixed a crash in the import dialog when trying to add a new place to
  • an empty places list.
  • Fixed bit-depth setting not saved in AVIF export presets.
  • Fixed reset button not working in the geotagging module. Also a
  • loaded GPX track in the geotagging module is now properly removed.
  • Fixed darktable-cli crashing if the darktable database is locked.
  • Fixed image not properly layout in the print module after being
  • rotated from Lighttable.
  • Fixed a bug where the changes in various edit fields are not saved
  • correctly when the field loses the input focus.
  • Fixed incorrect reporting of whether a flash was fired in expansion
  • variables $(EXIF.FLASH.ICON) and $(EXIF.FLASH) under certain
  • conditions.
  • Fixed the edit style dialog to show all module's duplicates. Also,
  • when creating a new style we don't show the whole history but only
  • the last version of each module.
  • Fixed a bug in xtrans demosaicers that could feed NaNs into the
  • pixelpipe.
  • Fixed display of image using a composite module when the modules are
  • reordered.
  • Many TIFF loader fixes and improvements:
  • Fixed crash on files for which libtiff would issue warnings or errors
  • Fixed crash on files with missing SAMPLESPERPIXEL tag
  • Enabled CMYK TIFF support
  • Added support for loading TIFF with missing/undefined sample format
  • Fixed reading of grayscale images with min-is-white interpretation
  • (made them not inverted)
  • Fixed regression in support of many more exotic variations
  • of the TIFF format, such as tiled encoding, planar layout,
  • uncommon bit depths (such as 12 or 14 bits, or less than 8)