Your client sent only a list of filenames. How do you find the RAW originals?

A spreadsheet, a chat message, or just a run of names like IMG_9427.jpg — with no folder attached. You cannot match against that directly: filename tools read a folder, not a list. That middle step is yours to do, and this page is about getting it done.

Last updated: 6 November 2026 · macOS 14.6+ · US$2.99 (USD)

First, work out which kind of list you have

The three shapes cost very different amounts of effort, so look before you start.

ShapeWhat it looks likeWhat to do
Plain text or chat log A run of names separated by line breaks, commas or spaces, often with hand-typed typos Normalise to one name per line; strip stray spaces and blank rows
Excel or spreadsheet The filenames occupy one column; notes, counts and rush flags fill the rest Extract the filename column only and discard everything else
Screenshot or PDF contact sheet Tidy and readable, but the text is not selectable OCR it or type it out, then proofread every number

One precondition worth stating plainly

Filename matching looks inside files you already have. The list only says which ones to look for — it does not conjure any files into existence.

So if those JPEGs or RAWs never reached your machine, or have since been deleted, no filename tool will find them. That is a backup and recovery problem, not a matching problem. Get the files back first; matching comes after.

Three steps from a list to a folder you can match

Step 1 — Reduce the list to one filename per line

The goal is a plain-text file where each line is nothing but a filename — no row numbers, no notes, no quotes.

Step 2 — Copy those files into one folder

The right approach depends on the count:

Under 20: search each number in the Finder, copy the hit into a new folder. Hand work is quickest here.

A few dozen: still one by one, but open two Finder windows side by side — source on the left, destination on the right. Dragging across beats copy-paste.

Over a hundred: do not do this by hand. Save the list as a text file and run this once:

#!/bin/bash
# Copy every filename on a list out of the source folder into one new folder
LIST="$HOME/Desktop/client-list.txt"      # one filename per line
SRC="$HOME/Pictures/2026-11-06_originals" # your own JPEG source folder
DST="$HOME/Pictures/2026-11-06_selects"   # copy them here

mkdir -p "$DST"
missing=0

while IFS= read -r line; do
  if [ -z "$(echo "$line" | tr -d '[:space:]')" ]; then
    continue
  fi
  base="$(basename "$line")"
  stem="${base%.*}"
  found="$(find "$SRC" -maxdepth 1 -iname "${stem}.*" -print -quit)"
  if [ -n "$found" ]; then
    cp "$found" "$DST/"
  else
    echo "not found: $line"
    missing=$((missing + 1))
  fi
done < "$LIST"

echo "Done. Output folder: $DST"
echo "Not found: $missing"

Point the three paths at your own folders, save it as copy-list.sh, then run bash ~/Desktop/copy-list.sh in Terminal. The script looks for each filename stem (IMG_9427) in the source folder regardless of whether the extension is .JPG or .jpg, copies what it finds, and reports what it could not.

Two things it does that hand work cannot: it misses nothing (it walks the whole list) and it never duplicates (each name is handled once). Those are exactly the two failure modes that show up once a list gets long.

Step 3 — Check the counts, then match

Afterwards compare two numbers: files in the destination folder, and lines in the list. If they differ, something was not found — the script output names each one. Fill the gaps before moving on.

For what to do once the folder is ready, see the full walkthrough: finding RAW originals from a client's selected JPEGs.

When the names do not line up, check in this order

A list typed by hand or exported from another tool rarely matches exactly. The usual differences:

SymptomCauseFix
IMG_9427 vs img-9427 Underscore swapped for a hyphen, or case changed Normalise case and separators; the stem must agree
The list has only 9427 The client copied the sequence number, not the prefix Add the fixed prefix (IMG_, DSC_) to the list
DSC01234 vs DSC_1234 Different zero padding and prefix style Align on the sequence number, not the whole string
The list says .jpeg, the file is .jpg Extension written differently Ignore the extension; compare the stem only
O versus 0, 8 versus 6 in a screenshot OCR or transcription error Proofread line by line — no script can rescue this one

Worth being clear: filename tools do not fuzzy-match. One character off and it misses; it will not guess. Correcting the list is faster than hunting for a tool that guesses — a client's list is usually a few dozen lines, and one careful pass beats repeated trial and error.

FAQ

Can a tool match a pasted list of filenames directly?

No. Filename matching reads a folder, not a list. You first have to pull those files out of your existing material into one folder, then load that folder into the tool.

The client sent an Excel sheet. How do I get the filenames out?

Keep only the filename column: select it, copy, and paste into a plain-text editor. Check that it is one name per line with no stray spaces or empty rows. If several names share a row, replace the commas or semicolons with line breaks first.

What if the client sent a screenshot or a PDF contact sheet?

Convert it to copyable text first. Try Live Text or any OCR tool, but proofread every line afterwards — 0 versus O and 8 versus 6 are the usual casualties. There is no shortcut here: one wrong character and that entry will not match.

Can it fuzzy-match names that are not identical?

Filename tools compare the stem literally; they do not guess at similarity. Case, full-width versus half-width characters, zero padding and prefix differences all cause a miss. The workable fix is to correct the list until it matches the real filenames, then match.

What if some files on the list are not on my machine at all?

Matching can only find files that actually exist where you look. Anything that never reached your drive cannot be recovered by a filename tool — you need the originals from the source, or a backup and data-recovery route. That is not a matching failure; the file simply is not there.

Try it on your Mac

RAW Matcher is on the Mac App Store and runs entirely locally: no server connection, no account, and access only to the folders you choose.