Every item, every field, one row each. Export is free. Import is in Pro, and it is the fastest way to describe a large collection or to move one between sites.

Export CSVone row per item,one column per fieldEdit anywhereExcel, Numbers,Google SheetsImportmatched on id, thenon image file nameid,title,status,image,excerpt,kind,video_url,location,people,album,year18,Harbour dawn,publish,dawn.jpg,,image,,Portofino,Ana|Bea,Italy 1994,1994Values inside one field are joined with a vertical bar.
The round trip, and what a row looks like.

Export

JMGallery › Import / Export › Export CSV writes the whole library: one row per item, one column per field, UTF-8 with a byte order mark so Excel opens it without mangling accents.

Blank template gives you the same header row with no data, for building a collection in a spreadsheet before the photos exist.

The columns

idThe gallery item’s post ID. Leave it alone; it is how import matches a row to an item.
titleThe item title.
statuspublish or draft.
imageThe image’s file name, as it sits in the Media Library.
excerptThe item’s excerpt, if you use it.
kindimage, embed or video.
video_urlThe YouTube or Vimeo link, or the file URL.
then one column per fieldNamed with the field key, not its label.

Fields holding several values are joined with a vertical bar: Ana|Bea|Carlo. No spaces around it.

Import PRO

Upload an edited export at Import / Export › Import. Each row is matched to an item in this order:

  1. By id, if there is one and it belongs to a gallery item.
  2. Otherwise by image, matched on the file name in the Media Library.
  3. Otherwise, if Create items is ticked, a new item is made from that Media Library image — or from video_url, if it is a YouTube or Vimeo link.

Empty cells are skipped, never written. To clear a value you have to do it from the library, not by blanking the cell.

The two checkboxes

Create items for rows whose image is in the Media Library but has no item yet On by default. This is what turns a spreadsheet plus a folder of uploads into a described collection.
Replace tags and people instead of adding to them Off by default, so an import adds tags rather than overwriting them. Switch it on when the spreadsheet is the authority.

When the import finishes you get a count: so many updated, so many created, so many skipped, with the first few reasons for the skips.

The reliable way to describe a thousand photos. Upload them all with a shared album name. Export. Sort the spreadsheet by file name, which usually puts them in the order they were taken. Fill the columns down. Import with Replace tags on.

Import has no undo. Export first and keep that file. On a large or unfamiliar sheet, try twenty rows before committing the lot.

Moving a library between sites

CSV carries the descriptions, not the files. Copy the images across first — any media migration tool — so the file names match, recreate your fields with the same keys on the new site, then import.