We stand with Ukraine to help keep people safe. Join us
EN
When you purchase through links on our site, we may earn an affiliate commission

Darktable for Mac

Edit digital negatives.

Free
In English
3.5
Based on 33 user rates

Darktable overview

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.

What's new in version 5.6.0

The Big Ones:
  • The following is a summary of the main features added to darktable 5.6. Please see the user manual for more details of the individual changes (where available).
  • Added optional AI subsystem (build with -DUSE_AI=ON ). AI features are disabled by default in preferences and can be enabled at runtime without restarting. When disabled, no ONNX Runtime libraries are loaded and no AI-related activity occurs. Models are downloaded from a configurable repository and managed through the AI preferences tab.
  • Added install scripts for Linux and Windows that set up GPU acceleration for the new AI features. The scripts detect the user’s GPU vendor (NVIDIA, AMD or Intel) and install the matching GPU runtime. They can be run from a local checkout or fetched and run online with a single command – see the GPU acceleration page in the user manual for details. macOS users and most Windows users do not need to run anything; GPU acceleration is already bundled.
  • Added AI object mask tool in the darkroom mask manager. Uses SAM2.1 or SegNext model for interactive object segmentation – click on an object to generate a precise mask. Supports both foreground and background prompt points with iterative refinement. The encoder runs once per image (GPU-accelerated via the AI backend when available), and the lightweight decoder produces masks interactively. Each click runs iterative refinement passes that tighten the mask, plus an optional DenseCRF refinement pass for clean, edge-aware boundaries. The generated mask can optionally be exported as a PNG for use with the external raster masks module when finer edge detail is needed than the vectorized mask provides.
  • Added neural restore module in the lighttable/darkroom sidebar covering three AI-based tasks: raw denoise, denoise, and upscale. Default models: NIND UNet (denoise), RawNIND UtNet2 (raw denoise), and RealPLKSR 2x/4x (super-resolution), all running on the ONNX backend. Additional models such as NAFNet (denoise) and BSRGAN (upscale) are available from the model repository and can be installed manually. Features include an interactive before/after split preview with area picker, a strength slider (DWT-based texture recovery for RGB denoise; linear source/denoised blend for raw denoise), batch processing with tiled inference, and automatic library re-import with image grouping and tag propagation from the source image. Raw denoise writes a DNG (CFA Bayer or LinearRaw); image denoise and upscale write a TIFF embedding the output ICC profile. GPU acceleration is inherited from the AI backend. If GPU inference fails (out of memory, unsupported operator, execution provider crash), darktable automatically retries on CPU.
  • Added colorharmonizer module that applies color harmony corrections in UCS color space, rotating hues toward a target harmony structure (complementary, split-complementary, triadic, tetradic, etc.). The saturation of target hues can be controlled, and custom-defined harmonies with an arbitrary number of anchor nodes at any angle are also supported. Options are provided to control the intensity of the effect, protect neutral colors, and apply a Gaussian filter to smooth harsh transitions. The module can be synced with the vectorscope in RYB mode, with harmony and rotation angles controllable directly from the vectorscope. Both CPU and OpenCL (GPU) implementations are provided.
  • Added support for HEIF export. User can choose lossless or lossy compression, all practically supported color depths (8/10/12 bit), all supported color subsampling options.
