MetaImage keywords not appearing in other apps



I’ve just purchased MetaImage and am figuring out how it’s going to get integrated into my workflow. So far I’m very impressed and pleased with its functions so can see how it’s definitely going to make some stuff much easier to deal with.

One of the things I would like to do going forward is to have a unified way to get keywords into my images metadata. I currently shoot RAW+JPEG on a Fujifilm X-E3 then use Mylio as my DAM since it offers easy management and sharing across multiple devices. However, it doesn’t have very comprehensive metadata management, this is where MetaImage will come in. But I have come across an issue with keywords which, at the moment, makes using it a little more convoluted than I think it should be.

So, if I have a Fuji RAF (RAW) image file that I want to add keywords to I can do this in MetaImage, then ‘Process’ the image which adds the keywords to the RAF. However the keywords do not then generally show up in other apps even though I know they are in the RAF as I can see them when I inspect the raw image data in a text editor. This may just be a fault in the way Fuji handles metadata. To get around this I can get MetaImage to write the metadata to an XMP sidecar file which Mylio, and most other apps I use, can read. This is where the process comes unstuck.

When I write the metadata to an XMP file nearly all other apps are still not seeing the keywords I add in MetaImage. The only app that does see them is Iridient X-Transformer which I use to develop the RAFs (it ingests the RAF with sidecar XMP to spit out a developed file). In MetaImage I have tried writing the keywords into both the appropriate IPTC fields and XMP fields but, as far as I can tell, the resultant XMP file does not contain the keywords in a form that most apps will read. Looking inside the MetaImage XMP file I can see that the keywords are there, but, compared to XMPs written by other apps, they are written into a quite different place and format. MetaImage seems to only output the IPTC keywords to the XMP file, ignoring the XMP keywords, putting them in a fields defined as ‘<rdf:Description rdf:about=’'xmlns:pdf=‘’> pdf:Keywords’. If I write XMP files from other apps the keywords are written into fields defined as, for example, ‘dc:subject rdf:Bag’ or ‘lightroom:hierarchicalSubject rdf:Bag’ but not the ‘pdf’ field used by MetaImage. There seem to be a multitude of ways in which XMPs are formatted but the field definitions do appear to be the same in most.

I’m guessing that there would be a way to get MetaImage to write the keywords into the XMPs in a variety of places so that other apps ingesting the XMPs would find and read them? Would this be something you could do in a future update?




Hi Mark,

First of all thank you very much for this very well written feedback.

Here is my email address
Is it possible to send me the two XMP files? The file working with your other softwares and the one incorrectly generated by MetaImage. It will be easier to see the differences in the entire files.

I will then look for a solution to update the app.



Hi Jérémy,

Thanks for your response, much appreciated.

Here are the sample XMP files. I’ve included four files each written consecutively by different apps to show how each app is outputting the keyword section, and indeed other sections which I have not yet explored but which may also be affected in a similar way to the keywords.

I started with Mylio. This outputs XMPs as part of it’s DAM function, it uses them to keep track of everything across platforms - metadata, edits, etc. You’ll notice that it has its own descriptors in the metadata ‘MY’ which it uses to contain all its own edit info. Wherever a Mylio-managed image goes so to does its XMP file, which means so do any edits done in Mylio. It uses common parts in the XMP for stuff like GPS and keywords.

Next I opened the image in CaptureOne 20 Express (Fuji edition). This is a free edition of Capture One specifically for use with Fuji RAFs. It happily read the Mylio XMP showing the keywords, rating, GPS etc. I added an extra keyword and saved out the XMP file. Again the keywords appeared as expected, it even added an hierarchical list section. The extra keyword also instantly appeared back in Mylio once the XMP was updated, something that Capture One can do automatically.

I then proceeded to open the image in MetaImage. It didn’t take in the existing XMP metadata though it did have some GPS metadata which was written directly into the image file. I added the CaptureOne list of keywords, plus one extra, to both the IPTC and XMP fields. I then output the XMP file from the Actions menu. The keywords are in the resulting XMP file but in the ‘pdf’ section as described in my original post.

Finally for good measure I opened the image in Aperture, which I used to use. Aperture can’t work properly with the latest RAFs and doesn’t seem to import the XMP with RAFs but it can still output XMP files, so I added another word to the list and output it from Aperture. Again other apps can see this version even though the format is a bit different from that of Mylio or CaptureOne.

I’ve also tried opening the Image/XMP in other apps - Exposure 5, Luminar 3, Picktorial, PhotoMechanic to name a few and they all read the Mylio/CaptureOne style metadata without issue but don’t see the MetaImage keywords.

I hope this is of some help. Let me know if you need anything else.

Best regards



Hi Mark,

I am sorry for the delay.

If I understood everything correctly, the problem comes from the name of the tags. MetaImage matches keywords with pdf:Keywords whereas other softwares match keywords with dc:subject and lr:hierarchicalSubject.

The solution is pretty simple. You only have to add the tags XMP:Subject and XMP:HierarchicalSubject to the list of displayed tags in the preferences. Then you just have to edit these two tags instead of the default keywords tag.

I will send you a video by email,
Let me know if it is working,



Hi Jérémy,

Aha! That solved it, thanks. Presumably one can manipulate other tags in a similar way if there are already existing tags within the XMP tag specification.

I’m still trying to get my head around some of the functions of the app so I might be back to ask more questions.

Thanks again.