ExifTool · command line

ExifTool remove all metadata: what -all= does and what it breaks

exiftool -all= file.jpg is the standard answer. We ran it on real C2PA-signed images instead of assuming, and on a rotated JPEG. This page is what it removed, what it also took, and the command that avoids that.

Cleans metadata in your browser. SynthID and TrustMark stay in the pixels. A cleaned file does not force Instagram to drop a label.

1 image free · Pro $9.99 one-time (unlimited + ZIP)

A folder is one command in ExifTool and one ZIP here.See the batch ZIP price

Or do it in the browser

Strip mode

1 image free in this browser · Pro $9.99 one-time unlocks unlimited cleans + batch ZIP · How to use

Do it in the tool, in this order

  1. Drop the JPEG, PNG, or WebP you will actually publish. Try sample only shows what a report looks like.
  2. Set the mode to All metadata.
  3. Press Inspect only if you want to look. Press Clean this file to strip. The same press re-scans the result, and the After column is that new scan of the cleaned bytes.
  4. Press Download cleaned image. Upload that file. The name ends in -cleaned.
Try the browser tool

The question: does -all= leave the C2PA data behind?

Content Credentials live in a JUMBF box, not in EXIF or XMP, so it is fair to ask whether a command that clears “all tags” reaches it. We tested with ExifTool 13.25 on five files with a valid manifest: two JPEGs from the public test fixtures of the c2pa-python and c2pa-rs repositories (C.jpg and CA.jpg), plus a JPEG, a PNG and a WebP that we signed ourselves with c2pa-python 0.38 and the library’s test certificate. After each command we asked ExifTool for JUMBF tags and asked the c2pa reader to read the file.

FileBefore-all=-JUMBF:all=
C.jpg (JPEG, from the c2pa-python test files, signed by the project’s test tool) 129 KB, 18 JUMBF tags, manifest valid 85 KB, 0 JUMBF tags, manifest not found 85 KB, 0 JUMBF tags, manifest not found
CA.jpg (JPEG, from the c2pa-rs test files) 163 KB, 22 JUMBF tags, manifest valid 48 KB, 0 JUMBF tags, manifest not found 48 KB, 0 JUMBF tags, manifest not found
signed-test.jpg (JPEG, signed here with c2pa-python 0.38) 1.70 MB, 16 JUMBF tags, manifest valid 1.59 MB, 0 JUMBF tags, manifest not found 1.59 MB, 0 JUMBF tags, manifest not found
signed-test.png (PNG, same signer, with ComfyUI-style text chunks) 2.37 MB, 16 JUMBF tags, manifest valid 2.14 MB, 0 JUMBF tags, manifest not found 2.15 MB, 0 JUMBF tags, manifest not found
signed-test.webp (WebP, same signer) 1.44 MB, 16 JUMBF tags, manifest valid 366 KB, 0 JUMBF tags, manifest not found 370 KB, 0 JUMBF tags, manifest not found

“Valid” is the c2pa reader’s validation state; the signing certificates are test certificates, so a production validator would call them untrusted. That does not matter for this question, which is only whether the data is still there. The PNG also carried ComfyUI-style text chunks; -all= removed them too.

Result: on this ExifTool version, -all= removed the manifest from all five. We did not find the leftover-JUMBF behaviour some guides describe. We did not test older releases, or video, PDF, or HEIC with a manifest, so the claim stops at those three formats and this version. Pixels were unchanged in every output (decoded RGB identical).

What -all= also takes

We built a 1500×1000 JPEG with an sRGB profile, GPS, and an Orientation tag of 6 (rotate 90° CW), which is how a portrait phone photo is normally stored. Then:

CommandGPSICC profileOrientation
originalpresentpresentpresent
exiftool -all=keptkeptkept
exiftool -all= -tagsfromfile @ -Orientation -ICC_Profilekeptremovedremoved
This browser tool (All metadata)removedkeptkept

ExifTool printed “Warning: ICC_Profile deleted. Image colors may be affected” for the plain -all= run. Without the Orientation tag a viewer shows the stored pixels, so a portrait photo opens on its side. The second command is the one to use. The browser tool’s last row comes from the same file run through the page below; its Orientation is kept as a 36-byte segment that holds only the rotation number, and the After report does not count it as metadata.

The commands

# one file, keep rotation and colour, no backup file
exiftool -all= -tagsfromfile @ -Orientation -ICC_Profile -overwrite_original photo.jpg

# a whole folder, recursively (20 half-megabyte JPEGs took 0.38 s on this server)
exiftool -all= -tagsfromfile @ -Orientation -ICC_Profile -overwrite_original -r folder/

# only the C2PA / Content Credentials manifest, keep EXIF
exiftool -JUMBF:all= -overwrite_original photo.jpg

