Why is adding EXIF for vintage lenses still hard?
No electronics, no handshake
Most vintage lenses have no contacts, so the camera can’t know the lens model, focal length, or aperture. Without a physical/mechanical coupling (or electronics), the body has nothing to write into EXIF.
Aperture is unobservable
Even if you enter a focal length for IBIS, the camera usually cannot read the actual f‑stop you set on an aperture ring. (An exception exists on some bodies with special menus or couplings; see below.) Sony Help Guide
Every brand handles this differently
Nikon: “Non‑CPU lens data” lets you register focal length & max aperture (and on some models/firmware, even record aperture values for non‑CPU lenses). onlinemanual.nikonimglib.com
OM SYSTEM / Olympus: “Lens Info Settings” supports entering Lens Name, Focal Length, and Aperture, so this information is written to the EXIF metadata. learning.omsystem.com
Fujifilm: “Mount Adapter Setting” provides manual entry and correction for adapted lenses. Depending on the body/firmware and focal length, a lens label sometimes appears in EXIF. Fujifilm DSC
Sony: You can set the SteadyShot focal length for IBIS; this helps with stabilization and may store the FL in metadata, but not the lens name. Sony Help Guide
Leica M: 6‑bit coding on M lenses is read by digital M bodies and written into EXIF; uncoded lenses show as “unknown” unless manually selected. DPReview
Bottom line: there is no universal, body‑agnostic way to auto‑write full EXIF for manual glass. You either (a) enter data in‑camera where supported, (b) use hardware workarounds that fake a lens ID, or (c) add/repair EXIF later in software.
Hardware approaches (and their limits)
“Chipped” adapters / programmable contacts
Adapters or glue‑on chips can report the focal length and max aperture to the camera (and provide focus confirmation). Example: the “Dandelion” chip for Nikon F, or AF‑confirm chips on M42→EF adapters. These can place some lens fields into EXIF, but cannot track real‑time aperture changes or zoom position. They also require careful installation and may be body‑specific. This, combined with the hassle of adding the chip (and its correct version) to the ring, makes the task highly annoying.
Brand‑specific coding (Leica 6‑bit)
Digital M bodies recognize Leica M lenses with 6‑bit coding, and the lens ID is written to the EXIF metadata. You can retrofit older lenses (factory or DIY) or use an adapter that reads the code on Leica SL/CL. This is powerful but Leica‑only.
Camera “non‑CPU” / “lens info” menus
Some bodies let you register a lens (name/FL/max aperture) and then select it before shooting. On Nikon Z/DSLRs this appears as Non‑CPU Lens Data; on OM SYSTEM, it’s Lens Info Settings; Fujifilm has Mount Adapter Setting. It’s the least invasive option, but still won’t auto‑record the actual f‑stop as you turn the aperture ring (with the noted Nikon Zf update exception).
Software options (add/fix EXIF after the shoot)
These tools write metadata into files or XMP sidecars so that your editor and DAM (Lightroom, Capture One, Photo Mechanic, etc.) display the correct lens info.
The 3 best options right now
- ExifTool (Windows/macOS/Linux, free)
What it is: The gold standard CLI tool for reading/writing EXIF/XMP/IPTC. Very powerful, scriptable, batch‑friendly; widely used under the hood by other apps. exiftool.org
Why we recommend it: Works on RAWs, JPEG/TIFF, and sidecars; repeatable and automatable; ExifTool has a Windows shell, the ExifToolGUI, which makes the task easier.- Exif Notes + ExifTool workflow for film shooters (mobile notes → batch write later). 35mmc
- LensTagger for Lightroom Classic (Windows/macOS, free)
What it is: A Lightroom plugin that uses ExifTool to write lens info directly from within LR (via XMP or files). Ideal if your whole workflow lives in Lightroom. LensTagger
Why we recommend it: Presets per lens; works on groups of images; friendly UI for non‑CLI users. - AnalogExif (Windows; works on macOS via Mono/Wine; free)
What it is: A GUI app designed for film scans and digital images, with an “equipment library” so you can save camera/lens presets and apply them in batches. SourceForge
Why we recommend it: Excellent for film shooters, flat‑file workflows, and for people who want a visual editor instead of CLI.
Practical, repeatable workflow (what we recommend)
- Before you shoot
- Set up your body (if supported): register the lens in the Non‑CPU/Lens Info/Mount Adapter menus and assign a button to switch lenses quickly. This gets focal length (and sometimes name/aperture) into EXIF straight out of the camera.
- Slate your shots: Take a quick photo of a small card showing Lens + Aperture whenever you change aperture. It’s a simple way to keep EXIF-accurate batches apart.
- While shooting
- Keep IBIS focal length correct (Sony/OM/Fuji). It stabilizes properly, and some bodies store this value in metadata.
- If you use Leica M, ensure 6‑bit detection is on; if your lens isn’t coded, pick it in the manual lens menu.
- After the shoot (software)
- Lightroom users: Run LensTagger presets per batch (e.g., “Biotar 58/2 • f/2.8”). Write to XMP first (safer), verify, then optionally commit to files.
- Non‑LR workflows: Use ExifTool batch commands (sidecar first; then files if needed). Roll a shell script per lens so it’s one command next time.
- Film scans: Use AnalogExif to apply presets and film stock data to whole rolls; export and ingest into your DAM.
What to write (the useful fields), examples
- LensModel (EXIF) and Lens (XMP) → e.g.,
"Zeiss Jena Biotar 58mm f/2"
- LensMake →
"Carl Zeiss Jena"
- LensInfo → minFL maxFL minF maxF (primes repeat same FL and f‑number), e.g.,
58 58 2.0 2.0
- FocalLength →
58
(per image or batch) - MaxApertureValue →
2.0
- FNumber → the actual aperture used (set per batch: f/2, f/2.8, f/4, …)
- FocalLengthIn35mmFilm → helpful for crop‑sensor bodies (e.g.,
87
for 58 mm on APS‑C)
FAQs
Generally, no—there’s nothing to read. Nikon’s Non‑CPU system is the most advanced; on some bodies/firmware (e.g., Zf update), aperture values for non‑CPU lenses can be recorded, but this is model‑specific and not universal. onlinemanual.nikonimglib.com
Use XMP sidecars first (safe & reversible). ExifTool can also write directly to many RAW formats, but we recommend backing up and testing on copies. exiftool.org
“Smart” adapters pass metadata from electronic lenses (EF→E, etc.). With purely mechanical vintage lenses, there’s nothing to pass unless the adapter has a programmable chip, which only fakes a few fields (and not the changing aperture).
Quick links (software & references)
- ExifTool (official) — cross‑platform metadata toolkit. exiftool.org
- LensTagger (Lightroom Classic plugin) — write lens EXIF from LR. LensTagger
- AnalogExif (SourceForge) — GUI editor for scans & digital. SourceForge
- ExifToolGUI (Windows wrapper). exiftool.org
- Nikon Non‑CPU Lens Data (Z series docs). onlinemanual.nikonimglib.com
- Nikon Zf firmware update note (aperture for non‑CPU lenses). onlinemanual.nikonimglib.com
- OM SYSTEM “Lens Info Settings.” learning.omsystem.com
- Fujifilm “Mount Adapter Setting.” Fujifilm DSC
- Sony “SteadyShot Manual” (set focal length). Sony Help Guide
- Leica 6‑bit coding explained. DPReview
- Dandelion chip (example vendor). rafcamera.com
- EF AF‑confirm chip guide (example). whitemetal.com