Guide
How to Export Photo Metadata to CSV for a Photo Inventory

A photo inventory puts filenames, recorded dates, camera details, and other supported metadata into one table. The Bulk EXIF to CSV Exporter creates one row per queued file. Start with the Status column: a missing value and an unreadable file need different follow-up.
The downloadable batch below demonstrates both. Its three valid images are generated illustrations with invented metadata. The fourth input is deliberately invalid so you can reproduce an Error row. No private photos or real camera captures are included.
Build a photo inventory step by step
- Download the example inputs below, or select copies of your own supported images.
- Open the batch exporter and add the files. The queue accepts up to 200 JPEG, PNG, TIFF, or HEIC/HEIF files; actual readable fields depend on the format and parser.
- Select Export EXIF from … Photos to CSV. The tool processes the queue sequentially and shows per-file results.
- Review the summary, then select Download CSV. Filter Status before comparing cameras or dates. A batch with readable files but no exportable fields can still download its status report; an entirely failed batch cannot.
The built-in sample button loads three generated demo copies. Use the distinct downloads below to reproduce this guide's tagged, partly tagged, empty, and error cases. The original image files are inspected locally and are not rewritten by the export.
Download the inputs and reference CSV
- Camera/date/GPS/XMP demonstration JPEG — invented camera name, date, coordinates, and a Unicode label.
- Date-only JPEG — one recorded date, with no camera or location fields.
- JPEG without exportable metadata — the original illustration before tagging.
- Intentionally unreadable test input — despite its .jpg name, this is plain demonstration text, not a viewable photograph.
- Reference photo-inventory CSV — four data rows and 20 columns, generated by the same export code as the tool.
Add these four files in the order listed to reproduce the reference row order. The generated picture is identical across the three valid JPEGs; their metadata differs. The coordinates are invented example data, not the location of a photograph.
| Filename | Status | Model | DateTimeOriginal | Latitude / longitude |
|---|---|---|---|---|
| camera, demo.jpg | OK | Demo Camera A | 2024:09:20 23:30:15 | 0 / -30.25 |
| date-only.jpg | OK | Blank | 2024:09:21 09:05:00 | Blank |
| no-metadata.jpg | No metadata | Blank | Blank | Blank |
| unreadable-example.jpg | Error | Blank | Blank | Blank |
Interpret OK, No metadata, Error, and blank cells
- OK: at least one supported field has an exportable value. This does not prove that every metadata section was decoded or that recorded camera/date values are authentic.
- No metadata: no exportable values were returned from the enabled sections. Binary or unsupported fields may still exist. This is not a complete metadata-removal check.
- Error: the reader could not process that file. It is included with blank metadata cells when other files make the batch readable. Inspect the original with another suitable reader.
- Blank cell: this export has no value for that field and row. Do not replace it with zero or assume the field was never recorded.
The first example's latitude is the real numeric value 0 within the invented metadata. Its longitude is -30.25. Both differ from the blank GPS cells in the date-only row. The summary counts 19 exported field values across the two OK rows, not 19 populated columns in every row.
Dates, offsets, and human-readable units
Recorded EXIF date text is preserved without converting a camera clock through the browser's timezone. 2024:09:20 23:30:15 alone does not establish a UTC instant. The first example records a separate OffsetTimeOriginal of +05:30; the CSV protects that plus-leading text with an apostrophe, so a plain-text reader sees '+05:30. No offset is invented for the date-only image.
Exposure values are readable labels: the example has 50mm, f/2.8, and 1/125s. They are text rather than clean numeric columns for averaging. Create separate working columns with explicit units before calculations. For correcting a recorded clock, use the photo-date guide and keep the original.
Import the CSV without losing text
The download uses UTF-8 with a byte-order mark, comma separators, and CRLF record endings. Commas, quotes, and embedded newlines are quoted; a quoted newline is part of a cell rather than a new photo row. The example includes a comma in its filename, quotes in Copyright, and Café demo in its XMP Label.
In Excel, use a CSV/text import workflow and review the encoding, delimiter, and column types. Import filenames, identifiers, raw dates, and offsets as text when their exact representation matters. Microsoft documents UTF-8 CSV opening and the Text Import Wizard. Fit column widths after import. Other spreadsheets have their own type-detection settings.
Formula-like text in filenames, metadata, or headers is prefixed with an apostrophe; ordinary numeric measurements, including negative coordinates, stay numeric in the export text. A programmatic CSV reader will see the prefix. Import untrusted content as text and review it before editing or resaving; quoting alone does not control every spreadsheet's formula behavior. The reference file was checked with independent CSV and spreadsheet importers, rather than a live Excel or Google Sheets session.
What this inventory leaves out
Columns combine supported scalar values from EXIF/TIFF, IPTC, XMP, and JFIF. Arrays are joined for readability. MakerNote, UserComment, thumbnail offsets/lengths, binary data, nested objects, and ICC data are omitted. Missing or unexportable values do not create populated columns. This is a readable inventory, not a lossless metadata backup. WebP and RAW files are not currently supported by this batch parser.
Inspect one file with the metadata viewer or single-file exporter when you need more context. Read the EXIF introduction to distinguish capture, editorial, and color fields. Review your CSV before sharing: supported exports can include location, names, and serial numbers from your own files.
The verification record contains input hashes, parsed values, statuses, and the reference CSV hash. The demonstrated cases cover these generated JPEGs; other format variants may yield different fields.
Bulk EXIF to CSV Exporter
Export supported photo metadata to one CSV with a filename, status, and available fields for each queued image. Includes tested inventory examples.