Skip to main content
January 21, 2026
Question

How to add multiple descriptions to multiple images in Adobe Bridge

  • January 21, 2026
  • 1 reply
  • 48 views

Hi guys, we are working on a book (using InDesign) with historic images of theatre programmes, old posters and photos that have been provided in a soft copy by the client, and we have scanned, photographed and edited them to be placed in the book. Each chapter contains about 20 to 30 images, approximately and 10 chapters.

The client has provided the captions included in a Word file, so I know where the image should be placed and include the caption below the image.

Here is kind of the Word file layout I got, i.e.,

Paragraph here

Image A (Medium size) _Caption "Description text here",

Paragraph here

Image B (Large size)_Caption "Description text here",

Paragraph here

Image C_(small size)_Caption "Description text here",

Paragraph here

 

So far, I have to copy and paste each caption below each image manually. In some cases, the description is too long to name the file with it.

 

My first thought was to do it throughout data merge, but the placement of images changes over the book, depending on how big or small we can place the image, either by the image resolution from a newspaper, or the image has a significant impact on the history of the text. 

 

I have found out recently that Adobe Bridge give me the option to apply the same metadata to multiple images.

My issue is that I'm unable to find a way to include multiple descriptions for multiple images. I think the only way is to do it manually for each photo?

 

I am not sure if there is a way possible in Adobe Bridge, InDesign, or Data Merge. Or uploading a CSV file to the bridge for the descriptions.

I have seen multiple videos and have searched here, but I can't find the way for me to upload those captions to all the images in the chapter I am working on at the moment. 

 

I would appreciate it if you could guide me on how to do it, or use a script for InDesign or something that could help? 

 

Thank you in Advance

 

Marga.

 

 

1 reply

Legend
January 22, 2026

I'm not sure what youi are trying to do exactly, but you could write or adapt a script to parse a CSV file and save to the description field.

 

This is a sample script which demonstrated how to get and change the image description.

 

#target bridge
if(BridgeTalk.appName == 'bridge'){
    var descCmd = MenuElement.create('command', 'Edit Description...', 'after Thumbnail/Open', this.menuID); //add to Contextual menu
    }

descCmd.onSelect = function(){
    descMain();
    }

descMain = function(){
    try{
        var descThumbs = app.document.selections; //get selected thumbnails
        if(!descThumbs.length) return; //nothing selected
        var descr = '';
        if(!descThumbs[0].hasMetadata) return; //no metadata
        var descMeta = descThumbs[0].synchronousMetadata;
        var descXMP = new XMPMeta(descMeta.serialize());
        if(descXMP.doesPropertyExist(XMPConst.NS_DC, 'description')){
            descr = descMeta.read(XMPConst.NS_DC, 'description');
            descr = descr.toString();
            }
        else{
            descr = '';
            }
        descWindow = new Window ('palette', 'Edit Description', undefined);
        descPanel = descWindow.add('panel', undefined, '');
        descPanel.orientation = 'column';
        descPanel.alignChildren = ['left', 'top'];
        descPanel.lbl1 = descPanel.add('statictext', undefined, 'Description:');
        descPanel.lbl1.graphics.font = 'palette-bold';
        descPanel.txt1 = descPanel.add('edittext {justify:"left"}', undefined, '');
        descPanel.txt1.preferredSize = [350, 80];
        descPanel.txt1.text = descr;
        descPanel.grp1 = descPanel.add('group', undefined, '');
        descPanel.grp1.preferredSize = [350, 50];
        descPanel.grp1.orientation = 'row';
        descPanel.grp1.alignment = ['fill', 'fill'];
        descPanel.grp1.margins = [30, 20, 0, 0];
        descPanel.grp1.button1 = descPanel.grp1.add('button', undefined, 'Cancel', {name: 'cancel'});
        descPanel.grp1.button2 = descPanel.grp1.add('button', undefined, 'Apply Changes', {name: 'ok'});
        descPanel.grp1.button2.enabled = false;

        descPanel.txt1.onChanging = function(){
            descPanel.grp1.button2.enabled = true;
            }

        descPanel.grp1.button1.onClick = function(){
            descWindow.close();
            }

        descPanel.grp1.button2.onClick = function(){
            descr = descPanel.txt1.text;
            descWindow.close();
            for(var a in descThumbs){ //loop through thumbs
                if(!descThumbs[a].container){
                    try{
                        descMeta = descThumbs[a].synchronousMetadata;
                        descXMP = new XMPMeta(descMeta.serialize());
                        descXMP.deleteProperty(XMPConst.NS_DC, 'description');
                        descXMP.setLocalizedText(XMPConst.NS_DC, 'description', null, 'x-default', descr);
                        var descUpdatedPacket = descXMP.serialize(XMPConst.SERIALIZE_OMIT_PACKET_WRAPPER | XMPConst.SERIALIZE_USE_COMPACT_FORMAT);
                        descThumbs[a].metadata = new Metadata(descUpdatedPacket); //write to file
                        }
                    catch(e){
                        Window.alert(e + e.line);
                        }
                    }
                }
            }
        descWindow.layout.layout(true);
        descWindow.show();
        descPanel.txt1.active = true;
        }
    catch(e){
        Window.alert(e + e.line);
        }
    }
January 22, 2026

Hi @ExUSA, thank you for your reply. I appreciate it.

I am very new to scripts, to be honest.

In the book I am working on, I have about 20 to 30 images per chapter. I would like to know if I can find a way to speed up my process.

Should I copy from the Word file my client provided and paste the caption text into the description field in Bridge for each image, or should I create a CSV file with all the captions, calling each image and then run the script you provided?

Should I install this on my InDesign Scripts, or how do I apply this to Bridge?

I would appreciate it if you could clarify that?

Thank you

 

Legend
January 22, 2026

A script can parse a CSV file and use that data, but it would take additional coding to make that work. The script here is simply an easy way to add descriptions.