darktable page lede image
darktable page lede image

2.3.13. Export selected

Workflow ends in this panel with the exporting of your developed images. You can export to a file on disk, email, various on-line storage places, a webalbum, or a book template. Tip: you can use Ctrl+E from within the darkroom mode to export.

All settings in this panel can be saved for later reuse. Press the button to manage your presets.

2.3.13.1. Usage

target storage

Where to store your selected images. Different back-ends are implemented, including file on disk, a LaTeX book template and various web albums. Depending on the selected target, you will be asked to give additional information, like filenames, or account name and password.

filename template

You can define filenames that darktable generates for export. Several pre-defined variables can be used as placeholders:

$(ROLL_NAME) roll of the input image
$(FILE_FOLDER) folder containing the input image
$(FILE_NAME) basename of the input image
$(FILE_EXTENSION) extension of the input image
$(ID) the image id
$(VERSION) the duplicate version (see Section 2.2.7, “Sidecar files”)
$(VERSION_IF_MULTI) same as $(VERSION) but null string if only one version exists
$(VERSION_NAME) version name from metadata
$(SEQUENCE) a sequence number within export job
$(MAX_WIDTH) maximum image width to limit within export session
$(MAX_HEIGHT) maximum image height to limit within export session
$(YEAR) year at date of export
$(MONTH) month at date of export
$(DAY) day at date of export
$(HOUR) hour at time of export
$(MINUTE) minute at time of export
$(SECOND) second at time of export
$(EXIF_YEAR) Exif year
$(EXIF_MONTH) Exif month
$(EXIF_DAY) Exif day
$(EXIF_HOUR) Exif hour
$(EXIF_MINUTE) Exif minute
$(EXIF_SECOND) Exif second
$(EXIF_ISO) ISO value
$(EXIF_EXPOSURE) Exif exposure
$(EXIF_EXPOSURE_BIAS) Exif exposure bias
$(EXIF_APERTURE) Exif aperture
$(EXIF_FOCAL_LENGTH) Exif focal length
$(EXIF_FOCUS_DISTANCE) Exif focus distance
$(LONGITUDE) Longitude
$(LATITUDE) Latitude
$(ELEVATION) Elevation
$(STARS) star rating
$(LABELS) colorlabels
$(MAKER) camera maker
$(MODEL) camera model
$(LENS) lens
$(TITLE) title from metadata
$(DECRIPTION) description from metadata
$(CREATOR) creator from metadata
$(PUBLISHER) publisher from metadata
$(RIGHTS) rights from metadata
$(PICTURES_FOLDER) pictures folder
$(HOME) home folder
$(DESKTOP) desktop folder
$(OPENCL) whether OpenCL is activated
$(TAGS) tags list (Xmp.dc.Subject)
$(CATEGORYn(category)) tag name of level n [0,9] of selected category (or tag)

All of the variables support basic string substitution inspired by bash. The details differ however, for example all patterns are treated as simple string comparisons. There is no regex support. For example you can do the following: $(ROLL_NAME/search/replace) . This means if your roll name is e.g. 1970-01-01_RAW_Time-Begins and you use $(ROLL_NAME/RAW/JPG) it will result in a roll name of: 1970-01-01_JPG_Time-Begins

