What Is EXIF Data? How to View and Remove Photo Metadata
This guide has a free tool → Open EXIF Data Viewer
# What Is EXIF Data? How to View and Remove Photo Metadata
Your Photos Are Sharing More Than You Think
Every photo you take with a smartphone or digital camera embeds hidden metadata called EXIF data. This metadata travels with the image file invisibly, and it can reveal far more about you than the visual content of the photo itself.
EXIF data can include your precise GPS coordinates (often accurate to within a few meters), the exact time and date the photo was taken, your device make and model, the specific software version on your phone, and in some cases, even your name if you set it in your camera's configuration.
When you post a photo on Instagram or Twitter, those platforms strip EXIF data automatically before displaying the image. This gives people a false sense of security about photo metadata. But when you email a photo directly, attach it to a forum post, list an item on a marketplace, host images on your personal website, submit photos to a legal proceeding, or share through messaging apps that do not strip metadata, the full EXIF data goes with it - completely invisible to anyone looking at the image, but fully readable by anyone who looks at the file.
This guide covers what EXIF data is, what it contains, how to read it, which situations expose it, and how to remove it - either selectively or completely.
---
EXIF Data Viewer
Free online EXIF data viewer - view and strip EXIF metadata from photos for privacy
CSV to JSON Converter
Free online CSV to JSON converter - convert CSV data to JSON format with delimiter options and preview
What EXIF Actually Stands For
EXIF stands for Exchangeable Image File Format. It is a standard created by the Japan Electronic Industries Development Association (JEIDA) in 1995 and later updated by JEITA (Japan Electronics and Information Technology Industries Association). The standard defines how metadata is embedded within image files - specifically the structure, field names, and data types for dozens of metadata attributes.
EXIF is embedded in JPEG and TIFF files and is sometimes present in PNG files (though PNG has its own metadata standards, some tools write EXIF into PNGs). HEIC files (the format iPhones use by default in newer iOS versions) also support EXIF.
The data is written into the file's binary structure in specific chunks (called "IFDs" - Image File Directories) that image viewers can read and display. The EXIF data does not affect the visual content of the image at all - you cannot see it by looking at the photo.
---
What EXIF Data Contains
The EXIF specification defines over two hundred possible fields. Most photos from consumer devices contain a subset of these. Here is a comprehensive breakdown of what you might find in a modern smartphone photo:
Camera and Device Information
| Field | Example Value | Notes |
|---|---|---|
| Make | Apple | Device manufacturer |
| Model | iPhone 15 Pro | Specific device model |
| Software | 17.3.1 | OS or firmware version |
| LensMake | Apple | Lens manufacturer |
| LensModel | iPhone 15 Pro back triple camera | Lens identifier |
| FocalLength | 6.765 mm | Physical focal length |
| FocalLengthIn35mmFormat | 26 | 35mm-equivalent focal length |
| FNumber | 1.78 | Aperture (f/1.78) |
| ExposureTime | 1/60 | Shutter speed |
| ISOSpeedRatings | 200 | ISO sensitivity |
| Flash | 24 | Flash status encoded as bitmask |
| WhiteBalance | 0 (auto) | White balance setting |
| MeteringMode | 5 (pattern) | How exposure was metered |
Location Data
This is the category with the highest privacy impact.
| Field | Example Value | Notes |
|---|---|---|
| GPSLatitude | 37.7749 | Decimal degrees north |
| GPSLongitude | -122.4194 | Decimal degrees west |
| GPSAltitude | 52.3 m | Elevation above sea level |
| GPSAltitudeRef | 0 (above sea level) | Reference for altitude |
| GPSTimeStamp | 14:30:00 UTC | UTC time from GPS |
| GPSDateStamp | 2026:03:02 | UTC date from GPS |
| GPSHPositioningError | 5 m | Horizontal accuracy estimate |
| GPSImgDirection | 192.4 | Direction camera was pointing |
| GPSImgDirectionRef | T (true north) | Reference direction |
| GPSSpeed | 0 | Speed at time of capture |
The GPS coordinates alone are enough to identify a specific building, apartment, or room in most cases. If someone takes a photo from inside their home and posts it anywhere that preserves EXIF data, they have published their home address.
Date and Time
| Field | Example Value | Notes |
|---|---|---|
| DateTime | 2026:03:02 14:30:00 | Date/time image was last changed |
| DateTimeOriginal | 2026:03:02 14:30:00 | Date/time photo was taken |
| DateTimeDigitized | 2026:03:02 14:30:00 | Date/time image was digitized |
| OffsetTime | -08:00 | Time zone offset |
| SubSecTime | 412 | Milliseconds for DateTime |
| SubSecTimeOriginal | 412 | Milliseconds for DateTimeOriginal |
The presence of three date fields (and their millisecond variants) means the exact moment a photo was taken is often stored with sub-second precision.
Image Properties
| Field | Example Value | Notes |
|---|---|---|
| ImageWidth | 4032 | Pixel width |
| ImageLength | 3024 | Pixel height |
| XResolution | 72 | Horizontal resolution (PPI) |
| YResolution | 72 | Vertical resolution (PPI) |
| ColorSpace | 1 (sRGB) | Color space |
| ColorProfile | Display P3 | Color profile name |
| Orientation | 1 (normal) | Rotation applied at display time |
| ExifImageWidth | 4032 | Width at time of capture |
| ExifImageLength | 3024 | Height at time of capture |
| PixelXDimension | 4032 | Valid pixel width |
| PixelYDimension | 3024 | Valid pixel height |
Embedded Thumbnail
EXIF includes a small thumbnail image of the photo for quick display in file browsers. This thumbnail is a separate image data block within the EXIF structure. Notably, if you crop or edit the main image, the thumbnail may still show the original uncropped version. This has caused information leakage in high-profile cases where sensitive content was cropped out of a photo but remained visible in the EXIF thumbnail.
Maker Notes
Camera manufacturers can add proprietary "Maker Note" fields to store vendor-specific information. These fields vary by manufacturer and are not part of the public EXIF standard. They can contain information like camera serial number, shooting mode name, face detection results, scene classification, and other data the manufacturer considers useful for software that understands their format.
---
How to View EXIF Data
Using the Online EXIF Viewer
The fastest way to inspect a photo's metadata is the EXIF Data Viewer. Drop an image file and instantly see every embedded EXIF tag, with GPS coordinates plotted on a map. The entire operation happens in your browser - the image file is never uploaded to any server. This is important: you should not use an online tool that uploads your photos to view their metadata, as that defeats the purpose of the exercise.
Using ExifTool on the Command Line
ExifTool is the de facto standard for command-line EXIF manipulation. It is free, open-source, and available on macOS, Linux, and Windows.
Install on macOS via Homebrew:
brew install exiftoolInstall on Ubuntu/Debian:
sudo apt-get install libimage-exiftool-perlBasic usage - view all metadata from a file:
exiftool photo.jpgThis outputs every EXIF field with its name and value. For a typical iPhone photo, this might be 80-100 lines of output.
View only GPS data:
exiftool -gps* photo.jpgView only the fields that pose privacy risk:
exiftool -GPSLatitude -GPSLongitude -DateTimeOriginal -Make -Model photo.jpgView in a machine-readable format (JSON output):
exiftool -json photo.jpgProcess multiple files at once:
exiftool -json *.jpg > all-photos-metadata.jsonGet a summary of GPS positions from an entire directory:
exiftool -csv -gps* -r ./photos/ > gps-log.csvThis command recursively scans the photos/ directory and outputs a CSV with GPS coordinates from every image that has them. The CSV to JSON tool can help you work with that output.
On Windows (File Explorer)
Right-click any image file, select Properties, then the Details tab. Windows shows a subset of EXIF data including camera model, date taken, and dimensions. GPS coordinates are not shown in this view.
On macOS (Preview and Finder)
In Preview: Open the image, then go to Tools > Show Inspector, then click the "i" (information) tab. The GPS sub-tab shows a map if the image has location data.
In Finder: Select the image and press Command+I (Get Info). This shows date created, modified, and camera information.
On iPhone
Open any photo in the Photos app. Swipe up from the bottom of the image to reveal the Info panel. You will see a map showing where the photo was taken, the exact timestamp, and the camera model.
On Android
Open the photo in Google Photos. Tap the three-dot menu at the top right, then select "Details." You see the timestamp, camera model, and location (if recorded).
Reading EXIF with JavaScript
If you are building a web application that processes image uploads, you can read EXIF data in the browser using the exifr library:
import * as exifr from 'exifr';
async function getImageMetadata(file) {
try {
const data = await exifr.parse(file, {
pick: ['Make', 'Model', 'DateTimeOriginal', 'GPSLatitude', 'GPSLongitude'],
});
return {
camera: `${data.Make} ${data.Model}`,
takenAt: data.DateTimeOriginal,
location: data.GPSLatitude
? { lat: data.GPSLatitude, lng: data.GPSLongitude }
: null,
};
} catch (err) {
console.error('Could not parse EXIF data:', err);
return null;
}
}
// Usage with a file input
document.querySelector('#photo-input').addEventListener('change', async (e) => {
const file = e.target.files[0];
if (!file) return;
const metadata = await getImageMetadata(file);
console.log(metadata);
});Reading EXIF in the browser is entirely client-side and never sends the image to a server - the same principle behind the EXIF Data Viewer.
Reading EXIF with Python
from PIL import Image
from PIL.ExifTags import TAGS, GPSTAGS
def get_exif_data(image_path):
image = Image.open(image_path)
exif_data = image._getexif()
if not exif_data:
return {}
result = {}
for tag_id, value in exif_data.items():
tag = TAGS.get(tag_id, tag_id)
# Decode GPS sub-IFD
if tag == 'GPSInfo':
gps = {}
for gps_id, gps_value in value.items():
gps_tag = GPSTAGS.get(gps_id, gps_id)
gps[gps_tag] = gps_value
result[tag] = gps
else:
result[tag] = value
return result
def get_coordinates(exif_data):
gps_info = exif_data.get('GPSInfo', {})
if not gps_info:
return None
lat = gps_info.get('GPSLatitude')
lat_ref = gps_info.get('GPSLatitudeRef', 'N')
lng = gps_info.get('GPSLongitude')
lng_ref = gps_info.get('GPSLongitudeRef', 'E')
if not (lat and lng):
return None
# Convert from degrees/minutes/seconds to decimal
lat_decimal = lat[0] + lat[1]/60 + lat[2]/3600
lng_decimal = lng[0] + lng[1]/60 + lng[2]/3600
if lat_ref == 'S':
lat_decimal = -lat_decimal
if lng_ref == 'W':
lng_decimal = -lng_decimal
return {'lat': float(lat_decimal), 'lng': float(lng_decimal)}
# Example usage
data = get_exif_data('photo.jpg')
coords = get_coordinates(data)
print(f"Camera: {data.get('Make')} {data.get('Model')}")
print(f"Taken: {data.get('DateTimeOriginal')}")
print(f"Location: {coords}")---
Why EXIF Data Is a Serious Privacy Risk
The Home Address Problem
This scenario plays out regularly. Someone photographs an item for sale on a marketplace. They take the photo at home. The marketplace does not strip EXIF data. Any buyer - or anyone browsing the listing - can download the image and extract the GPS coordinates to find the seller's home address. This has been documented in domestic abuse situations, stalking cases, and home burglaries.
The Routine Pattern Problem
Multiple photos with GPS data can reveal a person's home, workplace, gym, school, and daily schedule. Even if no individual photo reveals something sensitive, the aggregate of a photo series paints a detailed picture of someone's life and movements.
The Timestamp Problem
Even without GPS, precise timestamps can be used to establish alibis, contradict testimony, or identify when someone was at a specific place (by correlating the photo timestamp with other evidence of their location at that time).
The Device Identification Problem
Camera make, model, and serial number (from Maker Notes in some cameras) can uniquely identify a device. Combined with other evidence, this can prove a specific camera took a specific photo. This has evidentiary value in legal proceedings - both for and against the person who took the photo.
The Cropping Illusion
If you crop a photo to remove sensitive content (a license plate, a face, a recognizable background), the cropped area may still exist in the EXIF thumbnail. The thumbnail is generated at capture time and is not updated when you edit or crop the image in most software.
To test this: open a photo you have cropped in an EXIF viewer that shows the embedded thumbnail. You may see the original uncropped version in the thumbnail field.
---
Which Platforms Strip EXIF Data
Understanding which platforms strip metadata determines how much you need to worry when posting photos.
| Platform | Strips All EXIF | Strips GPS | Notes |
|---|---|---|---|
| Yes | Yes | Strips before display | |
| Twitter / X | Yes | Yes | Strips on upload |
| Yes | Yes | Keeps internal copy | |
| Yes | Yes | Also compresses | |
| Telegram (compressed) | Yes | Yes | When sending as photo |
| Telegram (uncompressed) | No | No | When sending as file |
| Discord | No | No | Serves original file |
| Slack | No | No | Original file preserved |
| Yes (images) | Yes | Reddit-hosted images | |
| Imgur | Yes | Yes | Strips on upload |
| Email attachments | No | No | Delivered as-is |
| iCloud shared albums | Partial | Yes | GPS stripped, some data kept |
| Google Drive | No | No | Original file preserved |
| Dropbox | No | No | Original file preserved |
| GitHub (repo files) | No | No | Original file preserved |
| Forum attachments | Varies | Varies | Depends on forum software |
| Your own website/CDN | No | No | No automatic stripping |
| Craigslist | No | No | Original file often preserved |
| Yes | Yes | Strips on upload |
The rule of thumb: if the platform hosts the file at a direct URL you can download, assume EXIF data is preserved. If the platform processes images through their own rendering pipeline and you get a transformed version back, they likely strip EXIF.
---
How to Remove EXIF Data
Prevent It at Capture Time
The most efficient approach is to prevent GPS data from being embedded in photos to begin with.
On iPhone:
Go to Settings > Privacy & Security > Location Services > Camera. Set to "Never" or "While Using." Setting to "Never" means photos never have GPS data. "While Using" means GPS is embedded when the Camera app is open, which may be what you want for personal memories but not for photos you intend to share publicly.
On Android:
Open the Camera app. Tap Settings (the gear icon). Find "Location tags," "Geotagging," or "Save location" (the name varies by manufacturer). Disable it.
This disables GPS in photos globally. It does not affect timestamps or device information.
Remove Before Sharing - ExifTool
ExifTool is the most capable tool for selective or complete EXIF removal.
Remove all metadata from a file (the original is saved with _original suffix):
exiftool -all= photo.jpgRemove all metadata and delete the backup:
exiftool -all= -overwrite_original photo.jpgRemove only GPS data while keeping camera settings and timestamps:
exiftool -gps:all= photo.jpgRemove only location data from all files in a directory, recursively:
exiftool -gps:all= -r ./photos/Keep only specific safe fields and remove everything else:
exiftool -all= -tagsfromfile @ -copyright -artist photo.jpgThis command removes all EXIF fields, then copies back only the copyright and artist fields from the original - useful for photographers who want to strip private metadata but keep licensing information.
Remove EXIF but update the thumbnail to match any edits:
exiftool -all= -tagsfromfile @ -orientation photo.jpgProcess multiple files with a specific pattern:
exiftool -all= -overwrite_original ./uploads/*.jpgRemove Using ImageMagick
# Strip all metadata
convert photo.jpg -strip output.jpg
# Strip metadata and resize
convert photo.jpg -strip -resize 1920x1080> output.jpgThe -strip flag removes all EXIF, IPTC, XMP, and comment data.
Remove Using Python (Pillow)
from PIL import Image
def strip_exif(input_path, output_path):
"""Remove all EXIF data from a JPEG image."""
image = Image.open(input_path)
# Create a new image without EXIF data
data = list(image.getdata())
clean = Image.new(image.mode, image.size)
clean.putdata(data)
clean.save(output_path, 'JPEG', quality=95)
strip_exif('photo.jpg', 'photo-clean.jpg')Note: the Pillow approach re-encodes the JPEG, which can reduce quality. ExifTool operates on the existing encoded data and avoids re-encoding.
Batch Processing for Web Uploads
If you are building a web application that accepts image uploads and you want to strip EXIF before storing or displaying them, you can integrate ExifTool or a library call into your upload processing pipeline:
// Node.js example using sharp library (EXIF stripping built in)
const sharp = require('sharp');
async function processUpload(inputBuffer) {
return sharp(inputBuffer)
.withMetadata(false) // Strip all EXIF
.jpeg({ quality: 90 })
.toBuffer();
}Or using the ExifTool CLI from Node.js:
const { execFile } = require('child_process');
async function stripExif(filePath) {
return new Promise((resolve, reject) => {
execFile('exiftool', ['-all=', '-overwrite_original', filePath], (err) => {
if (err) reject(err);
else resolve();
});
});
}---
EXIF Data for Photographers
Not everyone wants to remove EXIF data. For photographers, EXIF data serves important purposes.
Proof of Authorship
The DateTimeOriginal field, combined with the camera serial number (when present in Maker Notes), establishes when and with what device a photo was taken. This creates a record that can help prove original authorship in copyright disputes.
Technical Learning
EXIF data is invaluable for learning photography. After taking a series of photos, you can review which aperture, shutter speed, and ISO combinations produced the best results. Most photography software displays EXIF data alongside the image in the editing view.
Adding Copyright Information
ExifTool can write EXIF fields, not just read them:
# Add copyright information to a photo
exiftool -copyright="Copyright 2026 Jane Doe" -artist="Jane Doe" photo.jpg
# Add copyright to all files in a directory
exiftool -copyright="Copyright 2026 Jane Doe" -artist="Jane Doe" ./portfolio/*.jpgPortfolio Metadata
Photographers often add title, description, keywords, and contact information to EXIF/IPTC fields before submitting to stock photo agencies. The IPTC standard (which shares the file structure with EXIF in JPEG files) defines fields for this purpose.
GPS Tracking for Location Photography
Travel and landscape photographers often find GPS data useful - it records exactly where a shot was taken. For personal archives or location-tagged portfolios, this is a feature, not a bug. The key is making a deliberate choice about whether to keep it when sharing publicly.
---
EXIF Data in Legal and Forensic Contexts
Civil Litigation
EXIF data has been used as evidence in civil cases including copyright disputes, insurance fraud investigations, employment matters, and personal injury cases. Photos submitted as evidence can be analyzed for metadata inconsistencies that suggest tampering.
Criminal Investigations
Law enforcement regularly examines EXIF data in criminal investigations. GPS coordinates from photos have led to arrests. Timestamp discrepancies have disproved alibis. Device identification through camera model and serial number has linked suspects to evidence.
Detecting Manipulated Photos
Inconsistencies in EXIF data can suggest photo manipulation:
- A photo claiming to be taken in 2020 that uses software known not to exist until 2024
- GPS coordinates inconsistent with the visible scene
- Timestamps that are internally inconsistent (DateTimeOriginal different from DateTime by an implausible amount)
- EXIF data written by photo editing software when no editing was disclosed
Chain of Custody for Evidence
Authentic, unmodified EXIF data strengthens the chain of custody argument for photographic evidence. Absence of EXIF data can raise questions about whether a photo was altered, though legitimate reasons for stripped metadata exist.
---
EXIF Data and Personal Security
High-Risk Situations
People in the following situations should be especially careful about EXIF data:
- Domestic abuse survivors who need to conceal their location
- Journalists protecting source locations or their own movements
- Whistleblowers sharing documentation
- Anyone selling items online from home
- People managing a public online presence separate from their private identity
- Child safety advocates who share photos of children
EXIF Stripping Before Public Posting
Regardless of whether a platform strips EXIF data, the safest practice is to strip it yourself before uploading. You control the process and you do not depend on the platform's behavior (which can change).
A simple workflow:
- Export photos from your phone or camera
- Run them through ExifTool or the EXIF Data Viewer to verify what metadata exists
- Strip GPS data (at minimum) using ExifTool
- Upload the cleaned files
---
Automated EXIF Stripping for Teams
If you work in an organization that publishes images online, establish a workflow for stripping EXIF data before publication.
Git Pre-commit Hook
For development teams that commit images to git repositories:
#!/bin/bash
# .git/hooks/pre-commit
# Check for images being committed
images=$(git diff --cached --name-only | grep -E '\.(jpg|jpeg|png|tiff)$')
if [ -z "$images" ]; then
exit 0
fi
# Strip EXIF from all staged images
for img in $images; do
exiftool -all= -overwrite_original "$img"
git add "$img" # Re-stage the cleaned file
done
echo "EXIF data stripped from committed images."CI/CD Pipeline Step
Add an EXIF stripping step to your image processing pipeline:
# GitHub Actions example
- name: Strip EXIF from images
run: |
sudo apt-get install -y libimage-exiftool-perl
exiftool -all= -overwrite_original -r ./public/images/---
Check Your Photos Now
Use the EXIF Data Viewer to see exactly what metadata your photos contain before you share them. Drop any JPEG or TIFF file directly in the tool - the image is analyzed entirely in your browser and never transmitted to any server. You will see every embedded tag, GPS coordinates plotted on a map if present, camera details, timestamps, and the embedded thumbnail.
Once you know what is in your photos, you can make an informed decision about whether to share them as-is or strip the metadata first. For the highest-risk categories - location data from home, identifying device information in sensitive situations - the EXIF Data Viewer gives you the visibility to act on what you find.
Privacy is not just about what you can see in a photo. It is also about what is hidden inside the file.
Related Tools
Free, private, no signup required
JSON Formatter
JSON formatter and validator online - format, beautify, and validate JSON data instantly in your browser
Base64 Encoder/Decoder
Base64 encode and decode online - convert text to Base64 or decode Base64 strings instantly, free
Text Diff Checker
Free online text diff checker - compare two texts and see the differences highlighted line by line
Password Generator
Strong password generator online - generate secure random passwords that never leave your browser
You might also like
Want higher limits, batch processing, and AI tools?