Install & Compatibility
Where this runs
tested against v3.5.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.118s · 18.3MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 1.5s · import 0.100s · 19MB
16MB installed
● package 16MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
process_file
✓ from exifread import process_file
✗ import exifread
Many users incorrectly import the module directly, but the main function is process_file.
EXIF_TAGS
✓ from exifread import EXIF_TAGS
✗ from exifread.tags import EXIF_TAGS
In older versions, EXIF_TAGS was in exifread.tags, but since 3.0.0 it is directly available from exifread.
HeuristicRecorder
✓ from exifread.heuristics import HeuristicRecorder
Open an image file in binary mode, process EXIF tags, and print all tags except binary/thumbnail fields.
import exifread
with open('image.jpg', 'rb') as f:
tags = exifread.process_file(f)
for tag in tags.keys():
if tag not in ('JPEGThumbnail', 'TIFFThumbnail', 'ThumbnailOffset', 'ThumbnailLength', 'EXIF MakerNote'):
print(f"{tag}: {tags[tag]}")
Errors
Common errors & fixes
AttributeError: module 'exifread' has no attribute 'process_file'
Importing the module incorrectly, e.g. 'import exifread' and then 'exifread.process_file()'.
fixUse 'from exifread import process_file' and then call 'process_file()'.
KeyError: 'Image ImageWidth'
Trying to access a tag using a format that includes an IFD prefix, like 'Image ImageWidth' instead of the actual key.
fixPrint the dictionary keys to see the exact tag names, e.g. 'ImageWidth' often has the IFD name 'Image ImageWidth' but the dictionary key includes the IFD. Use print(tags.keys()) to inspect.
Upgrade
Version history
3.5.1latest on PyPI · released Aug 23, 2025
Audit
Dependencies
No dependency data recorded yet.