Every digital image you shoot carries a silent payload. Beyond the visible pixels, files are packed with embedded metadata — EXIF data detailing your camera hardware and exposure, IPTC fields containing copyright info, and proprietary MakerNotes holding undocumented hardware specifics.
While this data is invaluable for archival sorting or auditing a shoot, it becomes a liability when sharing files publicly.
Smartphones and modern mirrorless bodies frequently embed precise GPS coordinates into every shot by default. If you use Lightroom or Capture One, your exported JPEGs might be unknowingly carrying client addresses, private keywords, or extensive editing histories.
Stripping this metadata before delivery is a fundamental privacy practice. Depending on your workflow volume, macOS offers several ways to handle this, ranging from simple standalone GUI apps to highly efficient, scriptable command-line tools.
Warning! These processes alter the image files. I strongly recommend both backing up your images first and, ideally, working on copies rather than the originals.
Standalone apps
There are surprisingly few dedicated macOS GUI applications that handle metadata removal cleanly. Many standard batch editors overlook robust metadata stripping in favor of basic resizing tools.
However, if you want a visual interface rather than a terminal window, here are the two most viable options.
ImageOptim
ImageOptim is a free utility designed primarily for lossy and lossless image compression to optimize web load times. Because metadata takes up bytes, a functional byproduct of its compression algorithm is stripping out EXIF and IPTC data.
Note: ImageOptim only processes standard web formats (JPG and PNG); it will not handle RAW files or complex TIFFs.
The UI is a simple drop panel. To ensure metadata stripping is active, navigate to Preferences > General and check the “Strip JPEG metadata” box.

You can download ImageOptim for free here.
Squash
If you need a more robust graphical tool that handles resizing and watermarking alongside metadata management, Squash is an excellent paid batch editor. You can find it here.
The default behavior of Squash is to aggressively strip out all image metadata during export, though it offers a toggle to preserve it if needed.
Command-line tools for metadata removal on Mac
While GUI apps are convenient, command-line tools provide unmatched versatility. Executing these operations in the terminal allows you to surgically target specific fields (like nuking GPS data while retaining your copyright string) and process thousands of files without the UI locking up.
If you are serious about metadata management, ExifTool is the definitive standard. However, SIPS and ImageMagick also have distinct structural advantages depending on your specific workflow needs. Here are the precise commands for each engine.
SIPS (native macOS solution)
sips (Scriptable Image Processing System) is built directly into macOS. It requires zero installation, making it the fastest option to deploy if you are working on a new machine.
To write a new, metadata-free version of an image using SIPS, execute:
sips -s formatOptions none imagefile.jpg --out newimagefile.jpg
The -s formatOptions none flag instructs SIPS to ignore the original file’s metadata payload when writing the output binary. To execute this safely across an entire directory (creating a new “Stripped” subfolder to prevent overwriting originals), use this bash loop:
mkdir -p "Stripped"
for file in *.jpg; do
if [ -e "$file" ]; then
sips -s formatOptions none "$file" --out "Stripped/$file"
echo "Stripped metadata from $file"
else
echo "$file not found"
fi
done
Caveat: sips is notorious for leaving behind fragmented proprietary MakerNotes. It is fine for casual use, but not secure enough if you are handling sensitive location data.
ImageMagick (the pipeline processor)
ImageMagick is a heavy-duty C-based processing suite. While its metadata support is secondary to its pixel-rendering capabilities, it is the best tool for the job if you need to strip metadata as part of a larger conversion pipeline.
Unlike sips, ImageMagick must be installed manually (via Homebrew on macOS). See my guide on how to install ImageMagick if you need to route the dependencies.
To safely write a new file without metadata using ImageMagick:
magick convert input.jpg -strip output.jpg
If you have thousands of files and cannot afford the disk space or I/O bottleneck of writing duplicate files, use the highly dangerous mogrify command. This will execute the strip parameter directly on the input file, destroying the embedded data permanently without writing a new file:
magick mogrify -strip *.jpg
ExifTool (the definitive standard)
If the integrity of the stripping process is your primary concern, ExifTool is the only application you should use.
It does come with a steeper learning curve and isn’t installed on macOS by default, but it will successfully parse and rewrite proprietary binary blocks that other tools simply ignore.
To ruthlessly wipe every accessible tag from a file, appending an = to the -all parameter assigns a null value to the entire schema:
exiftool -all= -overwrite_original input.jpg
Because ExifTool natively supports looping, you do not need to write a bash loop. Just point the command at the target directory and it will process every file internally:
exiftool -all= -overwrite_original .
Other options
Lightroom Classic. If your workflow is strictly contained within Adobe, utilize the Metadata dropdown in the Export dialogue box. Selecting “Copyright Only” instructs Lightroom to drop the EXIF data from the resulting exported binary, though it will not modify the underlying RAW source file.
Capture One. Capture One users can deselect specific metadata categories in the output recipe, allowing for more granular control over what is stripped vs. preserved during processing.
EXIFPurge is a simple and straightforward app specifically designed to remove image metadata. Windows; free.
Heads up: The orientation flag
Those same aggressive commands also take the orientation flag with them. That’s the tag that tells software which way up the image goes — cameras often store the pixels un-rotated and set a flag instead. Strip it, and a vertical shot can suddenly display sideways.
With ExifTool, this strips everything but keeps the orientation flag and the color profile:
exiftool -all= -tagsfromfile @ -Orientation -ICC_Profile:all -overwrite_original myimage.jpg
Heads up: Embedded ICC profiles
Most of the aggressive command-line options (like -strip in ImageMagick or -all= in ExifTool) are indiscriminate. They will not only delete your camera data, but they will also delete the embedded ICC color profile.
If your images are exported in the standard sRGB workspace, this isn’t a problem; modern browsers will assume an untagged image is sRGB. However, if your image was exported using a wide-gamut profile like Adobe RGB or ProPhoto RGB, stripping the ICC tag will cause the browser to render the colors incorrectly, resulting in a flat, desaturated, or muddy image. If your color workflow demands wide-gamut preservation, you must use targeted ExifTool commands to bypass the ICC profile block during the stripping process.
The surgical strike: Preserving color and copyright
If you need to deliver a sanitized file but cannot afford to lose your wide-gamut color rendering or your embedded copyright string, you cannot use a simple blanket wipe.
For that, you have to instruct ExifTool to execute a “surgical strike” — stripping the payload while simultaneously rebuilding the file with the specific tags you need to preserve.
Here is the exact command to wipe all metadata, but keep the ICC Profile and the Copyright data intact:
exiftool -all= -tagsFromFile @ -ICC_Profile -Copyright -overwrite_original input.jpg
The Mechanical Breakdown:
-all=: The nuclear option. This initiates the wipe of the entire metadata schema.-tagsFromFile @: This is the critical pivot. The@symbol acts as a variable pointing back to the current file being processed. It tells ExifTool, “Use the original, untouched version of this file as a data source.”-ICC_Profile -Copyright: These are the specific tags being pulled from that original source and injected back into the newly sanitized binary.-overwrite_original: Prevents ExifTool from leaving behind a trail of_originalbackup files on your disk.
If you want to run this across an entire directory of client deliverables, simply replace input.jpg with a period (.) or wildcard (*.jpg), and the engine will surgically sanitize every file in the folder.