$(var-default) If var is empty, use default .
$(var+alt_value) If var is set, use alt_value , else use empty string.
$(var:offset) var starting from offset . If offset is less than zero it is counted from the back of the string.
$(var:offset:length) At most length characters of var , starting from offset . If offset is less than zero it is counted from the back of var . If length is less than zero it indicates the end of the result, counted from the back of var , and not an actual length.
$(var#pattern) Remove pattern from the start of var .
$(var%pattern) Remove pattern from the end of var .
$(var/pattern/replacement) Replace the first occurrence of pattern in var with replacement . If replacement is empty then pattern will be removed.
$(var//pattern/replacement) Replace all occurrences of pattern in var with replacement . If replacement is empty then pattern will be removed.
$(var/#pattern/replacement) If var starts with pattern then pattern is replaced with replacement .
$(var/%pattern/replacement) If var ends with pattern then pattern is replaced with replacement .
$(var^) Make the first character of var uppercase.
$(var^^) Make all characters of var uppercase.
$(var,) Make the first character of var lowercase.
$(var,,) Make all characters of var lowercase.
output directory

Pressing button opens a dialog to select the parent directory for export.

on conflict

If this option is set to create unique filename darktable automatically chooses a unique new file name in case of naming conflicts with existing files. Setting this to overwrite forces darktable to exactly adhere to the selected filename template, overwriting any existing files on conflict. This option will present you with a confirmation dialog in order to protect you from accidental data loss. Setting this to skip will result in images not being exported when the destination filename already exists.

file format

darktable can export to various file formats. Depending on the output format you can define additional parameters. For some formats you need to decide on the desired bit depth and the compression method, respectively.

For some export formats like JPEG you can define an output quality. Higher values will lead to larger file sizes. The default quality 95 is a good setting for very high quality exports, e.g. for archiving or printing purposes. If you need a good compromise between size and quality, e.g. for online image display or uploads, you should consider a value of 90 instead.

If the file format supports embedded metadata, like JPEG, JPEG2000 and TIFF, darktable will try to store the history stack as XMP tags within the output file. This information can later be used to reconstruct your parameters and settings that have produced the exported image (see Section 2.3.8, “History stack”).

Caution: for various reasons embedding XMP tags into output files may fail without notice, eg. if certain size limits are exceeded. Users are therefore advised to not rely their backup strategy on this feature. To back up your data make sure to save your input (raw) file as well as all of darktable's XMP sidecar files.

If you don't want to distribute history stack data (or any other type of metadata) with your images your can tweak the export metadata configuration.

max size

Set the maximum width and height of the output images in pixels. Set both to a value of 0 to export with the original dimensions (after cropping). If the values exceed the original dimensions darktable will either export with the original dimensions or perform an upscaling step, depending on the setting of the following parameter.

Caution: it's a frequent pitfall to accidentally put low values, like 1 or 10, in these fields, causing darktable to produce miniature output files. You might think darktable's output is broken, but in fact it only generated what you asked for.

allow upscaling

If set to yes darktable will perform an upscaling step in case the user defined maximum width and height exceed the original dimensions. If set to no the exported image's dimensions will not exceed the original ones (after cropping).

profile

This defines the output color profile. Select image settings if you want the settings in the output color profile (see Section 3.4.3.10, “Output color profile”) module of the individual images to take precedence.

intent

This option lets you define the intent, i.e. the way darktable will deal with out-of-gamut colors. See Section 3.2.6.3, “Rendering intent” for a more detailed description of the available options.

style

This option lets you choose a style, i.e. a collection of history stack items, which darktable combines with the existing history stack to generate the output image. These history items are only added temporarily; the original history stack is not overwritten. You can use this feature to add processing steps and parameters that you want to be applied specifically to images before export, e.g. you may define a style that adds a stronger level of sharpening when you produce scaled-down JPEG files for the internet or add a certain level of exposure compensation to all of your output images. Learn more about styles in Section 2.3.9, “Styles”, and Section 3.3.4, “History stack”.

mode

When applying a style during export this option defines whether the history stack items of that style replace the original history stack of the image or are appended to it. Technically speaking, in append mode history stack items of the style will constitute separate instances of the respective modules on top of any existing ones (see also Section 3.2.4, “Multiple instances”). As a consequence the original history stack will fully remain in effect with the new items being applied additionally. This way you can apply an overall adjustment (e.g. exposure) to a bunch of exported images while respecting the settings of each individual image.

export

Pressing this button starts a background job to export all selected images. A bar at the bottom of the left side panel displays the progress. Furthermore a notification message pops up reporting the export progress. You may click on the pop-up to make it disappear. You may abort the export job by clicking on the icon located close to the progress bar.

metadata

Pressing the icon on the right of export button opens a window to configure which metadata are to be embedded into the exported image.

Metadata configuration is saved along with other export selected parameters to your favorites presets.

The left part lets you select the groups of metadata to be exported. The entry metadata corresponds to metadata defined in metadata editor. Under entry tags you can request the exportation of private tags, synonyms and omit to include the path elements of hierarchical tags. Remember that a tag set up as a category is never exported.

The right part lets you define a formula per metadata entry. What you define here has priority on the left settings. The first column identifies the entry to be edited. The second column is editable and defines the calculation of the metadata entry. Leaving the formula empty prevents the exporting of this specific metadata entry (Exif.GPSInfo.GPSVersionID in the above example). To define a formula, you can use the same variables and rules as for filenames (as documented in the section called “filename template”). Press enter to validate the formula.

Use the - icon to remove a metadata entry from the list, the + icon to add a new one from the predefined list:

Double-click or click on button add to add a metadata entry to the configuration list.

The formulas allow you to get the most of the tagging function. You can virtually define all the metadata you need to qualify your images in tagging and, thanks to these formulas, export the values in the xmp or iptc tags of your choice. The exported tags can be different from one export to the other depending on the destination of the images. Just remember that tags set as category are not exported. Tags and Categories are displayed separately in image information.

Example 1. A first level tag called places is set as a category, and is followed by four levels of information (or keywords), country, region, city and location: places|France|Nord|Lille|rue Nationale. Each level can be retrieved (when it is defined) by one of the variables $(CATEGORY0(places)), $(CATEGORY1(places)), $(CATEGORY2(places)) and $(CATEGORY3(places)). In that example, the returned values are respectively: France, Nord, Lille and rue Nationale. These keywords can also be retrieved as simple tags by the variable $(TAGS). The last keyword level defined (the leaf) is displayed in Image informations, here rue Nationale.

Example 2. A first level tag called creator followed by the name of the photographer, both set as category: creator|firstname lastname. The formula copyrights $(YEAR) $(CATEGORY0(creator)) builds the text associated to image rights. Image information display in categories the following: creator: firstname lastname. Neither creator nor firstname lastname appear in tags list; they are also not exported as simple tags.

Note: tagging is not appropriate to define free text metadata, like a title or a description, which may be specific to each image. Prefer using the metadata editor for this type of information (see Section 2.3.11, “Metadata editor”).