UI/UX Improvements:
  • In the crop module, the crop aspect ratio is added to the dimensions in the crop area preview.
  • Added the ability to pin any image from the filmstrip in the second darkroom window. Images can be pinned directly from the 2nd window, via drag&drop from the filmstrip and via keyboard shortcuts. Two new actions are the added:
  • Toggle pinned state for currently developed image
  • Pin current image in second view
  • Allow switching between point/area color picker directly on canvas with a simple Ctrl+Click.
  • When moving pictures from a collection we switch to the target collection only if we did not change manually to another collection during the move and the current collection is now empty.
  • When copying pictures from a collection we switch to the target collection only if we did not change manually to another collection during the copy.
  • In Color Calibration module the calibration box is now initialized on the current bounding box. That is, if a zoom is effective the calibration box will be fully visible and won’t require to zoom out.
  • Make the slider background darker to gain some contrast making them easier to differentiate from the other labels.
  • Introduce a condensed mode for the panel’s controls widgets. This mode is off by default and can be select in miscellaneous interface preference.
  • Added a 2-up scope showing both the waveform and vectorscope. This allows for a simultaneous understanding of both the lightness and chromaticity of an image.
  • Support rendering and caching higher resolution (6K or 8K) thumbnail or full-screen preview images in lighttable view. Previously, for displays larger than a 4K, darktable would render a full-resolution preview then downscale it. These higher resolution previews also allow for less jumpy zooming in of high megapixel files.
  • Increase the resolution of the darkroom view’s preview-resolution images from 720x450 to 1440x900. This produces better data for various situations, including in scopes and the color picker.
  • Use darktable icon in desktop environment when running under Wayland on a KDE-like system. Previously the window manager would use a generic icon.
  • Use server-side decorations (SSD) for windows when the user’s window manager is capable of this, to make window decorations consistent with other applications. If SSD is not implemented (Gnome/Mutter under Wayland), use client-side decorations (CSD).
  • Added a welcome screen to help users understand and set the most relevant configuration options on the first run.
  • Added touchpad gestures to darkroom and lighttable culling layouts, including pinch zooming and two-finger panning. Smartphone-like simultaneous pinch zooming and two-finger panning are now possible on Linux and Windows. Zooming gestures are limited to 100%, additionally pressing CTRL enables zooming up to 1600%. Caution: this disables the scroll gesture for zooming on MacOS on trackpad and magic mouse. To restore the former behaviour disable touchpad gestures in preferences dialog.
  • Enabled shortcuts for some existing buttons in duplicate manager, snapshots, and AgX modules.
  • Enabled shortcuts to cycle through module groups, modules and module instances.
  • Added a configuration option to toggle the filmstrip auto-center behavior. Enabled shortcuts to toggle filmstrip auto-centering and to explicitly recenter the filmstrip on the current image.
  • The radius calculated for capture sharpening is now using only the central 60% of the image as lenses are mostly sharper here. For xtrans sensors the radius has been slightly increased as images tend to be more blurred.
  • The tone equalizer now visualizes an invalid curve (solver maths) also for old edits.
  • Add --library command-line option to darktable-cli that allows specifying a library.db database file to read image processing history stacks from instead of requiring XMP sidecar files, for people who do not use XMP sidecar files.
  • Added display name to the available sort options for film rolls.
  • When creating a new workspace from the workspace dialog, settings can optionally be copied from an existing workspace as a template. The workspace-specific configuration is duplicated with paths, labels, collection history, and similar keys cleared so the new workspace keeps its own library database instead of reusing the source library. The workspace dialog allows selecting a workspace as the default for startup; if one is chosen as default, the dialog is not shown on the next launch until “allow for multiple workspaces” is enabled again in preferences (storage).
  • Use native mouse cursors throughout the UI. Cursors such as the busy spinner, hand, crosshair and resize handles now match the operating system’s look, most noticeably on macOS where the busy cursor previously appeared as an old-style wristwatch instead of the familiar spinning wheel.
  • Themes can now style expanded modules differently from collapsed ones, via a new dt_module_expanded CSS class.
Performance Improvements:
  • Increased performance for OpenCL guided filter by internal tiling.
  • Increased performance of blurs module for both CPU and OpenCL code paths for large radii, which made it possible to increase Gaussian blur’s maximum radius from 128px to 256px.
  • Increased performance of overlay (composite) module and added OpenCL code path.
  • Avoid superfluous pixelpipe runs for faster darkroom processing and when selecting history entries.
  • Improvements to mask distort efficiency via incremental caching and reduced malloc/free cycles.
