Repository navigation
Metadata tags not exported to JPEG #22362
Description
Is there an existing issue for this?
- I checked and did not find my issue in the already reported ones, but @gi-man asked for a separate bug report with the details below.
Describe the bug
When I make a metadata tag (using the "tagging" module in lighttable) on a TIFF file (which was originally created by Adobe Photoshop Lightroom Classic) the tag is not put in the JPEG file during an export, so does not appear in the EXIF data of the exported JPEG. For example, the attached JPG file .
When I look at this file with exiv2 (version 0.28.8) I get no metadata tags that it understands that mention "Wren". However, with the exiftool program I get the following:
$ exiftool -s _GTL4168-CR3_DxO_DeepPRIME-1.jpg |grep Wren
ImageDescription : Thrush-like Wren pair #birdsgallery #vero
Caption-Abstract : Thrush-like Wren pair #birdsgallery #instagram
The above output shows the metadata tag "Caption-Abstract", which is something I don't use and I don't think that darktable uses in exports. It doesn't show the metadata tags that Flickr.com expects, which seem to be in the "Subject" tag. In fact, all of the metadata that exiv2 shows for this file is as follows:
$ exiv2 _GTL4168-CR3_DxO_DeepPRIME-1.jpg
File name : _GTL4168-CR3_DxO_DeepPRIME-1.jpg
File size : 617910 Bytes
MIME type : image/jpeg
Image size : 793 x 992
Thumbnail : None
Camera make : Canon
Camera model : Canon EOS R6
Image timestamp : 2022:12:24 11:37:16
File number :
Exposure time : 1/800 s
Aperture : F10
Exposure bias : 0 EV
Flash : No flash
Flash bias :
Focal length : 700.0 mm
Subject distance: 33.49 m
ISO speed : 1250
Exposure mode : Manual
Metering mode : Spot
Macro mode :
Image quality :
White balance : Auto
Copyright : CC BY-SA (Attribution-ShareAlike)
Exif comment :
On Linux (Ubuntu 26.04) with darktable 5.6.1 I see the following in the "tagging" module of darktable's lighttable view for the original TIFF file (see the comment for that).
This indicates that the tag for "Thrush-like Wren" should be in the export, and that does happen when I don't start with a TIFF file as the source.
However, when the source for the export is a TIFF file created originally by Lightroom, then I have these tags missing in the exported JPEG.
When I start darktable on Linux (Ubuntu 26.04 under WSL) and select the TIFF file, I get the following messages on the terminal:
ALSA lib seq_hw.c:540:(snd_seq_hw_open) [error.sequencer] open /dev/snd/seq failed: No such file or directory
23.0492 [xmp_import] creating tag: Birds: IOC World Birds by Order v10.1 2020|Passeriformes|Wrens|Thrush-like Wren
23.0504 [xmp_import] creating tag: darktable|exported
23.0512 [xmp_import] creating tag: darktable|format|tif
In summary, the problem seems to be that when such a TIFF file is exported as a JPEG, it still has (or has added) a metadata tag named named "Caption-Abstract" (but not one named "Subject", which seems to be where darktable puts the "tags" metadata), at least according to the output of exiftool.
Steps to reproduce
- Create a TIFF file using Lightroom
- In darktable, import the TIFF file.
- In darktable, add a tag with a hierarchy, such as
IOC World Birds by Order v10.1 2020|Passeriformes|Wrens|Thrush-like Wrenand attach it to the file - In the export module, export a JPEG to a file.
- Import the exported JPEG file into darktable. (This step is optional and doesn't seem to be causally related to the problem, but helps see it.)
- Observe that the tag attached to the TIFF file is not present in the JPEG file (or in the tagging module for the imported JPEG).
Expected behavior
darktable should export all attached tags to a JPEG in a way that it can read them back into the imported file as metadata tags on the JPEG.
Logfile | Screenshot | Screencast
The following is the log output on Ubuntu Linux (26.04) running under WSL.
darktable -d common
darktable 5.6.1 [linux]
Copyright (C) 2012-2026 Johannes Hanika and other contributors.
Compile options:
Bit depth -> 64 bit
Exiv2 -> 0.28.8
Lensfun -> 0.3.4
Debug -> DISABLED
SSE2 optimizations -> ENABLED
OpenMP -> ENABLED
OpenCL -> ENABLED
Lua -> ENABLED - API version 9.7.0
Colord -> ENABLED
gPhoto2 -> ENABLED - Camera tethering is available
OSMGpsMap -> ENABLED - Map view is available
GMIC -> ENABLED - Compressed LUTs are supported
GraphicsMagick -> ENABLED
ImageMagick -> DISABLED
libavif -> DISABLED
libheif -> ENABLED
libjxl -> ENABLED
LibRaw -> ENABLED - Version 0.22.0-Release
OpenJPEG -> ENABLED
OpenEXR -> ENABLED
WebP -> ENABLED
AI -> DISABLED
See https://www.darktable.org/resources/ for detailed documentation.
See https://github.com/darktable-org/darktable/issues/new/choose to report bugs.
[dt starting] as : darktable -d common
[dt_get_sysresource_level] switched to `default'
total mem: 32006MB
available mem: 16003MB
singlebuff: 250MB
[opencl_init] opencl disabled via darktable preferences
[opencl_init] opencl library 'libOpenCL.so.1' found on your system and loaded, preference 'default path'
[opencl_init] 0 platforms detected, error: Unknown OpenCL error
[opencl_init] FINALLY: opencl PREFERENCE=NO is NOT AVAILABLE and NOT ENABLED
ALSA lib seq_hw.c:540:(snd_seq_hw_open) [error.sequencer] open /dev/snd/seq failed: No such file or directory
1.2234 LUA INFO: script_manager.lua: processing contrib/AutoGrouper
1.2237 LUA INFO: script_manager.lua: processing contrib/CollectHelper
1.2240 LUA INFO: script_manager.lua: processing contrib/HDRMerge
1.2242 LUA INFO: script_manager.lua: processing contrib/LabelsToTags
1.2245 LUA INFO: script_manager.lua: processing contrib/OpenInExplorer
1.2247 LUA INFO: script_manager.lua: processing contrib/RL_out_sharp
1.2250 LUA INFO: script_manager.lua: processing contrib/auto_snapshot
1.2254 LUA INFO: script_manager.lua: processing contrib/auto_tag_modified
1.2258 LUA INFO: script_manager.lua: processing contrib/autostyle
1.2261 LUA INFO: script_manager.lua: processing contrib/change_group_leader
1.2263 LUA INFO: script_manager.lua: processing contrib/clear_GPS
1.2265 LUA INFO: script_manager.lua: processing contrib/color_profile_manager
1.2268 LUA INFO: script_manager.lua: processing contrib/copy_attach_detach_tags
1.2271 LUA INFO: script_manager.lua: processing contrib/cr2hdr
1.2273 LUA INFO: script_manager.lua: processing contrib/cycle_group_leader
1.2280 LUA INFO: script_manager.lua: processing contrib/dbmaint
1.2282 LUA INFO: script_manager.lua: processing contrib/enfuseAdvanced
1.2286 LUA INFO: script_manager.lua: processing contrib/exportLUT
1.2288 LUA INFO: script_manager.lua: processing contrib/ext_editor
1.2290 LUA INFO: script_manager.lua: processing contrib/face_recognition
1.2292 LUA INFO: script_manager.lua: processing contrib/fujifilm_dynamic_range
1.2294 LUA INFO: script_manager.lua: processing contrib/fujifilm_ratings
1.2297 LUA INFO: script_manager.lua: processing contrib/geoJSON_export
1.2299 LUA INFO: script_manager.lua: processing contrib/geoToolbox
1.2300 LUA INFO: script_manager.lua: processing contrib/gimp
1.2303 LUA INFO: script_manager.lua: processing contrib/gpx_export
1.2304 LUA INFO: script_manager.lua: processing contrib/harmonic_armature_guide
1.2307 LUA INFO: script_manager.lua: processing contrib/hif_group_leader
1.2309 LUA INFO: script_manager.lua: processing contrib/hugin
1.2311 LUA INFO: script_manager.lua: processing contrib/image_stack
1.2315 LUA INFO: script_manager.lua: processing contrib/image_time
1.2318 LUA INFO: script_manager.lua: processing contrib/jpg_group_leader
1.2320 LUA INFO: script_manager.lua: processing contrib/kml_export
1.2322 LUA INFO: script_manager.lua: processing contrib/passport_guide
1.2324 LUA INFO: script_manager.lua: processing contrib/passport_guide_germany
1.2327 LUA INFO: script_manager.lua: processing contrib/pdf_slideshow
1.2329 LUA INFO: script_manager.lua: processing contrib/photils
1.2331 LUA INFO: script_manager.lua: processing contrib/quicktag
1.2333 LUA INFO: script_manager.lua: processing contrib/rate_group
1.2335 LUA INFO: script_manager.lua: processing contrib/rename-tags
1.2337 LUA INFO: script_manager.lua: processing contrib/rename_images
1.2339 LUA INFO: script_manager.lua: processing contrib/select_non_existing
1.2341 LUA INFO: script_manager.lua: processing contrib/select_untagged
1.2343 LUA INFO: script_manager.lua: processing contrib/selected_image_visible
1.2346 LUA INFO: script_manager.lua: processing contrib/slideshowMusic
1.2348 LUA INFO: script_manager.lua: processing contrib/toggle_group_view
1.2351 LUA INFO: script_manager.lua: processing contrib/transfer_hierarchy
1.2356 LUA INFO: script_manager.lua: processing contrib/ultrahdr
1.2362 LUA INFO: script_manager.lua: processing contrib/video_ffmpeg
1.2364 LUA INFO: script_manager.lua: processing contrib/website_gallery_export
1.2366 LUA INFO: script_manager.lua: processing examples/ai_denoise
1.2368 LUA INFO: script_manager.lua: processing examples/ai_raw_denoise
1.2371 LUA INFO: script_manager.lua: processing examples/api_version
1.2372 LUA INFO: script_manager.lua: processing examples/darkroom_demo
1.2375 LUA INFO: script_manager.lua: processing examples/gettextExample
1.2377 LUA INFO: script_manager.lua: processing examples/gui_action
1.2379 LUA INFO: script_manager.lua: processing examples/hello_world
1.2380 LUA INFO: script_manager.lua: processing examples/lighttable_demo
1.2383 LUA INFO: script_manager.lua: processing examples/moduleExample
1.2385 LUA INFO: script_manager.lua: processing examples/multi_os
1.2387 LUA INFO: script_manager.lua: processing examples/panels_demo
1.2389 LUA INFO: script_manager.lua: processing examples/preferenceExamples
1.2391 LUA INFO: script_manager.lua: processing examples/printExamples
1.2393 LUA INFO: script_manager.lua: processing examples/running_os
1.2395 LUA INFO: script_manager.lua: processing examples/x-touch
1.2398 LUA INFO: script_manager.lua: processing official/apply_camera_style
1.2402 LUA INFO: script_manager.lua: processing official/auto_straighten
1.2405 LUA INFO: script_manager.lua: processing official/check_for_updates
1.2407 LUA INFO: script_manager.lua: processing official/copy_paste_metadata
1.2409 LUA INFO: script_manager.lua: processing official/delete_long_tags
1.2414 LUA INFO: script_manager.lua: processing official/delete_unused_tags
1.2416 LUA INFO: script_manager.lua: processing official/enfuse
1.2418 LUA INFO: script_manager.lua: processing official/extract_burst_roll_images
1.2422 LUA INFO: script_manager.lua: processing official/generate_image_txt
1.2424 LUA INFO: script_manager.lua: processing official/group_persistence
1.2427 LUA INFO: script_manager.lua: processing official/image_path_in_ui
1.2430 LUA INFO: script_manager.lua: processing official/import_filter_manager
1.2431 LUA INFO: script_manager.lua: processing official/import_filters
1.2433 LUA INFO: script_manager.lua: processing official/recent_bookmarks
1.2436 LUA INFO: script_manager.lua: processing official/regenerate_thumbnails
1.2439 LUA INFO: script_manager.lua: processing official/save_selection
1.2441 LUA INFO: script_manager.lua: processing official/scheduler
1.2444 LUA INFO: script_manager.lua: processing official/select_duplicates
1.2448 LUA INFO: script_manager.lua: processing official/select_raw_non_raw
1.2451 LUA INFO: script_manager.lua: processing official/select_unaltered
1.2454 LUA INFO: script_manager.lua: processing official/selection2collection
1.2458 LUA INFO: script_manager.lua: processing official/selection_to_pdf
1.2460 LUA INFO: script_manager.lua: processing official/use_paired_jpg_as_mipmap
1.2463 LUA INFO: script_manager.lua: processing tools/executable_manager
1.2465 LUA INFO: script_manager.lua: processing tools/get_lib_manpages
1.2468 LUA INFO: script_manager.lua: processing tools/get_libdoc
1.2472 LUA INFO: callback: finished processing scripts
1.2479 LUA lua dir is /usr/share/darktable/lua-scripts
1.5844 LUA INFO: script_manager.lua: activating rename_images
1.6501 LUA INFO: dtutils.lua: Loaded contrib/rename_images
37.3911 disk store :expand variables: `$(FILE_FOLDER)/darktable_exported/$(FILE_NAME)'
37.3975 [tiff_open] 793x992 16bpp, 3 samples per pixel
37.4260 [dt_dev_read_history_ext] temporary history deleted
37.4261 [dt_iop_reload_defaults] defaults reloaded for filmicrgb
37.4261 [dt_iop_reload_defaults] defaults reloaded for agx
37.4262 [dt_iop_reload_defaults] defaults reloaded for basecurve
37.4262 [dt_iop_reload_defaults] defaults reloaded for colorequal
37.4262 [dt_iop_reload_defaults] defaults reloaded for colormapping
37.4262 [dt_iop_reload_defaults] defaults reloaded for channelmixerrgb
37.4262 [dt_iop_reload_defaults] defaults reloaded for crop
37.4262 [dt_iop_reload_defaults] defaults reloaded for exposure
37.4262 [dt_iop_reload_defaults] defaults reloaded for retouch
37.4262 [dt_iop_reload_defaults] defaults reloaded for clipping
37.4262 [dt_iop_reload_defaults] defaults reloaded for overlay
37.4262 [dt_iop_reload_defaults] defaults reloaded for flip
37.4262 [dt_iop_reload_defaults] defaults reloaded for ashift
37.4263 [dt_iop_reload_defaults] defaults reloaded for cacorrectrgb
37.4268 [dt_iop_reload_defaults] defaults reloaded for lens
37.4268 [dt_iop_reload_defaults] defaults reloaded for rotatepixels
37.4269 [dt_iop_reload_defaults] defaults reloaded for denoiseprofile
37.4273 [dt_iop_reload_defaults] defaults reloaded for colorin
37.4273 [dt_iop_reload_defaults] defaults reloaded for demosaic
37.4273 [dt_iop_reload_defaults] defaults reloaded for rawdenoise
37.4274 [dt_iop_reload_defaults] defaults reloaded for hotpixels
37.4274 [dt_iop_reload_defaults] defaults reloaded for cacorrect
37.4274 [dt_iop_reload_defaults] defaults reloaded for highlights
37.4274 [dt_iop_reload_defaults] defaults reloaded for rasterfile
37.4274 [dt_iop_reload_defaults] scene=YES, modern=YES, CAT=NO. D65 1.000 1.000 1.000, AS-SHOT 1.000 1.000 1.000
37.4274 [dt_iop_reload_defaults] defaults reloaded for temperature
37.4274 [dt_iop_reload_defaults] defaults reloaded for invert
37.4274 [dt_iop_reload_defaults] defaults reloaded for rawprepare
37.4283 [dt_dev_read_history_ext] temporary history initialised with default params and presets
37.4284 [dt_dev_read_history_ext] temporary history merged with image history
37.4284 [history] successfully loaded module colorin from history
blendop v. 14: version ok params ok
params v. 7: version ok params ok
37.4284 [history] successfully loaded module colorout from history
blendop v. 14: version ok params ok
params v. 5: version ok params ok
37.4285 [history] successfully loaded module gamma from history
blendop v. 14: version ok params ok
params v. 1: version ok params ok
37.4285 [history] successfully loaded module flip from history
blendop v. 14: version ok params ok
params v. 2: version ok params ok
37.4317 synch all module defaults [export]
37.4418 [crop] commit ratio_d=-1 ratio_n=-1
37.4424 [commit color calibration] temp=5003 xy=0.3457 0.3586 - XYZ=0.9639 1.0000 0.8247 - LMS=0.9945 1.0010 0.8330 DT_ILLUMINANT_D
37.4715 synch all module history [export]
37.4742 committed [export] colorin 1000 enabled piece hash=f409c29525153be1
37.4787 committed [export] colorout 8600 enabled piece hash=11cab98de6583a6a
37.4788 committed [export] gamma 9300 enabled piece hash=409a8bcd7272a823
37.4788 committed [export] flip 1900 disabled piece hash=0
37.4788 synch all modules done [export] defaults 0.0398s, history 0.0073s
37.4788 [dt_imageio_export_with_flags] modules: colorin finalscale colorout gamma
37.4788 get dimensions [export] (0/0) 793x992 sc=1.000; ID=1
37.4788 [dt_imageio_export] export imgid 1, 793x992 --> 793x992 (scale=1.0000, maxscale=1.0000). upscale=NO, hq=NO
37.4789 pipe starting CPU [export] (0/0) 793x992 sc=1.000; '_GTL4168-CR3_DxO_DeepPRIME-1.tif' ID=1 using 16003MB
37.4789 pipe data: full [export] (0/0) 793x992 sc=1.000;
37.4789 process CPU [export] colorin 1000 (0/0) 793x992 sc=1.000; IOP_CS_RGB -> IOP_CS_LAB 25MB
37.4827 process CPU [export] colorout 8600 (0/0) 793x992 sc=1.000; IOP_CS_LAB -> IOP_CS_RGB 25MB
37.4850 process CPU [export] gamma 9300 (0/0) 793x992 sc=1.000; IOP_CS_RGB 25MB
37.4862 cache report [export] 2 lines (important=0, used=0, invalid=0). Using 24MB, limit=0MB. Hits/run=0.00. Hits/test=0.000
37.4862 pipe finished CPU [export] (0/0) 793x992 sc=1.000; '_GTL4168-CR3_DxO_DeepPRIME-1.tif' ID=1
37.5135 [export_job] exported to `/home/leavens/TIFF_files_with_tag_export_problems/darktable_exported/_GTL4168-CR3_DxO_DeepPRIME-1.jpg'
44.3171 Session fullpipe cache report. hits/run=0.00, hits/test=0.000
leavens@SurfaceStudio2:~$
I can produce other logs if that would help.
The exported JPEG file is below.
Commit
I'm not sure what commit caused this problem, as I also had it with darktable 5.6
Where did you obtain darktable from?
darktable.org / GitHub release
darktable version
5.6.1
What OS are you using?
Linux
What is the version of your OS?
Ubuntu 26.04 running under WSL, but the problem also occurs on Windows 11
Describe your system
I'm running darktable mostly on Windows 11, which has the exact same problem. But I thought it would be easier to show the problem using Linux, so I installed darktable 5.6.1 from the file darktable_5.6.1-1.1+120.1_amd64.deb using apt and the directions given on the darktable.org install page.
Are you using OpenCL GPU in darktable?
No (according to the log)
If yes, what is the GPU card and driver?
There are two (2) GPUs on this laptop: an NVIDID GeForce RTX 4060 and an Intel Iris Xe Graphics GPU on the chip(see below)
Please provide additional context if applicable. You can attach files too, but might need to rename to .txt or .zip
The laptop has the following hardware:
Device name SurfaceStudio2
Processor 13th Gen Intel(R) Core(TM) i7-13700H (2.90 GHz)
Installed RAM 64.0 GB (63.8 GB usable)
Graphics card NVIDIA GeForce RTX 4060 Laptop GPU (8 GB)
Intel(R) Iris(R) Xe Graphics (128 MB)
Storage 1.12 TB of 1.86 TB used
Device ID B2F187D8-8762-4AB7-A92B-11EBF85371A5
Product ID 00356-06297-50847-AAOEM
System type 64-bit operating system, x64-based processor
Pen and touch Pen and touch support with 10 touch points
Activity
leavens commentedon Sep 22, 2026
@gi-man This is the bug report you wanted me to add about the details of the specific problem. The TIFF file original that leads to problem is on Google Drive at: https://drive.google.com/file/d/11sqlJbegDmEizwUUOlU26wBdPHOIFvPm/view?usp=drive_link and a zip of the directory including the .xmp file and another TIFF file that shows the problem is at https://drive.google.com/file/d/1s3cHnYXL7v1Xa-aymM4MQqdWVx0SDzhZ/view?usp=drive_link
leavens commentedon Sep 22, 2026
On further investigation, I noticed that when there is both a DNG file and a TIFF file with a metadata tag (such as
_GTL5091-CR3_DxO_DeepPRIME.dngand_GTL5091-CR3_DxO_DeepPRIME-Edit.tif) in the same folder and both are exported at once, then darktable doesn't seem to export the metadata tag to the JPEG from the DNG file properly either, even when there is no "Caption-Abstract" tag in the DNG file, although darktable shows both tags as the same in the tagging module of the lighttable view.leavens commentedon Sep 22, 2026
I used darktable on Linux to import those two files and exported them as JPEG format, to show the problem in that last comment. The tags from the tagging module on the TIFF and DNG files are as follows (the first is for the TIFF file), both are screenshots of the tagging module from darktable.
When I exported these as JPEGS and then reimported them into darktable, you can see the tags are now gone (the tags on the imported JPEG produced from the TIFF are first, then the tags on the imported JPEG produced from the DNG):
You can get the TIFF and DNG files with their sidecar XMP files from the following on Google Drive: https://drive.google.com/file/d/1s3cHnYXL7v1Xa-aymM4MQqdWVx0SDzhZ/view?usp=drive_link
The log produced with the options
-d commonon Linux (Ubuntu 26.04) for this process is at the following Google Drive link: https://drive.google.com/file/d/1b0IJp4hriKfrL3fT3Xq2IHfyPQnqjaah/view?usp=drive_linkgi-man commentedon Sep 22, 2026
Do you see the tag information in the xmp sidecar?
Are you entering the tag information in the metadata module or the tagging module?
wpferguson commentedon Sep 22, 2026
We're these image processed with DxO prior to importing into darktable?
[-]Metadata tags not exported to JPEG from TIFF files created by Lightroom[/-][+]Metadata tags not exported to JPEG[/+]leavens commentedon Sep 22, 2026
Yes, I believe I processed these images with DxO Pure RAW (with some version) prior to working on them in Lightroom (or Photoshop) and then I later imported them into darktable.
leavens commentedon Sep 22, 2026
Yes, in the
_GTL4168-CR3_DxO_DeepPRIME-1.tif.xmpfile is the following:Also, in the
_GTL5091-CR3_DxO_DeepPRIME.dng.xmpfile is:I'm entering information in the tagging module. However, I had previously imported a lot of tags into darktable from a file (to get all the bird species at once), although I can't recall how I did that...
Now I wonder if the tag hierarchy is at the root of the problem...
leavens commentedon Sep 27, 2026
I noticed that if I edited the tags in a TIFF file, that doesn't help get the export (to JPEG) to work properly (with respect to the tags).
This problem only seems to affect exporting to JPEG, not making copies of a file. Often the problem seems to be that there is a Caption-Abstract metadata tag in the TIFF file.
Another thing I noticed is that sometimes the program
exiftoolcomplains that it is skipping an empty rdf section in the EXIF data of a file, and that seems to perhaps cause these problems.Also I noticed that sometimes darktable exports a HierarchicalSubject metadata tag and sometimes it exports just a comma-separated Subject metadata tag value when exporting to JPEG.
leavens commentedon Oct 12, 2026
I was under the impression you wanted me to try this with a nightly build on Windows, so I have done that, and the problem still is there with darktable 5.7.0+1242, which I obtained from the file
darktable-5.7.0+1242.g6271f53787-win64.exeand ran under Windows 11...leavens commentedon Oct 15, 2026
Sorry, the test on a nightly build for Windows was for another issue. I hope it still may be helpful in this issue...