Privacy risk
Author ยท speaker notes ยท EXIF
Lossless
Slides & animations unchanged
Automation
PowerShell + ExifTool
What metadata does PowerPoint store?
| Field | Location in PPTX | Risk |
|---|---|---|
| Author / Creator | docProps/core.xml | ๐ด High |
| Company / Manager | docProps/app.xml | ๐ด High |
| Last Modified By | docProps/core.xml | ๐ด High |
| Speaker Notes | ppt/notesSlides/*.xml | ๐ด High |
| Comments / Annotations | ppt/comments/*.xml | ๐ด High |
| Embedded image EXIF/GPS | ppt/media/*.jpg | ๐ด High |
| Created / Modified timestamps | docProps/core.xml | ๐ Medium |
| Revision history | ppt/revisionInfo/ | ๐ Medium |
| Custom properties | docProps/custom.xml | ๐ Medium |
| Slide master / theme author | ppt/theme/*.xml | ๐ก Low |
1. Audit your PPTX
A PPTX is a ZIP archive. Core properties live in docProps/core.xml, app data in docProps/app.xml, speaker notes in ppt/notesSlides/.
# Copy first โ never modify originals directly cp "presentation.pptx" "copy.pptx" # List all files inside unzip -l "copy.pptx" # View core properties (author, dates, last modified by) unzip -p "copy.pptx" docProps/core.xml | xmllint --format - # View app properties (company, manager, slide count) unzip -p "copy.pptx" docProps/app.xml | xmllint --format - # Check for speaker notes unzip -l "copy.pptx" | grep notesSlide # Check for embedded images with GPS exiftool -G -a -s "copy.pptx" | grep -i GPS
2. Document Inspector
File โ Info โ Check for Issues โ Inspect Document
Remove All for each category found
- Open PPTX โ File โ Info โ Check for Issues โ Inspect Document.
- Tick: Comments and Annotations, Document Properties and Personal Information, Invisible On-Slide Content, Presentation Notes.
- Click Inspect, then Remove All for each found category.
- File โ Save As โ save as a new file to preserve the original.
3. Remove speaker notes
Speaker notes are the most common source of sensitive leaks โ draft text, internal strategy, presenter cues. Always remove before sharing publicly.
Via Document Inspector
Removes all notes in one click
Via PowerShell
Scriptable ยท batch-friendly
$pptx = "C:\docs\deck.pptx"
$ppt = New-Object -ComObject PowerPoint.Application
$ppt.Visible = [Microsoft.Office.Core.MsoTriState]::msoTrue
$pres = $ppt.Presentations.Open($pptx)
foreach ($slide in $pres.Slides) {
$slide.NotesPage.Shapes[2].TextFrame.TextRange.Text = ""
}
$pres.SaveAs("C:\docs\deck_clean.pptx")
$pres.Close()
$ppt.Quit()4. PowerShell automation
Full COM automation โ clears built-in properties, comments, and speaker notes in one script. Requires PowerPoint installed on the machine.
# Full PowerPoint metadata cleanup via COM
$path = "C:\docs\presentation.pptx"
$ppt = New-Object -ComObject PowerPoint.Application
$ppt.Visible = [Microsoft.Office.Core.MsoTriState]::msoTrue
$pres = $ppt.Presentations.Open($path)
# Clear built-in document properties
$props = $pres.BuiltInDocumentProperties
$clearFields = @("Author","Last Author","Company","Manager",
"Category","Keywords","Comments","Title","Subject")
foreach ($field in $clearFields) {
try { $props.Item($field).Value = "" } catch {}
}
# Remove all comments
foreach ($comment in @($pres.Comments)) { $comment.Delete() }
# Clear speaker notes from all slides
foreach ($slide in $pres.Slides) {
try { $slide.NotesPage.Shapes[2].TextFrame.TextRange.Text = "" } catch {}
}
# Clear custom properties
$custom = $pres.CustomDocumentProperties
for ($i = $custom.Count; $i -ge 1; $i--) {
try { $custom.Item($i).Delete() } catch {}
}
# Save clean copy
$out = "C:\docs\presentation_clean.pptx"
$pres.SaveAs($out)
$pres.Close()
$ppt.Quit()
Write-Host "Done: $out"Cleaning embedded image metadata?
MetaRemover.com strips EXIF/GPS from photos in your browser โ nothing leaves your device.
5. ExifTool second pass
ExifTool reads and writes OOXML properties inside PPTX โ ideal in CI/CD pipelines without Office installed.
# Clear common properties from a single file exiftool -Title= -Subject= -Author= -Creator= -Company= -Manager= \ -Keywords= -Comments= -Category= -LastModifiedBy= \ -overwrite_original "presentation.pptx" # Clear XMP metadata too exiftool -XMP:All= -overwrite_original "presentation.pptx" # Batch: clean entire folder recursively exiftool -Title= -Subject= -Author= -Creator= -Company= -Manager= \ -Keywords= -Comments= -Category= -LastModifiedBy= \ -overwrite_original -r "./presentations/" # Verify: check remaining fields exiftool -G -a -s "presentation_clean.pptx" | \ grep -iE "Title|Author|Company|Manager|Keywords|Subject|LastModifiedBy"
6. Embedded image EXIF/GPS
Photos inserted into slides retain their original EXIF metadata including GPS coordinates. These are stored in ppt/media/ inside the PPTX archive.
Option A โ Clean before inserting
The safest approach. Strip EXIF from photos before adding them to slides.
Option B โ Strip from existing PPTX
# Extract, strip, and repack media files mkdir pptx_media cp "deck.pptx" "deck_work.zip" cd pptx_media && unzip "../deck_work.zip" "ppt/media/*" # Strip EXIF from all images in media folder exiftool -all= -overwrite_original ppt/media/ # Repack into clean PPTX cd .. && zip -r "deck_clean.pptx" pptx_media/ppt/media/
7. Verify cleanup
Always confirm all fields are actually gone before distributing.
# 1. Re-run Document Inspector โ all categories should say "Nothing was found" # 2. ExifTool cross-check exiftool -G -a -s "presentation_clean.pptx" | \ grep -iE "Title|Author|Company|Manager|Keywords|Subject|LastModifiedBy|XMP" \ || echo "Common fields clear" # 3. Unpack and inspect XML directly unzip -p "presentation_clean.pptx" docProps/core.xml | xmllint --format - unzip -p "presentation_clean.pptx" docProps/app.xml | xmllint --format - # 4. Check notes slides are empty unzip -p "presentation_clean.pptx" "ppt/notesSlides/notesSlide1.xml" | \ grep -o '<a:t>[^<]*</a:t>' | head -5 # 5. Check no GPS in media exiftool -GPSLatitude -GPSLongitude "presentation_clean.pptx"
8. FAQ
Privacy-first ยท browser-only
Share presentations without leaking your team.
Use Document Inspector for PPTX properties and notes. Use MetaRemover.com to strip EXIF/GPS from every embedded photo before it ships.
Free ยท no sign-up required