Users new to darktable who have experience with other raw developers may have trouble figuring out how to do various tasks as a result of different names or workflows in darktable compared to their previous software. The following entries are a quick reference to help you accomplish what you want to do.
Have a tip not covered here? Share it in the comments!
How do I…
run darktable in ‘simple’ or ‘beginner’ mode
The large number of processing modules and many different ways of accomplishing the same goal often leaves first-time users feeling overwhelmed. You can manage this feeling by not trying to use every single option right from the beginning, but focusing on a few key controls and slowly learning the rest as you discover that you need them.
The Quick Access Panel contains the most-used sliders and controls other than cropping, so a suggested strategy to ease yourself into darktable is to limit yourself to the QAP and the crop](https://darktable.org/usermanual/en/module-reference/processing-modules/crop/) module while editing until you feel comfortable with them, then gradually explore other modules (many of which are quite specialized) and additional controls from the modules on the QAP which are not displayed in the panel.
start editing an image
darktable uses a database to manage your images, including allowing you to select which images to view/edit based on any combination of criteria such as directory, camera model, focal length, date taken, and tags or star ratings you have applied. This means that you need to first tell darktable about the files it should manage by importing them so that they are added to the database. Importing with “add to library” does not make copies of your files, it only stores information about them.
You can import images using the import module after starting darktable or by specifying the image(s) on darktable’s command line. Your file manager may have been set up to call darktable with the filename on its commandline when clicking on a RAW image file; if not, you can probably use an “open with” command to give the filename to darktable.
Once you have some images in darktable’s database, you can start editing one by double-clicking on its thumbnail in lighttable view, which will open it in darkroom view, ready for editing. If darktable was called with a single filename on the command line, it will open that image directly in the darkroom.
remove all of the automatically-applied edits
Most of the automatically-applied edits you see in the darkroom view when opening an image are required to display your raw file at all. Other software applies equivalent edits, but doesn’t tell you about it.
Operations shown with a dot-inside-a-circle can not be turned off, because without them there is no image (a raw file is just a pile of sensor readings).
Others which show with the usual power-button icon can be turned off, but are needed to have a useful image display. Automatic addition of the color calibration and filmic rgb or sigmoid modules can be disabled by adjusting the auto-applied workflow defaults in the processing tab of the global preferences dialog.
make images look like out-of-camera JPEGs
By default, darktable displays your raw images with minimal processing - just enough to get a displayable image (for unedited images, the lighttable thumbnail can be the embedded preview JPEG generated by the camera using the manufacturer’s own algorithms). Because the camera’s internal processing generally adds substantial contrast and saturation along with a midtone brightening of typically about 1 EV, this makes darktable’s default processing look dark, flat, and drab in comparison.
As of version 5.0, darktable ships with custom styles to make images from most supported camera models look more like the camera manufacturer’s processing, by adding the brightening, contrast, and saturation boost. You can apply these manually or have them applied automatically on import.
For automatic application, install and activate the “apply_camera_style” Lua script in the script installer. You can also use this script to apply the appropriate style to a selection of images which have already been imported.
For manual application, open the styles module and navigate to the “darktable camera styles” entry in the list of styles. Expand this entry to show camera manufacturers, then expand the appropriate manufacturer to access its models. Note that applying a different model’s style to your camera’s images is unlikely to make them look like JPEGs from the other model, but may still yield interesting results.
pan/zoom the image
In darkroom view, you can zoom by
-
scrolling while the mouse pointer is on the central image but not on any on-image controls or shapes (to zoom instead of adjusting a control/shape, hold down the ‘a’ key while scrolling)
-
selecting a zoom factor from the pulldown menu at bottom right of the small navigation window which shows the portion of the full image displayed in the center view
-
using keyboard shortcuts: Alt-1 to switch to 100% (200% if already at 100%), Alt-2 to switch to “fill” (fills center view, may crop off ends along one axis), or Alt-3 to switch to “fit” (shows entire image, may leave unused gray areas in center view). You can adjust the zoom factor in steps of 1.1x with Ctrl-Minus and Ctrl-Plus (Ctrl-Shift-=) on the main portion of your keyboard (the keypad keys are not mapped by default).
You can pan a zoomed image by
-
dragging the center image with the mouse (hold down the ‘a’ key to pan the image rather than dragging on-image controls)
-
dragging the highlighted box on the navigation thumbnail at the top of the left side panel
-
using arrow keys (note: if a slider is currently selected, the arrow keys will adjust the slider rather than panning the image)
navigate among images in darkroom view
undo edits or other changes
Most actions done in lightable view can be reversed with the standard Ctrl-Z shortcut key and reapplied with Ctrl-Y.
In darkroom view, you can either use Ctrl-Z to undo actions one step at a time, or you can click on an item in the history stack module to reset the edit state to what it was when that item was added to the stack. You can freely jump between different positions in the history as long as you do not change settings in any of the processing modules. Note that changing settings while displaying a history position other than the topmost (last) one will discard any changes above that point and add your change to the displayed edit.
save my edit
You never need to manually save the state of the edit you are making to an image – darktable automatically stores the sequence of module changes you make to its database and to the image’s sidecar file (same name as the image but with an added extension .xmp).
However, these saved changes are merely the “recipe” which lets darktable recreate your edit, so an edited photo is only viewable in its edited state inside darktable until you create a new image with the edits “baked in” by exporting the image.
batch edit photos
To apply the same edit to multiple photos, you can
-
use a style
-
edit one photo and then copy and paste the edits onto others. In darkroom view, you will need to use keyboard shortcuts to access copy (Ctrl-C) or selective copy (Ctrl-Shift-C) and paste (Ctrl-V) functions; in lighttable, they are also available in the history stack module.
-
in darkroom view, use the Ctrl-X shortcut key to copy the settings of the module in which you last made changes to all selected images (new in 5.0)
See also the tutorial.
make a virtual copy of an image
make adjustment layers
The darktable pixelpipe is effectively equivalent to a stack of adjustment layers, and the right-hand active modules display can be treated very much like a Layers window/pane in pixel editors. You start with a base image at the bottom, and then each successive module takes its input from below, makes some modification (if enabled), and passes the result to the module above it - just like in a Layers tool, where making a particular layer invisible is just turning off its effects. As with adjustment layers, reordering modules will change the overall effect of the processing.
By enabling a module, or by duplicating one, you have just added an adjustment layer to your processing. Just like layers, (almost) any processing module in darktable can be masked.
apply a preset
What other programs call presets, darktable calls styles.
In darktable, a preset is a particular configuration of a single module, which may be accessed by clicking on the hamburger icon at the right of the module’s header.
A style is a collection of presets for one or more modules which can be applied to one or more images at once. You can apply styles in lighttable view with the styles module, or in darkroom view by clicking on the styles quick access button just below the bottom left corner of the image.
adjust white balance
adjust hue/saturation/lightness (HSL)
To adjust the hue, saturation, and/or lightness of pixels based on their original colors, use the color equalizer module.
To adjust the hue, saturation, and/or lightness of pixels based on their saturation or lightness, use the color zones module.
crop/straighten an image
To straighten an image, right-click on your image and drag along a line which should be horizontal or vertical, then release the mouse button. darktable will then rotate your image to make the line along which you dragged exactly horizontal or vertical. You can also use the rotation slider in the rotate and perspective module, which is shown in the Quick Access Panel by default.
To rotate the image by multiples of 90 degrees, use the orientation module.
To crop an image, open the crop module and drag the edges/corners of the crop box drawn on your image.
adjust contrast/brightness/saturation
To adjust contrast, you can use
-
the contrast slider in either filmic rgb’s look tab or sigmoid (on the Quick Access Panel by default when workflow is set to either of the “scene-referred” options in preferences).
-
the contrast slider in color balance rgb, adjusting the contrast gray fulcrum slider on the masks tab to control the center point of the contrast.
-
the contrast equalizer module for more localized contrast.
-
the local contrast module for very localized contrast enhancement, also known as “clarity” (on the Quick Access Panel by default).
To adjust brightness, you can use
-
the exposure module for linear adjustment
-
the brilliance grading sliders in color balance rgb for perceptual brightness adjustments (the “global brilliance” slider is on the Quick Access Panel by default).
To adjust saturation, you can use
-
the global vibrance, chroma grading, or saturation grading sliders in color balance rgb (on the Quick Access Panel by default).
-
the velvia module
adjust shadows/highlights
To open shadows or improve details in highlights, use the tone equalizer.
On its masking tab, click the two magic wands, and fine-tune the mask brightness with the mask exposure compensation and mask contrast compensation sliders. Then move your mouse over areas of the image you want to adjust and scroll to brighten or darken areas of the image with that brightness.
make fine/exact adjustments to a control
darktable has multiple ways to adjust a slider:
-
click on a position on the slider to set it to the corresponding value
-
scroll while on the slider; use Shift-Scroll for larger (usually 10x) increments and Ctrl-Scroll for finer (usually 0.1x) increments
-
use the arrow keys while the slider is selected; Shift-Arrow for larger increments and Ctrl-Arrow for smaller increments
-
right-click for a popup; you can either enter an exact numeric value by typing it or adjust the value by sliding your mouse left or right to “wag the tail”. The higher up the mouse pointer is, the more quickly the values will be adjusted; for the finest adjustments, move the mouse pointer along the bottom edge.
make more extreme adjustments
Most sliders in darktable have both soft and hard limits. The soft limit is the range displayed by default (e.g. -3 to +4 EV adjustment in the exposure module). The hard limit is the maximum which darktable actually supports, but which is usually too extreme and results in insufficiently precise control using the slider (e.g. -18 to +18 EV adjustment for exposure, which is an amount only useful for merged HDR sequences). You can override the soft limits by
- holding Ctrl+Shift while dragging the slider or using arrow keys
- scrolling while in the left-most or right-most 10% of the slider
- right-clicking on the slider and typing in the desired value
In cases where there is no separate hard limit, or the hard limit is still too small, you can usually strengthen whichever effect is not enough by adding a second (third, etc.) instance of the module.
add clarity
What other programs call clarity is an adjustment of local contrast. You can do this in darktable
-
with the local contrast module (on the Quick Access Panel by default)
-
by starting with the “clarity” preset in the contrast equalizer module (quite strong)
-
by starting with one of the “local contrast” presets in the diffuse and sharpen module (generally very subtle).
apply Camera Calibration settings
make a luminosity mask
Since a luminosity masks adjusts the strength of an effect by the brightness of each pixel, you can accomplish this by creating a parametric mask for the effect and adjusting the “g” (gray) or L/Jz (luminance/lightness) channel controls.
-
For a mask targeting highlights, move the upper left triangle all the way to the right;
-
for a mask targeting shadows, move the upper right triangle all the way to the left.
-
A midtone mask can be created by moving both upper triangles to the middle; to match other software, you may need to reduce the opacity slider to around 50%.
The gray channel will provide a scene-linear ramp, while the L and Jz channels produce a perceptually linear ramp.
apply a split-toning effect
Use the color balance rgb module and adjust the hue/chroma sliders for “shadows lift” and “highlights gain” on the “4 ways” tab.
-
The hue and chroma sliders for “shadows lift” control the color and intensity of the toning in dark areas of the image, while the sliders for “highlights gain” control the color and intensity of the toning in light areas.
-
The “mask middle-gray fulcrum” together with the two “fall-off” sliders on the “masks” tab controls which luminance values are considered shadows and highlights.
There is also a legacy split-toning module for use with monochrome images.
add text to an image
Use the watermark module with one of the text markers, i.e. “simple-text”, “simple-text-shadow”, or “fixed-size-text”.
You can add multi-line text with a single instance of the module by inserting “$(NL)” where the text should wrap to the next line. Other variables can also be inserted and will be replaced by their current values whenever the image is processed. The lede image for this post shows an example of multi-line text using the watermark module.
combine multiple images
To combine multiple images, such as creating a mosaic or inserting additional content into an image (e.g. replacing the sky):
-
ensure that all images you want to combine have been imported into your library
-
use canvas enlargement on one image (the “base” image) to add more space for the other images, if needed
-
use the composite module and drag the second image from the filmstrip into the module. Adjust the position, size, and rotation as desired. Use a mask to include only part of the overlaid image.
-
if you want to combine more than two images, create additional instances of the composite module, one per image
An example style (download and import into darktable from the styles module) shows the use of canvas enlargement and composite to make a 2x2 grid of images plus caption text suitable for printing borderless on US Letter (8.5x11") paper.
replace the sky in an image
To replace the sky in an image, you will first need another picture of just sky with the appearance you like. Ensure that the image has been imported into your library.
On the image whose sky you want to replace, open the composite module and drag your sky image from the filmstrip into the module.
Turn on parametric or drawn and parametric masking, then use color and lightness to select the sky and optionally a drawn mask to exclude any areas which can’t be excluded without losing a portion of the sky.
make an image black&white/monochrome
See the tutorial developing monochrome images.
You can use the color calibration, color balance rgb, or monochrome modules to desaturate a color image to shades of gray.
apply a radial gradient
darktable does not have radial gradients, but you can get a very similar effect by masking with a circle or ellipse which you adjust to a very small size with a very large feather to get a gradual drop-off in intensity in all directions from a central point.
It is also possible to curve a gradient mask, but this is more appropriate for matching a curved line in the image than for emulating a point source for an effect.
select an object/person in my image
darktable does not have AI-based object/subject selection, so you will need to use a combination of drawn and parametric masks. Start by drawing the rough outline of the desired object (you do not need to be exact) using the “path” tool.
Adjust the “feathering radius” slider to make the boundary of the selection follow edges in the image and adjust the “mask opacity” and “mask contrast” sliders to sharpen the feathered edges.
remove an object from an image
unsqueeze an anamorphic image
create a ‘smart collection’
make a before/after (A/B) comparison
Use the snapshots utility module, which will let you compare two different edit states in an adjustable split view, even between different images.
In darkroom view, go to the first image/edit state you want to compare and click on the “take snapshot” button in the snapshots module. Then go to the second image/edit state you want to compare and click on the button for the snapshot you just took. You can drag the divider line to adjust the split and click on its midpoint to rotate the split. Click on the snapshot button again to turn off the split-image view.
You can also make a duplicate (virtual copy) of the image and compare the two completed edits on the copies side-by-side using culling mode in the lighttable view.
show composition guides (e.g. rule of thirds)
print my images
get a list of keyboard shortcuts
Press and hold the ‘h’ key. The window which pops up will show a listing of all keyboard shortcuts available in the current view, including those you’ve defined yourself. This window will disappear when you release the key, unless you click on the icon at top right while still holding down ‘h’.
You can define your own keyboard shortcut by clicking on the keybaord icon above the top right corner of the thumbnail grid (lighttable view), center image (darkroom view), or map (map view), then pressing a key combination while hovering your mouse pointer over a mappable control (the pointer will change to a little keyboard). To cancel mapping mode, click on the keyboard icon a second time.
Keyboard shortcuts can combine mouse actions with keystrokes, e.g. you can define a shortcut which consists of scrolling your mouse wheel while holding down the ’e’ key and map that action to adjusting exposure (scrolling up will increase, scrolling down will decrease).
get a histogram of the image
As of version 5.0, darktable defaults to using the “waveform” scope, which provides much more information about the distribution of colors and tones in your image than the traditional histogram. You can think of it as making hundreds of individual histograms for vertical slices of your image, and lining them all up side-by-side.
To switch from waveform to traditional histogram, hover your mouse over the waveform and click on the fourth button from the left which appears while hovering.
Additional Resources
Bruce Williams’ “understanding darktable” series of Youtube tutorial videos, especially
- Episode 128 Modules a noobie should get familiar with (1/2)
- Episode 129 Modules a noobie should get familiar with (2/2)
- Episode 138 A noobie’s guide to processing jpegs
- Episode 140 A noobie’s guide to processing RAW files
The Darktable Landscapes Youtube channel, especially
“Mastering Darktable” text tutorials, including
Last updated 2025-01-05.