
You just downloaded a batch of photos from your camera, and before you publish them online, you want to strip the GPS coordinates and device serial number baked into every file. Or maybe you are a sysadmin who needs to audit a directory of media files for embedded metadata before they hit a production server. Either way, you need ExifTool, and you need it running on Debian 13. This guide walks you through exactly how to install ExifTool on Debian 13 using two proven methods, with every command explained so you understand what is happening at each step, not just copy-pasting blindly.
What Is ExifTool and Why Do You Need It?
ExifTool is a free, open-source command-line application written in Perl by Phil Harvey. It reads, writes, and edits metadata in an enormous range of file formats including JPEG, TIFF, PNG, MP4, MOV, MP3, PDF, and dozens of proprietary camera RAW formats like CR2, NEF, and ARW.
The metadata formats it handles include EXIF (camera settings like shutter speed and aperture), IPTC (news and editorial data), XMP (Adobe extensible metadata), and GPS coordinate blocks.
Here is why you should care about this on a Debian 13 server or workstation:
- Every photo taken on a smartphone embeds your GPS location into the file by default
- Camera files carry the device serial number, manufacturer, and firmware version
- Video files store creation timestamps and encoder settings that can expose your workflow
- Stripping or rewriting this metadata before publishing is a basic privacy and security practice
ExifTool is also the backbone of tools used in open-source intelligence (OSINT) investigations. Organizations like Bellingcat use it to extract geolocation data from image evidence files. Whether you are a developer, a photographer, or a sysadmin, ExifTool belongs in your toolbox.
The current upstream release is ExifTool 13.57 as of April 2026. Debian 13 (Trixie) ships version 13.25 in its official repositories. For most users, the repository version is completely adequate. For those who need cutting-edge camera format support, the source installation method covered in this guide gets you the latest build.
Supported Metadata Formats and File Types
Before you install anything, it helps to know what ExifTool actually supports. This avoids frustration later when you try to process a file type and wonder why nothing shows up.
Metadata standards ExifTool reads and writes:
- EXIF – ISO speed, aperture, shutter speed, lens info, orientation
- IPTC – Copyright, keywords, caption, creator name
- XMP – Extensible metadata in XML format, used heavily by Adobe software
- GPS – Latitude, longitude, altitude, speed, direction
- Makernotes – Vendor-specific blocks from Canon, Nikon, Sony, Fujifilm, and others
File types supported:
- Images: JPEG, TIFF, PNG, GIF, BMP, HEIC, WebP
- RAW: CR2, CR3, NEF, ARW, RAF, ORF, RW2
- Video: MP4, MOV, AVI, MKV
- Audio: MP3, FLAC, OGG
- Documents: PDF
This breadth is exactly why ExifTool has no serious competition. No other single tool handles this range of formats from a single command-line interface.
Prerequisites
Make sure your environment meets these requirements before starting. Skipping this check is the number one reason installation tutorials fail halfway through.
System requirements:
- Debian 13 (Trixie) installed, either desktop or server edition
- A user account with
sudoprivileges (do not run these commands as root directly) - An active internet connection to pull packages from Debian mirrors
- Basic comfort with a Linux terminal
Software dependencies:
- Perl (pre-installed on Debian 13 by default; required because ExifTool is a Perl application)
- wget and make (needed only for the source installation method)
To confirm you are running Debian 13, run this command:
cat /etc/os-release
You should see output containing VERSION_ID="13" or VERSION_CODENAME="trixie". If you see Debian 12 (Bookworm), the commands in this guide still work, but the package version available to you will differ.
Step 1: Update Your Package Index
Every installation on a Debian system should start with refreshing the local package cache. This is not optional, and here is why it matters.
APT maintains a local database of available packages and their versions. That database gets stale. If you skip this step, APT compares your install request against outdated data and may either install an older version than what is available, report a package as missing, or pull mismatched dependencies.
Run this command:
sudo apt update
What this does: It contacts all configured Debian mirrors in /etc/apt/sources.list and downloads updated package lists. It does not install or upgrade anything. It only refreshes the index.
Expected output:
Hit:1 http://deb.debian.org/debian trixie InRelease
Hit:2 http://deb.debian.org/debian trixie-updates InRelease
Reading package lists... Done
Building dependency tree... Done
If you see errors about failed connections, check your internet access with ping deb.debian.org before continuing.
Step 2: Install ExifTool via APT (Recommended Method)
For the majority of users, installing from the official Debian repository is the right call. It is fast, fully managed by APT, and integrates with the system update cycle so you get security patches automatically.
Run this command:
sudo apt install libimage-exiftool-perl
Why the package is named libimage-exiftool-perl and not just exiftool: Debian follows strict naming conventions for Perl packages. The lib prefix signals that the package installs both a command-line binary and a Perl library module that other scripts can import. When you type apt install exiftool, APT correctly redirects to libimage-exiftool-perl automatically. Both names work, but the full package name is the canonical reference.
What APT installs for you automatically:
- The
exiftoolbinary at/usr/bin/exiftool - The
Image::ExifToolPerl library - Any missing Perl module dependencies
Expected output (abbreviated):
The following NEW packages will be installed:
libimage-exiftool-perl
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,452 kB of archives.
After this operation, 12.3 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Type Y and press Enter.
Step 3: Verify the Installation
Do not assume the installation worked just because APT reported no errors. A broken Perl environment or a PATH issue can still leave the binary inaccessible. Verify it explicitly.
Run both of these:
exiftool -ver
which exiftool
What you should see:
12.76
/usr/bin/exiftool
The first command confirms the Perl library loaded correctly and outputs the version number. The second confirms the binary exists at the expected system path.
If which exiftool returns nothing, your PATH does not include /usr/bin. Fix it with:
export PATH=$PATH:/usr/bin
Add that line to ~/.bashrc to make it permanent.
Step 4: Install ExifTool from Source (Latest Version Method)
If you need ExifTool 13.57 instead of the 13.25 version in the Debian Trixie repository, this method gets you there. Source installation is also useful if you manage servers where you control every software version for compliance reasons.
Step 4a: Install Build Dependencies
sudo apt update && sudo apt install perl make wget
Why each package matters:
perl– The interpreter that runs ExifTool. Without it, nothing works.make– Executes the Makefile that handles file placement and permission setup during install.wget– Downloads the source tarball from the ExifTool distribution server.
Step 4b: Download the ExifTool Source Tarball
Always download from the official ExifTool website. Third-party mirrors do not publish checksums alongside downloads, and you cannot verify the file integrity.
wget https://exiftool.org/Image-ExifTool-13.57.tar.gz
Expected output:
Image-ExifTool-13.57.tar.gz 100%[============================>] 10.21M 2.54MB/s in 4.0s
Step 4c: Extract the Source Archive
gzip -dc Image-ExifTool-13.57.tar.gz | tar -xf -
Why this specific extraction command: This is the extraction method documented in the official ExifTool installation guide. It uses gzip -dc to decompress to stdout, then pipes that output to tar -xf -. The result is identical to tar -xzf, but works on all POSIX systems without relying on GNU tar’s -z flag. Either command works on Debian 13, but the piped form matches official documentation.
Step 4d: Enter the Source Directory and Generate the Makefile
cd Image-ExifTool-13.57
perl Makefile.PL
Why run perl Makefile.PL first: This Perl script inspects your system’s Perl version, library paths, and binary directories, then generates a platform-specific Makefile. Without this step, make has no instructions and exits immediately with an error. Think of it as the configure step before compilation.
Expected output:
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Image::ExifTool
Step 4e: Run the Test Suite
make test
Why this step is not a formality: The test suite runs hundreds of checks against sample image files bundled in the source tree. A passing suite proves that ExifTool’s metadata parsers function correctly on your specific Debian 13 environment. If any test fails here, the install on top of a broken setup would silently produce wrong output.
Expected output (end of run):
All tests successful.
Files=34, Tests=14129, 42 wallclock secs
Result: PASS
Step 4f: Install System-Wide
sudo make install
Why sudo is required: This command copies the exiftool binary to /usr/local/bin and man pages to /usr/local/man/man1/. Both directories are owned by root. Without elevated privileges, the copy operations fail with a permission denied error.
Verify the source install:
exiftool -ver
You should now see 13.57 (or whichever version you downloaded).
Step 5: APT Version vs. Source Install – Picking the Right Method for Your Setup
This comparison saves you from reinstalling later when you realize you picked the wrong method.
| Factor | APT Install | Source Install |
|---|---|---|
| Installation speed | Under 30 seconds | 3 to 5 minutes |
| Version on Debian 13 | 13.25 | 13.57 (latest) |
| Automatic updates | Yes, via apt upgrade |
Manual re-install required |
| Required skill level | Beginner | Intermediate |
| Best for | Servers, general use | New camera RAW formats, developers |
Both methods place an exiftool binary in your PATH and use identical command syntax after installation.
Step 6: Basic ExifTool Commands to Get You Productive Immediately
Installation is only step one. Here are the commands you will actually use on Debian 13.
Read all metadata from a file:
exiftool photo.jpg
This outputs every metadata tag present in the file, formatted as Tag Name: Value.
Read a specific tag only:
exiftool -DateTimeOriginal photo.jpg
Extracting one tag is far faster in scripts than reading the full output and grepping it.
Strip all metadata from a file (privacy scrub):
exiftool -all= photo.jpg
ExifTool automatically creates a backup named photo.jpg_original before making changes. To skip the backup:
exiftool -all= -overwrite_original photo.jpg
Batch process an entire directory:
exiftool /path/to/photos/
ExifTool processes every supported file in the directory. Add -r to recurse into subdirectories.
Rename files using the capture date:
exiftool '-filename<DateTimeOriginal' -d '%Y-%m-%d_%H%M%S.%%e' /photos/
This renames files like IMG_4521.jpg to 2024-07-15_143022.jpg using the actual capture time, not the file modification timestamp that changes during every copy operation.
Export metadata to CSV for asset management:
exiftool -csv *.jpg > metadata.csv
Export metadata as JSON for scripts and APIs:
exiftool -json photo.jpg
JSON output integrates directly with Python, Node.js, or any web application that needs to consume metadata programmatically.
Write a copyright field to multiple files:
exiftool -IPTC:CopyrightNotice="Copyright 2026 Your Name" *.jpg
Step 7: How to Update ExifTool on Debian 13
Updating an APT Installation
sudo apt update && sudo apt upgrade libimage-exiftool-perl
Why you must run apt update before apt upgrade: Running upgrade alone tells APT to compare against the existing local cache. If that cache is stale, the package appears already at the latest version even when a newer one exists in the Debian repository. Always pair the two commands.
Updating a Source Installation
Source installs have no built-in update mechanism. You repeat the source installation process with the new version:
wget https://exiftool.org/Image-ExifTool-13.XX.tar.gz
gzip -dc Image-ExifTool-13.XX.tar.gz | tar -xf -
cd Image-ExifTool-13.XX
perl Makefile.PL
make test
sudo make install
Replace 13.XX with the current release version from exiftool.org. The new install overwrites the previous binary at /usr/local/bin/exiftool cleanly.
How to Uninstall ExifTool from Debian 13
Uninstalling an APT Installation
sudo apt remove libimage-exiftool-perl
sudo apt autoremove
The first command removes ExifTool. The second removes any Perl dependency packages that were pulled in automatically and are no longer needed by anything else on your system. Skipping autoremove leaves orphaned packages behind that accumulate over time.
Uninstalling a Source Installation
APT has no record of a source install, so you remove it manually:
sudo rm /usr/local/bin/exiftool
sudo rm -r /usr/local/lib/perl5/site_perl/Image/ExifTool
sudo rm -r /usr/local/lib/perl5/site_perl/Image/ExifTool.pm
Confirm removal:
which exiftool
A clean uninstall returns no output.
Troubleshooting Common ExifTool Issues on Debian 13
Error: “command not found” After Installation
Cause: The exiftool binary is not in your shell’s $PATH.
Fix:
echo $PATH
If /usr/bin or /usr/local/bin is missing from the output, add it:
export PATH=$PATH:/usr/local/bin
echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc
source ~/.bashrc
This happens most often on minimal Debian server installations where the default PATH is trimmed down.
Error: “Permission denied” When Writing Metadata
Cause: The target file is read-only or owned by a different user.
Fix:
chmod 644 photo.jpg
Or, if the file is owned by root:
sudo exiftool -all= photo.jpg
ExifTool needs write access to the file because it creates a temporary copy during metadata editing and then replaces the original.
Error: Perl Module Errors During Source Build
Cause: A minimal Debian installation is missing non-core Perl modules that ExifTool’s Makefile requires.
Fix:
sudo apt install perl-modules libmodule-build-perl
perl Makefile.PL
Then re-run the build steps from Step 4d.
Error: ExifTool Reports the Wrong Version After a Source Install
Cause: The APT-installed version at /usr/bin/exiftool takes precedence over the source-installed version at /usr/local/bin/exiftool in your PATH.
Check which binary is running:
which exiftool
If the output is /usr/bin/exiftool, your APT version is winning the PATH race. Fix it one of two ways:
- Remove the APT version:
sudo apt remove libimage-exiftool-perl - Call the source version explicitly:
/usr/local/bin/exiftool -ver
Error: “No such file or directory” During Batch Processing
Cause: The path you passed to ExifTool does not exist or contains a typo.
Fix:
ls /path/to/photos/
Confirm the directory exists and contains supported files. ExifTool silently skips directories it cannot open, so double-check the path before assuming the tool is broken.
Congratulations! You have successfully installed ExifTool. Thanks for using this tutorial for installing the latest version of ExifTool on Debian 13 “Trixie” system. For additional help or useful information, we recommend you check the official ExifTool website.