Other Changes:
  • Added 2 apertures, f/0.95 and f/1.2, to the aperture section of the presets dialogue.
  • Added Canon Automatic Lighting Optimizer support for CR3-format images.
  • Added PNG support (8/16-bit) for external raster masks.
  • Removed
  • Neo
  • Intel and
  • pocl
  • OpenCL drivers from blacklist, the
  • AMD-APP
  • driver has been added as not supported by AMD for 10yrs.
  • RustiCL is the preferred OpenCL driver instead ROCm on AMD systems.
  • In the styles module, a new option has been added to hide the preview in the tooltip. Additionally, a module preference now allows you to change the preview size, with two options available: default and large.
  • Improved debugging option –dump-diff-pipe for those of you interested in OpenCL code and debugging.
  • Added the possibility to vectorize the bitmap displayed in the External Raster Mask module. The vectorized mask is added into the Mask Manager module as a path object ready to be used as any other masks.
  • Remove the (unbound by default) keyboard shortcut to cycle through each histogram mode, and within each mode to cycle through its options. This was a relic of when there were fewer scopes and they were not accessible by shortcuts.
  • Increased the limit on the number of offset days in geotagging module to correct an incorrect camera timestamps from 99 to 9999 days.
  • Added a new collection filter for image duplicates.
  • The masks in restricted edit mode are now displayed on-canvas as dashed lines to ensure proper feedback.
Several improvements to AgX:
  • Default hue preservation is now 60% in most presets, reducing strong hue shifts in bright highlights.
  • Default contrast has been increased and toe/shoulder power tuned to more closely match sigmoid’s defaults.
  • Added sigmoid-like presets that closely match sigmoid’s tone curve.
  • Removed the punchy presets (except for the blender-like variant, whose parameters still follow Blender’s settings).
  • Improved the toe/shoulder warning tooltips for clarity.
  • The scene-referred preset is no longer applied exclusively to HDR images.
  • Primaries selection is now visible even when “disable adjustments” is checked.
  • For non-raw images with gamma corrected data we do the initial scaling in linear mode for less artifacts.
  • Added a new option to filter images by capture month in collections and collection filters.
  • Exif tags which are added to the metadata editor are now read from the image file on import. For already imported images this can be performed by an Exif refresh.
  • The active preset name is now displayed in the header of suitable library modules (import, export). This can be turned off in the “miscellaneous” section in the preferences (“automatically update module name”).
  • A new log history viewer has been added to the bottom toolbar, providing a persistent record of all dt_control_log messages (e.g., export progress, library updates, warnings). Click the speech-bubble icon in the center-bottom-right area to open a scrollable popover showing all logged messages with timestamps, automatically deduplicating consecutive identical entries.
  • The OpenCL preferences interface and the internal handling and detection of OpenCL devices and drivers got an overhaul. Users can switch on “OpenCL fast mode” in preferences leading to slightly more differences compared to CPU output for sligtly more performance. The per-device conf settings got an update, see the docs for reference. Support of atomic OpenCL code and OpenCL 3.x is autodetected.
  • Added two HTJ2K compression options to EXR export. Since they are supported starting with libopenexr 3.4, these options will only be present in darktable if it is linked against a library version 3.4 or later.
Bug Fixes:
  • Properly apply the iop-order when applying a style at export time. This also fixes the style preview when flying over styles in the style module.
Drawn mask fixes:
  • Masks do not shift position when crop is toggled on/off.
  • Pixel-perfect node hovering and editing up to maximum (16x) magnification.
  • Fix Bezier handle misassignment in vectorized masks causing distorted curves on complex shapes (AI object masks and external raster masks).
  • If a tag category is marked as private, all tags and subcategories under it are also treated as private.
  • Fix occasional geolocation assignment errors in darktable’s locations module involving polygon-shaped locations
  • Prefetch correctly sized thumbnails when user has display scaling enabled.
  • Honor the default configuration preference “never” for “use raw instead of jpeg from size”: for unaltered images, always generate thumbnails/previews from embedded JPEGs rather than processing the raw file. If you prefer the prior behavior, which processed the raw file rather than upscale the embedded JPEG for higher resolution thumbnails/previews, use the new configuration option “auto”.
  • In Quick Access Panel, “go to full version…” now reliably scrolls to the correct module.
  • In filmstrip, keyboard shortcuts for rating/color labels/reject now apply to the thumbnail under the cursor (including overlay elements) instead of the currently opened image.
  • Fix for usage of incorrect color profiles on secondary monitors on Windows.
  • Various fixes for visibly wrong colors after chaning a profile in colorin or colorout.
  • Fixed unexpected localization of user’s defined preset name and properly localize the module name displayed in the preset dialog.
  • Fixed a possible transient display of the crawler dialog while the splash screen is active.
  • Fixed improper mask mode displayed in the mask manager menu.
  • Fixed an issue where while creating a mask from mask manager and still in creation mode the mask was not following the mouse when moving over the darkroom. It was then not possible to place the mask at the right position.
  • Fixed an issue of style migration. A style created before a new module is introduced and integrating a specific module order was not properly handled. We now properly migrate the embedded module order to ensure all modules are described.
  • Fixed an occasional bug that dragging exposure change regions in histogram, waveform, or RGB parade scopes would adjust in the opposite of the expected direction. This occurred when the user had not yet selected a module group containing the exposure module.
  • Fixed a bug which showed an extraneous toast message in the center view when dragging in the vectorscope.
  • Fixed a wrong WB when reloading defaults after changing manually the WB. This was due to a missing reset letting the Color Calibration module starting with a wrong WB.
  • Avoid speckles when creating drawn masks using the vectorize option in the Raster File module.
  • Fixed spurious export size is reduced because of memory restrictions issue.
  • Fixed darktable on startup failing to delete left over database lockfiles for non default workspaces.
  • Fixed a rare bug which appeared when scale-pixels module was moved above the tone-mapper while applying a shift in “rotate and perspective” module.
  • Fixed white and middle-grey patches being swapped for Datacolor SpyderCheckr 48 in the Color Calibration module.
  • Fixed tone curve masks affecting areas outside of a drawn mask.
  • Fixed subtle errors in Markesteijn and VNG demosaicers.
  • All RAW space modules including demosaic allow positioning of main darkroom window with a precision of one pixel.
  • When all midi devices are disabled portmidi won’t be initialized.
  • Fixed a bug that lead to ignored or stuck shortcuts
  • Various stability fixes for OpenCL and CPU pixelpipe processing. Less differences between CPU and OpenCL processing.
  • Ensure that the counter used to disable GUI loop is handled atomically. In some very rare cases the GUI could freeze due to unbalanced setting of the counter.
  • Fixed collection range selection not working if the collection is in descending sort order.
  • Fix use-after-free bug in tagging code which caused an instant crash
  • Fixed scroll direction in rotate and perspective module: scrolling up/down now increases/decreases the selection circle size, matching how resizing drawn masks works.

Lua:

API Version:
  • API version is now 9.7.0
New Features:
  • The lua-scripts are now included in the darktable release, making them available for all users. If the lua-scripts are already installed, they will be used instead of the included ones. The luarc file in the user configuration directory is no longer required, but it can still be used for special requirements.
  • If the user does not want the scripts, then can be disabled in the Lua options section of the preferences.
  • Lua now has a global variable, darktable_gui_safe, that gets set when it is safe to install a lib. This is needed because of a startup race condition that indicates the view is lighttable before it is initialized.
  • Image metadata fields added using the Metadata Editor module are accessible as a dt_lua_image_t field with the same name as the title assigned in Metadata Editor. Trying to access a dt_lua_image_t metadata field that does not exist is a fatal error. The added metadata field is populated when the image is imported or with the image exif data is refreshed.
  • darktable.metadata.exists() has been added to the API to check if the dt_lua_image_t metadata field exists before trying to access it.
  • Added Lua AI API (
  • darktable.ai
  • ) for scripting AI model inference. Provides tensor creation and model loading with GPU provider selection. Image I/O covers loading from a file or directly from the darktable library (with the full edit pipeline applied), raw CFA sensor data access, and DNG output with EXIF preservation. Enables custom AI workflows beyond the built-in modules – e.g. classification or experimental denoise/upscale models from community repositories.