# check the result
exiftool -a -G1 -s photo.jpg
  • Without -overwrite_original ExifTool writes photo.jpg_original next to the result. That backup still has the GPS and the manifest, and it is the file people accidentally upload. We saw it on the test run.
  • PNG and HEIC. -all= removed the Prompt and Workflow chunks from the PNG test file and the EXIF, GPS and XMP from a HEIC. A HEIC stays a HEIC with ExifTool; the browser tool returns a JPEG (details).
  • Windows. The same arguments should work with exiftool.exe in a Command Prompt. We did not run it on Windows.

The same files through the browser tool

For comparison, here is a signed JPEG from the public fixtures run through the tool, then the signed PNG. The Before list is the tool’s own scan; the c2pa reader line is an outside check.

C.jpg · JPEG, 2048x1365, 129 KB · tool mode AI only C.jpg from the c2pa-python repository’s test fixtures, unmodified.
Before (what the tool listed)After (re-scan of the download)
  • C2PA / JUMBF (APP11): APP11 (45880 bytes)

Nothing found. Banner: “Cleaned. 1 field removed — your picture is unchanged.”

  • Download: JPEG, 2048x1365, 85 KB.
  • Second opinion (ExifTool 13.25): 6 metadata tags before, 0 after.
  • C2PA reader (c2pa-python 0.38): manifest valid in the original, “no manifest” in the download.
  • Pixels: decoded RGB values identical to the original (compared in Python).
  • Time in the tool: 119 ms in headless Chrome on a server CPU. A phone will be slower.
signed-test.png · PNG, 1024x1024, 2.37 MB · tool mode All metadata A PNG we generated, signed with c2pa-python 0.38 and its test certificate, with ComfyUI-style text chunks added before signing.
Before (what the tool listed)After (re-scan of the download)
  • C2PA (caBX): 234313 bytes
  • AI-related text (prompt): prompt
  • Text chunk (workflow): tEXt

Nothing found. Banner: “Cleaned. 3 fields removed — your picture is unchanged.”

  • Download: PNG, 1024x1024, 2.14 MB.
  • Second opinion (ExifTool 13.25): 10 metadata tags before, 0 after.
  • C2PA reader (c2pa-python 0.38): manifest valid in the original, “no manifest” in the download.
  • Pixels: decoded RGB values identical to the original (compared in Python).
  • Time in the tool: 203 ms in headless Chrome on a server CPU. A phone will be slower.

Which to use

Use ExifTool when you already have it, need a script, or have a format the browser does not handle. Use the browser tool when you want a report you can read before and after, no install, and the Orientation and profile handled for you. One image is free; a folder is one ZIP with Pro. The comparison page is ExifTool alternative. What ExifTool did for a ComfyUI render is on ComfyUI remove metadata.

Format-specific results with the browser tool: PNG, WebP, and XMP and IPTC. Folder run: bulk EXIF remover.

Running it on a desktop? The built-in Windows and Mac options, and a browser route tested in Chrome and Firefox, are on Mac and Windows.

Questions

Does exiftool -all= remove C2PA / Content Credentials?

In our test on ExifTool 13.25, yes. On five C2PA-signed files (three JPEG, one PNG, one WebP), exiftool -all= left no JUMBF tags and the c2pa-python reader reported that no manifest was found. We did not test older ExifTool versions, so check yours.

Does -all= change the picture?

Not the pixels: the decoded RGB values of the JPEG, PNG and WebP outputs matched the originals. It does delete the ICC profile, and on a JPEG that depends on EXIF rotation it deletes the Orientation tag, so a portrait photo can open sideways.

What is the file named photo.jpg_original?

ExifTool keeps your untouched file under that name unless you pass -overwrite_original. That backup still holds the GPS and C2PA data, so delete it before you share the folder.

How do I remove only the C2PA manifest and keep EXIF?

exiftool -JUMBF:all= file.jpg removed the manifest in our test and left the EXIF tags in place on the JPEG and WebP samples.

Does this tool do the same thing as ExifTool?

It removes the same categories from JPEG, PNG, WebP, HEIC and others, in the browser, and keeps the JPEG Orientation and ICC profile. It then re-scans the output and shows the report. ExifTool covers many more formats and has no limit on a folder.

Which is better for a one-off image?

If you do not have ExifTool installed, the browser tool is faster: add the file, read the report, download. If you already work in a terminal, ExifTool is fine as long as you keep Orientation and the profile.

Clean the file, then publish that download

Use the tool above. Download only after the After report matches the tags you meant to remove.

Try the browser tool

Related guides

Folder / batch

Free · try 1 image

$0
  • 1 JPEG, PNG, or WebP
  • Inspect → scrub → verify
  • Runs in your browser

Try 1 image free

Pro · unlimited + batch

$9.99

One-time payment

  • Restore on a new browser at /restore
  • Does not remove SynthID, TrustMark, or pixel watermarks
  • Does not guarantee a platform AI label disappears

Card, Apple Pay or Google Pay · No subscription

Already paid? Restore Pro

Page last updated: