The free, open-source command-line tool that reads and writes metadata inside image files. It's the engine behind our tagging system.
One person. Maintained continuously since 2003. Used by NASA, the Library of Congress, Adobe, and thousands of studios worldwide.
No license, no subscription, no per-seat cost. Install once, run forever. Works on Windows, macOS, and Linux.
Reads and writes EXIF, IPTC, XMP, JFIF, GeoTIFF, GPS, MakerNotes, and hundreds of other metadata formats.
JPEG, TIFF, PNG, PDF, DNG, CR2, ARW, PSD, and more. One tool handles every format in our collection.
Run one command against an entire folder — or a million files. Processes recursively, in parallel, with filters.
Never touches pixel data. Metadata is rewritten in the header segments only. The image itself is identical before and after.
= for the first tag (sets/replaces), += for each additional (appends).-= removes a specific value from the list. += appends. Both leave all other tags untouched.-r recurses into subfolders. -ext jpg limits to JPEGs only. -csv outputs a spreadsheet-ready tag report.photo.xmp alongside the original. Adobe apps read sidecar files natively.Use = only at the start of a tag session — when you're setting keywords from scratch and want to replace whatever was there before.
Use += when adding one tag to an existing set, or adding a correction after review. Safe to run multiple times — won't duplicate if the tag is already present.
New photo added to the batch. Stored locally or on SharePoint.
Vision model looks at the image and proposes a keyword list based on rules.md.
Agent runs exiftool to embed the proposed tags into the file's XMP segment.
Holly opens the review form, edits wrong tags, notes the correction reason.
Corrections are applied with -= and += to update the file in place.
exiftool runs twice per image: once when the AI tags it, once when corrections come back from review.
exiftool is purely a command-line tool — a black terminal window, typed commands, text output. There are a handful of third-party GUI wrappers built by photographers for manual metadata editing, but they’re niche tools and not part of our workflow.
Neither Nathan nor Holly ever opens a terminal. The agent calls exiftool invisibly in the background — the same way a database runs behind a website. Your interface is the HTML review form. exiftool is infrastructure.
exiftool is a read/write head for image files — like a text editor, but for metadata. It doesn't manage collections, build UIs, or run servers. It does one thing: it reads and writes metadata inside files with perfect reliability across every major format. That's exactly what our tagging agent calls — once to propose tags, and once to lock in corrections. Everything else (the AI reasoning, the review UI, the learning loop) is built around exiftool as the final write step.
Think of it like a secretary who controls physical access to a filing cabinet. The AI says “put these labels on this folder.” Holly says “actually, change that label.” The secretary (exiftool) is the only one who opens the cabinet and makes the change. Nothing else — not the AI, not the review UI — touches the file directly.