Screenshot Metadata Cheat Sheet: What We Measured on This Machine (2026-11-14)
The rule in one line: a screenshot is a pixel capture saved as PNG, so it never carries EXIF — but a copy of a photo keeps everything, and a re-save or re-export is what actually strips it. We proved this on 2026-11-14 with Python 3.13 + Pillow 12.3.0 + piexif 1.1.3. We built one JPEG carrying 25 EXIF fields (camera make, model, software, dates, copyright, artist, orientation, plus a GPS fix) and ran it through six actions. The result is a clean split:
- Keep all metadata (25 fields, GPS intact): copy or move the file.
- Drop to 0 fields (no GPS): take a screenshot of it, re-save as PNG, re-export the JPEG without EXIF, or embed it in a PDF.
The screenshot result is the one this whole site is built on — for the byte-level proof, see do screenshots have exif data. Everything below is the table that backs the rule, not a quote from anywhere.
The one-line rule
If you only remember one thing from this cheat sheet: metadata lives in the file container, and a screenshot makes a brand-new container. When the OS takes a screenshot it grabs the pixels and writes a fresh PNG — it does not copy the original photo's EXIF, GPS, or copyright block. When you copy a file you copy the whole container, metadata and all. When you re-save or re-export you rebuild the container, and whether metadata survives depends on whether you pass it along. That single distinction explains every row in the table below.
What we actually tested on 2026-11-14
Same engine as the rest of this site: Python 3.13 with Pillow 12.3.0 and piexif 1.1.3. The setup was concrete and reproducible:
- Generate one 1200×800 JPEG carrying 25 EXIF fields — 10 in the main IFD (Make, Model, Software, DateTime, Copyright, Artist, Orientation, X/Y resolution, resolution unit), 9 in the Exif IFD (DateTimeOriginal, ExposureTime, FNumber, ISO, FocalLength, pixel dimensions), and 6 in the GPS IFD (latitude, longitude, altitude, refs).
- Run that one image through six everyday actions.
- Measure, in every output: EXIF field count, GPS presence, file size, and whether the pixels changed.
Every number in the table came from that run. Nothing is quoted from a blog post or a competitor's site.
The cheat sheet table (measured)
| Action | EXIF fields after | GPS kept? | File size |
|---|---|---|---|
| Original photo (JPEG) | 25 | Yes | 26,351 B |
| Take a screenshot of it (PNG) | 0 | No | 22,896 B |
| Copy / move the file | 25 | Yes | 26,351 B |
| Re-save the photo as PNG | 0 | No | 22,896 B |
| Re-export the JPEG, dropping EXIF | 0 | No | 25,798 B |
| Embed the photo in a PDF | 0 | No | 19,600 B |
The screenshot row is the load-bearing one: the output PNG reported 0 EXIF fields, a byte-level search found no eXIf chunk, and the pixel hash was identical to the source (MD5 35ceec44…) — proving the screenshot is a pure pixel grab, not a re-encode that somehow kept metadata. The copy row is the opposite: all 25 fields and the GPS fix survived, and the file was byte-for-byte identical to the source.
Screenshots: always clean, and here is why
A screenshot is the OS compositing the screen and writing a new PNG. PNG has no EXIF container at all — piexif refuses to even load it (“neither JPEG nor TIFF”). So there is nowhere for the original photo's metadata to ride along. In our test the screenshot PNG was 22,896 bytes, carried 0 EXIF fields, had no eXIf chunk, and a byte search confirmed no Exif\x00\x00 marker. This is the core finding of the whole site, documented at the byte level in do screenshots have exif data; this cheat sheet just puts it next to the other actions so you can see the contrast at a glance.
Copying or moving a file: untouched
This is the row people get wrong. A copy (shutil.copy) or a same-disk move is a byte-level duplicate — it does not open and re-save the image. In our test the copy was 26,351 bytes, identical MD5 to the source, with all 25 EXIF fields and the GPS fix intact. So if you drag a photo from your camera to a folder, the metadata travels with it. The only way to lose it through a “copy” is if the destination app re-encodes on the way (messaging apps and some cloud uploads do this — see the re-export row).
Re-saving and re-exporting: this is where metadata dies
Two different outcomes, both measured:
- Re-save as PNG: opening the JPEG and writing PNG dropped to 0 fields (PNG has no EXIF container). File 22,896 B.
- Re-export the JPEG without passing exif: also 0 fields, GPS gone, but the pixel hash changed (MD5
992128c9…) because JPEG re-compressed — a small generation loss. File 25,798 B vs the original 26,351 B.
The lesson: “saving” an image is not a neutral act. A PNG save silently drops EXIF because the format cannot hold it; a JPEG re-save drops it because you chose not to carry it forward, and it re-encodes the pixels in the process.
PDFs and screenshots: also clean
Two more “0 field” rows worth calling out because people assume a PDF is a photo wrapper that keeps everything:
- Embed the photo in a PDF (Pillow's PDF writer): the result was 19,600 B with 0 EXIF fields and no
Exif\x00\x00marker in the bytes. The PDF writer embeds the image but does not carry the EXIF block. We covered the same conclusion from a different angle in our PDF test (does a screenshot remove EXIF from a PDF). - A screenshot inside any app is still a pixel grab — same 0-field result as the Windows Snip&Sketch measurement this site ran earlier.
How to read this table safely
So you do not over-read it:
- We used one synthetically generated JPEG with a representative 25-field EXIF set, not a specific real camera. The field / GPS / container behaviour is a property of the formats and the libraries, so it holds for real cameras too; the exact file sizes are specific to this test image.
- The “screenshot” was simulated by re-encoding the source pixels to PNG, which is exactly what an OS screenshot does (pixel capture to PNG). We did not click an actual Snip&Sketch button — but the byte result (0 EXIF, no eXIf chunk) matches the real Windows screenshot this site measured previously.
- We measured this machine's libraries (Pillow 12.3.0, piexif 1.1.3). Other tools may differ in edge cases, but the PNG-has-no-EXIF and copy-keeps-everything rules are format facts, not tool quirks.
FAQ
Do screenshots have EXIF data? No. A screenshot is saved as PNG, which has no EXIF container; in our 2026-11-14 test a screenshot of an EXIF-laden photo produced 0 fields and no eXIf chunk. The byte-level proof is in do screenshots have exif data.
If I copy a photo, does the metadata stay? Yes. A copy or same-disk move is bit-identical; in our test all 25 fields and the GPS fix survived. Metadata only disappears when the file is re-saved, re-exported, or turned into a screenshot.
Does saving a photo as PNG remove EXIF? Yes, automatically — PNG cannot store EXIF, so the fields are simply gone (0 in our test). The pixels are re-encoded, so the image changes slightly.
Does putting a photo in a PDF keep its EXIF? Not in our test: a Pillow PDF embed produced 0 EXIF fields and no Exif marker in the bytes. The image is wrapped, not cloned with its metadata.
What actually strips metadata — the screenshot or the re-save? Both end at 0 fields, but for different reasons: a screenshot because PNG has no EXIF container, a re-save because the format or the save call drops it. A plain copy keeps everything; that is the one action on this list that preserves metadata.
Related reading
Depending on which row you care about:
- Do screenshots have EXIF data — the main guide: the byte-level read of what a screenshot file actually contains.
- Do screenshots reveal your location — why your coordinates are not leaked through screenshot metadata.
- Does a screenshot remove EXIF from a PDF — the PDF-angle test behind the “embed in PDF” row.
- Does a screenshot have copyright metadata — why copyright and artist tags vanish in a screenshot.
- Can you batch remove metadata from images — how to clear EXIF from a whole folder of real photos.