A practical guide to keywording an analog film archive. Companion to the Analog Film Workflow Cookbook.
I didn’t think I needed keywords.
With 40-something rolls at roughly 13 frames each, I have maybe 500–600 images. I can scroll through the entire catalog in a few minutes. I know where everything is because I remember shooting it. Keywording felt like the kind of overhead that digital photographers with 50,000 images need — not someone who shoots medium format film and thinks carefully before pressing the shutter.
Then I started selecting images for The Doors of Perception Vol 2 and realized I was doing the same thing I always do: scrolling through every roll, relying on memory, opening contact sheet PDFs to cross-reference frame numbers. It worked — but it was slow, and it would only get slower. At roll 40 the scroll is manageable. At roll 100 it won’t be.
So I decided to build a keyword system. And like most things I do, I overcomplicated it first, then simplified.
The Foundation List Mistake
I found a well-regarded keyword list called the Foundation List — 1,786 keywords organized into a Who/What/Where/Why/When/How taxonomy. It’s designed for high-volume digital photographers who shoot everything from weddings to wildlife. I imported the whole thing into Lightroom.
That was a mistake.
Suddenly my Keyword List panel was full of terms like “swordfish,” “chrysalis,” “basketball,” “gemstone,” and “bridesmaids.” I’m never going to photograph a swordfish. I’m never going to photograph bridesmaids. Having 1,786 keywords in the autocomplete dropdown doesn’t make keywording faster — it makes it slower, because every time I start typing, I’m wading through suggestions that have nothing to do with canyons, churches, or sandstone.
The principle of the Foundation List is sound. The execution, for my practice, was wrong. What I needed was maybe 230 keywords, not 1,786.
The NLP Overlap Problem
The other thing I had to sort out was where Negative Lab Pro metadata ends and keywords begin. My NLP presets already record camera make, camera model, lens, film stock, film format, ISO, and scan equipment in structured EXIF fields. Adding those same values as keywords would create duplicates — two “Pentacon Six TL” entries, one in the NLP metadata, one as an orphaned keyword at the root level of the Keyword List.
The boundary I settled on: NLP handles the structured EXIF data. Keywords handle everything NLP doesn’t know about — what’s in the image, where it was taken, what condition the subject is in, which project it belongs to, and which filter I used.
There are two intentional overlaps: film stock and film format. These live in both NLP metadata and keywords because they’re genuinely useful as quick-filters in the Library module. Everything else stays on one side of the line or the other.
One NLP setting had to change as a result. In the NLP export dialog, “Automatically Generate Keywords” needs to be off. When it’s on, NLP creates its own flat keywords from the metadata fields — dumping “Pentacon Six TL” and “Ilford XP2 Super 400” at the root level of the Keyword List. With a proper keyword hierarchy in place, those auto-generated keywords are duplicates.
“Write EXIF Fields with Custom Metadata” stays on. That’s the clean path — camera, lens, film stock, and ISO embedded in standard EXIF where any software can read them.
The Architecture
What I ended up with is a hierarchy organized around five top-level categories, plus a few practice-specific additions:
ATTRIBUTE — What describes the scene. Elements (sky, water, shadow, fog), materials (sandstone, rust, glass, wood), season, time of day, and a custom subcategory I added for condition — decay, abandoned, weathered, eroded. That last one doesn’t exist in the Foundation List but it’s essential for my work. A significant portion of my archive documents structures in states of decay: Gerhart Hauptmann Realschule in Dorsten, Mayhew Lodge in Oak Creek Canyon, the Juel Farmhouse in Redmond.
PHOTOGRAPHY — How the image was made. Not the camera and lens (NLP handles that) but the aesthetic properties: treatment (B&W or color), setting (exterior or interior), effects (reflection, silhouette, long exposure), type of photography, and which filter was used. Filter choice is a creative decision that shapes the tonal character of the negative — it belongs in keywords, not just in my head.
WHAT — The subject. This is where I pruned hardest. The Foundation List has over 1,400 keywords here. I kept maybe 80–100: structures and architecture, land formations, natural phenomena, water elements, plants, a slim list of objects I’ve actually photographed, and thoroughfares. Everything else — gemstones, fish species, sports equipment, body parts — gone.
WHERE — Location hierarchy. Country → State → Place → Specific site. Built from my actual shooting locations, not speculatively. Lightroom’s hierarchy means applying “Cathedral Rock” automatically includes “Sedona,” “Arizona,” and “USA” in searches and exports.
WHO — Minimal. A flat “People” keyword. I rarely photograph identifiable individuals.
Beyond the Foundation List categories, I added practice-specific keywords that don’t exist in any generic list: camera bodies, publication type (Blog, Zine, YouTube, LinkedIn), project tracking (The Doors of Perception with volumes and movements, From My Front Door with Silent Witness), print tracking, and Flickr Explore.
The full metadata flow. NLP handles the EXIF layer automatically. Three manual passes layer keywords on top.
Three Passes, Not a Separate Session
The single most important decision was when to keyword. The answer: not in a dedicated keywording session. If keywording is a standalone task, it feels like data entry and I’ll skip it. Instead, it’s integrated into the editing workflow I already follow:
Pass 1 happens during the first cull, when I’m going through a fresh roll applying color labels. Select all frames, open the Keywording panel, and add the roll-wide keywords — location, treatment, setting, season, camera, film stock, filter. Takes about 30 seconds and covers 80% of the keywording work.
Pass 2 happens during editing, when I’m working through Green and Blue labeled images in Develop. Switch briefly to Library and add the frame-specific keywords — what’s the subject, any notable elements, materials, condition, effects. Five to ten keywords per image. Only for the images I’m actually editing, not every frame on the roll.
Pass 3 happens during curation, when I select an image for a zine, blog post, or print. Add the publication keyword, the project and volume, the movement if applicable. This pass only triggers when an image is being published — not during the regular editing workflow.
Target: 8–15 keywords per image total. Above 20, I’m over-tagging. Below 5, I’m under-tagging.
The Ad-Hoc Keyword Trap
One thing I learned the hard way: Lightroom auto-creates a keyword every time you type one into the Keywording panel. There is no distinction between a keyword you carefully planned and one you typed once on impulse. Both become permanent entries in the Keyword List, sitting at the root level unless you manually drag them into a hierarchy.
So after importing the Foundation List and playing around with it, my Keyword List was full of orphans — “Negative Lab Pro,” “Epson V800,” “Lab Scan,” “BookWright.” These describe my processing tools, not my photographs. They had to go.
The litmus test: does this keyword describe what is in the image, or what tool I used to make it? If it’s a tool, delete it.
IPTC Title: The Other Gap
While working through all of this, I realized I had a gap in my naming. My filenames follow a “Title R##-###.jpg” pattern — “Clouds over Deep Time R35-013.jpg” — which is great for identifying images on disk and tracing them back to master TIFFs. But the IPTC Title field — the embedded metadata that Flickr, Blurb, and portfolio sites actually read — was empty.
The fix is simple: when an image earns a name, write the clean title into the IPTC Title field. “Clouds over Deep Time” — no roll reference. The filename carries the workflow plumbing; the IPTC Title carries the public-facing name. Not every frame gets a title. Only the ones that earn it.
The Tilde Convention
One more detail for anyone who’s looked at professional keyword lists and wondered about the [~Category] naming. The tilde sorts container keywords to the bottom of the Keyword List alphabetically and signals “don’t apply this directly to an image.” The brackets add visual distinction. It’s a convention from the Foundation List, not a Lightroom requirement.
What actually matters is unchecking “Include on Export” on every container keyword. Whether the keyword is called [~WHAT] or just WHAT, the export setting is what prevents it from traveling with images. The tilde is a visual reminder of that setting — useful, but not magic.
After importing the keyword file, every container keyword defaults to “Include on Export: ON.” That needs to be fixed. Open each one, uncheck the box. Simple rule: if it has a tilde, export is off.
Downloads
The full Keyword Cookbook covers all of this in detail — the keyword architecture with specific terms for each category, the NLP boundary table, container vs. leaf keyword settings, implementation steps, and a one-page cheat sheet. It’s the companion document to the Analog Film Workflow Cookbook.
I’m also sharing the keyword text file itself — ready to import into Lightroom Classic via Metadata → Import Keywords. It includes the full hierarchy, all practice-specific additions, and fixed the typos from the original NLP-generated keywords. Obviously the location hierarchy and project names are specific to my archive, but the structure and subject keywords are a reasonable starting point for any analog landscape or architectural photographer.
Both files below — the cookbook as a reference, the keyword file for import.
Download the Keyword Cookbook (PDF)
Download the Keyword File (Lightroom import-ready)
© 2026 Henry
I publish my photography under my middle name Henry — a small tribute to my father Heinrich, and his lifelong love of making photographs.
Thanks for reading!
If you find value in my content, consider supporting me with a virtual coffee ☕️ or a beer 🍺. Your contributions help keep this blog thriving.