Bug Fixes:
  • force cache write after mipmap generation
New Scripts:
  • contrib/select_non_existing - adds a button to the selection module to select images in the lighttable that dont have corresponding files on disk
  • contrib/selected_image_visible - adds a shortcut and an action button to make the currently selected image in lighttable visible.
  • contrib/toggle_group_view - add a shortcut and an action button to toggle between a group selected in lighttable and a view containing only the grouped images with the group expanded.
  • official/use_paired_jpg_as_mipmap - for images that don’t have a full size embedded JPG preview the JPG from a RAW+JPG pair can be copied to the mipmap cache and used as the full resolution mipmap to speed up cache generation. This is useful for Canon EOS R series cameras that don’t embed full size previews.
  • official/select_duplicates - add a shortcut and a selection button to select duplicate images
  • official/recent_bookmarks - add recently edited images to the system recently used files for quick access
  • official/select_raw_non_raw - add selection buttons to select raw or non-raw images from the lighttable
  • official/scheduler - a simple FIFO scheduler for cooperative multitasking
  • official/group_persistence - add functional tags containing group information to image groups so that they can be rebuilt if the database is lost.
  • official/select_unaltered - add a selection button to select images that have been imported but not opened in darkroom.
  • official/selection2collection - create a temporary collection from a selection. The collection is automatically forgotten when darktable exits. The user may change this in the Lua options preferences.
  • official/extract_burst_roll_images - add a selection button to select Canon burst roll images and an action button to extract the embedded images and group them with the burst roll image. Requires dnglab.
  • official/auto_straighten - automatically straighten an image loaded into darkroom using them embedded pitch and roll data. Requires exiftool
  • examples/ai_denoise - an example script demonstrating how to use the new Lua AI API to denoise a non-raw image
  • examples/ai_raw_denoise - an example script demonstrating how to use the new Lua AI API to denoise a raw image.

Full list of changes available here

View older Darktable versions

Darktable for Mac

Free
In English
Version 5.6.0
Write a detailed review about Darktable
3.5

(37 Reviews of Darktable)

  • Comments

  • User Ratings

