darktable article lede image
How do I ... in darktable 5.0?
Ralf Brown

How do I ... in darktable 5.0?

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

zoom the image

In darkroom view, you can scroll while the mouse pointer is on the central image, or you can

  • select 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

  • use 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).

navigate among images in darkroom view
While editing an image in the darkroom, you can move to the next image shown in the filmstrip at the bottom by pressing the space bar, or to the previous image by pressing Backspace. You can also navigate to an arbitrary image by double-clicking its thumbnail in the filmstrip (prior to version 5.0, a single click would change images, but that made selecting images for copy&paste operations more difficult), possibly after shifting the displayed images by scrolling while hovering the mouse over the filmstrip
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.

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

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.

make a virtual copy of an image
darktable calls multiple developments of a single image “duplicates”. You can create, remove, or name them using the duplicate manager in darkroom view, and you can create duplicates by selecting one or more images in the lighttable and clicking on the duplicate button in the actions on selection module.
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 styles just below the bottom left corner of the image.

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, 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 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) or by starting with the “clarity” preset in the contrast equalizer module (quite strong) or one of the “local contrast” presets in the diffuse and sharpen module (generally very subtle).
apply Camera Calibration settings
The rgb primaries module gives you similar control over reg/green/blue hue and saturation and tinting of neutral colors.
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 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.
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.

remove an object from an image
darktable does not provide any AI-based object removal or inpainting methods, but you can replace an area in your image using either the retouch or composite modules. With retouch, you can replace the area with content from elsewhere in the same image using the “heal” or “clone” modes, while composite lets you insert an arbitrary image from your library.
unsqueeze an anamorphic image
Images taken with an anamorphic lens will have a different pixel aspect ratio than the scene which was photographed. To restore the correct appearance, use the scale pixels module.
create a ‘smart collection’
Every collection in darktable is “smart”, and will immediately update when an image’s metadata changes such that it is newly included in or excluded from the collection’s search criteria.
print my images
Use the Print view by clicking on the “other” pulldown at top right and selecting “print”. Unfortunately, printing is not available for the Windows version due to lack of the printer library used on Linux and MacOS.
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.

Filed under: Howto
These are comments from the old website, archived as static HTML