riegelstamm
riegelstamm
Jun 15, 2026
5.4.1
1.0
Jun 15, 2026
1.0
Version: 5.4.1
Doesn't support Apple ProRAW DNGs
Dev Creator
Dev Creator
Feb 8, 2026
5.4.1
0.0
Feb 8, 2026
0.0
Version: 5.4.1
great
Holypoly
Holypoly
Feb 12, 2025
5.0.1
0.0
Feb 12, 2025
0.0
Version: 5.0.1
Version 5.x requires MacOS 13.5 as a minimum. MacUpdate people - please update 🙂
Naoh
Naoh
Jul 6, 2022
3.8.1
0.0
Jul 6, 2022
0.0
Version: 3.8.1
The current version on the Darktable website is version 4.0.0
Bill-601
Bill-601
Oct 18, 2021
3.6.1.5
0.0
Oct 18, 2021
0.0
Version: 3.6.1.5
I really wanted to give it a chance, but it exits every time I just click the Darkroom tab.
riegelstamm
riegelstamm
Jun 15, 2026
5.4.1
1.0
Jun 15, 2026
1.0
Version: 5.4.1
anonymous-nightingale-2470128
anonymous-nightingale-2470128
May 10, 2025
5.0.1
5.0
May 10, 2025
5.0
Version: 5.0.1
anonymous-bison-2625035
anonymous-bison-2625035
Jul 26, 2024
4.8.1
5.0
Jul 26, 2024
5.0
Version: 4.8.1
makareim
makareim
Dec 24, 2023
4.6.0
5.0
Dec 24, 2023
5.0
Version: 4.6.0
firewall00110-1
firewall00110-1
Jun 16, 2022
3.8.1
3.0
Jun 16, 2022
3.0
Version: 3.8.1
firewall00110
firewall00110
Dec 26, 2021
3.8.0
1.0
Dec 26, 2021
1.0
Version: 3.8.0
WetNet
WetNet
Nov 5, 2020
1.0
Nov 5, 2020
1.0
Version: null
oznamjm
oznamjm
Jun 21, 2020
2.0
Jun 21, 2020
2.0
Version: null
dvsrl2007
dvsrl2007
Apr 17, 2020
1.0
Apr 17, 2020
1.0
Version: null
rileyjunksites
rileyjunksites
Jul 31, 2019
0.5
Jul 31, 2019
0.5
Version: null
cubanpete
cubanpete
Jul 11, 2019
5.0
Jul 11, 2019
5.0
Version: null
Eric•Woehler
Eric•Woehler
May 31, 2019
0.5
May 31, 2019
0.5
Version: null
Ervins Strauhmanis
Ervins Strauhmanis
Apr 14, 2018
5.0
Apr 14, 2018
5.0
Version: null
Leon-Azul
Leon-Azul
Apr 9, 2017
4.5
Apr 9, 2017
4.5
Version: null
MohnMohn
MohnMohn
Feb 1, 2017
5.0
Feb 1, 2017
5.0
Version: null
Zx81
Zx81
Dec 30, 2016
5.0
Dec 30, 2016
5.0
Version: null
Thе-Wаll
Thе-Wаll
Dec 29, 2016
1.5
Dec 29, 2016
1.5
Version: null
Visible-Evidence
Visible-Evidence
Nov 22, 2016
2.0
Nov 22, 2016
2.0
Version: null
Afmac
Afmac
Feb 17, 2016
0.5
Feb 17, 2016
0.5
Version: null
SmurfTurf
SmurfTurf
Feb 4, 2016
5.0
Feb 4, 2016
5.0
Version: null
MikeChip
MikeChip
Jan 26, 2016
5.0
Jan 26, 2016
5.0
Version: null
RougeCheese12
RougeCheese12
Aug 2, 2015
5.0
Aug 2, 2015
5.0
Version: null
Prologos
Prologos
Dec 15, 2014
4.0
Dec 15, 2014
4.0
Version: null
Tom-Fulery
Tom-Fulery
Nov 26, 2014
4.0
Nov 26, 2014
4.0
Version: null
Tschigg
Tschigg
Apr 26, 2014
5.0
Apr 26, 2014
5.0
Version: null
anonymous-pig-176437
anonymous-pig-176437
Apr 8, 2014
5.0
Apr 8, 2014
5.0
Version: null
Bill-Johnson
Bill-Johnson
Mar 17, 2014
4.0
Mar 17, 2014
4.0
Version: null
Leinad
Leinad
Jan 4, 2014
4.0
Jan 4, 2014
4.0
Version: null
Coolapic
Coolapic
Aug 8, 2013
4.5
Aug 8, 2013
4.5
Version: null
B-Jefferson-Le-Blanc
B-Jefferson-Le-Blanc
Apr 2, 2013
3.5
Apr 2, 2013
3.5
Version: null
Ythara
Ythara
Nov 3, 2012
3.0
Nov 3, 2012
3.0
Version: null
sosufo07
sosufo07
Oct 19, 2012
4.5
Oct 19, 2012
4.5
Version: null
Macfoto
Macfoto
Sep 16, 2012
4.0
Sep 16, 2012
4.0
Version: null