Skip to content

Metadata, EXIF, and File-Structure Forensics

Every digital media file carries structured metadata alongside its pixel or sample data. EXIF, IPTC, XMP, and format-specific structures like MP4 atom hierarchies and WAV RIFF chunks encode timestamps, device identifiers, and editing history that can corroborate or contradict a file's claimed origin.

Last updated:

Share

Digital media files embed structured metadata alongside their pixel or sample data. In JPEG images, EXIF records capture parameters, timestamps, and GPS coordinates in a TIFF IFD structure inside the APP1 segment; IPTC and XMP add editorial and processing-history layers. MP4 files organise equivalent information in a moov atom hierarchy; WAV files use RIFF chunks including the broadcast-standard BEXT chunk. Inconsistencies between these metadata layers, conflicting timestamps, absent Makernotes, XMP histories that contradict a claimed original, are primary evidence in file-origin and authenticity examinations.

When a phone camera takes a photograph, the resulting JPEG file contains two distinct layers: the compressed pixel data, and several kilobytes of structured metadata describing how the image was made. GPS coordinates, capture time, camera model, shutter speed, focal length, the camera's serial number derivative, and sometimes the scene recognition mode used to adjust exposure, fields that can place an image at a specific location and time with greater precision than anything visible in the picture itself.

The problem is that metadata is easy to alter, easy to strip, and often inconsistent. An image might carry three timestamps that disagree with each other: the EXIF DateTimeOriginal, the file system modification date, and the GPS timestamp. Each of those discrepancies is a question the examiner must answer. Was the file timezone-corrected? Was it processed through software that rewrote the timestamps? Was it fabricated with a tool that guessed plausible values but got them slightly wrong?

Video and audio files have parallel structures. An MP4 file is a hierarchy of typed boxes (atoms) whose contents describe the entire timeline of the recording. A WAV file is a RIFF chunk structure that can carry metadata in INFO and BEXT chunks alongside the PCM audio samples. This topic maps the relevant metadata standards, shows where they live inside the file, and explains how inconsistencies in them become forensic evidence.

By the end of this topic you will be able to:

  • Identify the three independent metadata layers in JPEG files (EXIF, IPTC, XMP) and describe the forensic significance of inconsistencies between them.
  • Interpret the three EXIF timestamp fields (DateTimeOriginal, DateTimeDigitized, DateTime) and explain what divergences between them indicate about a file's editing history.
  • Explain how Makernote fields provide manufacturer-specific device fingerprints and why their presence or absence is a forensic signal.
  • Describe the key boxes in an MP4 moov atom hierarchy, mvhd, stts, stco, udta, and explain what each contributes to timeline reconstruction.
  • Apply the corroboration principle to GPS metadata: identify the external sources that must align before GPS coordinates can be treated as confirmed evidence of location.
Key terms
EXIF
Exchangeable Image File Format: a binary metadata standard defined in the IFF/TIFF structure embedded in JPEG APP1 segment and TIFF file headers. Records capture parameters (shutter speed, aperture, ISO, focal length), timestamps, GPS, and device information.
IPTC-IIM
International Press Telecommunications Council Information Interchange Model: a legacy binary metadata standard embedded in JPEG APP13. Carries caption, credit, copyright, and editorial classification fields. Predates EXIF and XMP but still present in many images processed through news or stock-photo workflows.
XMP
Extensible Metadata Platform: Adobe's XML-based metadata container embedded as a text packet in image files. Can carry all standard EXIF and IPTC vocabularies plus custom namespaces. Editable by any text editor, making it the most easily altered metadata layer.
Makernote
EXIF tag 0x927C: a manufacturer-defined metadata block whose internal structure is proprietary. Each camera brand and model family stores different fields. Makernotes carry device-specific information that the standard EXIF spec does not cover and are used for source-device verification.
moov atom
The master index atom in an MP4 or MOV file. Contains all track sample tables, timing information, creation and modification timestamps, and vendor-specific metadata boxes. Parsing the moov atom directly gives the examiner access to the full file structure independent of any media player.
RIFF chunk
Resource Interchange File Format: the container structure used by WAV and AVI files. A hierarchy of typed chunks, each with a four-character code, a length field, and a data payload. The fmt chunk defines audio parameters; the data chunk holds PCM samples; INFO and BEXT chunks carry metadata.

EXIF: the capture record embedded in every JPEG

EXIF metadata lives in the APP1 segment of a JPEG file, positioned immediately after the SOI (Start of Image) marker. It is structured as a TIFF IFD (Image File Directory) tree, with each field identified by a two-byte tag number, a data type, and a value. The specification was originally developed by JEIDA (Japan Electronics Industry Development Association) in 1995 and has been maintained through subsequent versions; the current widely-implemented specification is EXIF 2.32 (2019).

The fields most frequently used in forensic analysis fall into three groups. First, device identification: Make (tag 0x010F), Model (0x0110), Software (0x0131), CameraSerialNumber (MakerNote-derived), and LensModel (0xA434). Second, temporal data: DateTimeOriginal (0x9003), DateTimeDigitized (0x9004), SubSecTimeOriginal (0x9291), and GPSTimeStamp (in the GPS IFD). Third, spatial data: GPSLatitude, GPSLongitude, GPSAltitude, and GPSImgDirection.

SOIAPP1\n(EXIF + XMP)APP13\n(IPTC)DHT/DQT\ntablesCompressed\nimagedatabyte order: left to right in filemetadata segmentspixel data
JPEG byte structure: APP1 EXIF, APP13 IPTC, and compressed image data segments.

The three timestamp tags serve different purposes and often diverge in altered images. DateTimeOriginal records when the shutter fired according to the camera clock. DateTimeDigitized records when the image was scanned or digitised (identical to DateTimeOriginal for direct digital capture). DateTime records the last modification time and is updated by software that rewrites the file. An image with DateTimeOriginal in 2021 but DateTime in 2024 is consistent with post-processing. An image with DateTimeOriginal later than DateTime is inconsistent with normal capture and software workflows and requires explanation.

GPS metadata: location, time, and corroboration

GPS metadata in EXIF lives in a separate IFD pointed to by tag 0x8825 in the main IFD. It stores latitude, longitude, altitude, GPS timestamp (UTC), the direction the camera was pointing (GPSImgDirection), and the fix source (GPS, cell network, or Wi-Fi triangulation, recorded in GPSMeasureMode and GPSProcessingMethod). These fields are independent of the camera's own clock, so a GPS timestamp inconsistent with DateTimeOriginal can indicate timezone manipulation or fabrication.

GPS data is among the most easily edited EXIF fields because many desktop tools offer GPS coordinate editing explicitly for privacy or travel-log purposes. A forensic examiner therefore treats GPS evidence as a starting point for corroboration, not a terminal conclusion. The relevant corroboration sources include cell-tower records for the device, the image content itself (buildings, street furniture, vegetation), meteorological records for the claimed date and location (cloud cover, sun angle), and timestamps in any accompanying video or audio recorded around the same time.

Makernote fields as manufacturer fingerprints

The Makernote stores data that does not fit the EXIF standard specification. Each manufacturer defines their own IFD structure inside this field, often undocumented and reverse-engineered by the forensic and photography communities. Canon Makernotes include the camera's internal serial number, the specific AF point used, the colour temperature measured by the AWB sensor, and the Picture Style setting. Nikon Makernotes include a firmware version string, the shooting mode dial position, and a VR (vibration reduction) status flag. Sony Makernotes include the scene recognition mode used by the camera's AI exposure system.

These fields are useful for two tasks. First, source verification: the Makernote of a file claimed to come from a Canon EOS 90D should contain Canon-format data consistent with that model's firmware. A Makernote in Nikon format, or a structurally malformed Makernote, is an immediate inconsistency. Second, internal consistency checking: the camera serial number implied by the Makernote can be compared across multiple images claimed to come from the same device.

ManufacturerMakernote identifierKey forensic fields
Canon"Canon" ASCII headerInternal serial number, AF point, colour temperature, Picture Style, lens focal length
Nikon"Nikon" + version byteFirmware version, shooting mode, VR flag, lens ID, colour balance
Sony"SONY DSC" headerScene mode, creative style, in-camera HDR flag, distortion correction flag
Apple (iPhone)Structured sub-IFDRun-time timestamp, HDR sub-image flag, panorama metadata, Portrait mode depth map reference

Metadata stripping, partial stripping, and XMP artefacts

Privacy-conscious users and malicious actors both strip metadata from image files. Tools like ExifTool, ImageMagick, and platform-side processing (Twitter, WhatsApp, most social platforms strip all EXIF on upload) can remove all EXIF and IPTC data. What stripping tools cannot do is alter the pixel-level forensic signatures written during capture. A stripped image is not a sanitised one: the PRNU fingerprint, CFA correlation, and JPEG quantisation table remain intact.

Partial stripping is forensically more informative than complete removal. Editing workflows that preserve some EXIF fields while rewriting others leave a metadata archaeology layer. A common pattern: Adobe Lightroom exports retain the CameraSerialNumber and LensMake fields from the original Makernote but rewrite DateTimeOriginal to the export time and add an XMP packet signed with a Lightroom history. If the claimed context is an unedited original, this history is contradicting that claim.

XMP history blocks provide a direct record of software operations performed on the file. Applications that write XMP include an xmpMM:History entry for each action taken on the file: open, save, export, and the software name and version. A file with an XMP history showing three separate Photoshop save operations is not an unedited original, whatever the EXIF DateTimeOriginal says.

  • Timestamp conflicts: DateTimeOriginal earlier than the creation date of the claimed software version suggests fabricated capture times.
  • GPS/clock inconsistency: GPS UTC timestamp and DateTimeOriginal displaced by an amount that is not a whole-hour timezone offset suggests manipulation rather than timezone correction.
  • Software fingerprint mismatch: EXIF Software tag claiming direct camera output while XMP reveals a history of Photoshop operations is an internal contradiction.
  • Absent Makernote: a JPEG with standard EXIF but no Makernote from a brand that always writes one (Canon, Nikon, Sony) suggests the file was re-saved by software that could not preserve the proprietary block.

MP4 atom hierarchy and video timeline analysis

An MP4 file is a hierarchy of typed units called boxes (or atoms in QuickTime terminology). Each box has a four-byte length, a four-byte type code, and a data payload. Boxes nest: the moov box contains trak boxes for each track, which contain mdia and minf boxes, which contain stbl (sample table) boxes that index every compressed frame.

ftypmoovmdatmvhd\n(header)trak\n(video)trak\n(audio)stbl\n(sampletable)udta /uuid\n(devicemeta)sample offsets into mdat
MP4 atom/box hierarchy: ftyp, moov, and mdat layout.

The key boxes for forensic timeline analysis are:

  • mvhd (Movie Header): stores creation time and modification time as seconds since 1904-01-01 (Macintosh epoch). These are set by the recording software; a modification time that predates the creation time is impossible under normal conditions.
  • stts (Sample-to-Time): maps each sample to its duration in the timeline. Gaps or zero-duration entries can indicate deleted or replaced samples.
  • stco / co64 (Chunk Offset): stores the byte offset of each media chunk within the file. If offsets have been rewritten while the media data has not, or vice versa, the file is internally inconsistent.
  • udta / uuid: vendor-specific boxes that carry device model, firmware version, GPS, orientation, and software metadata. Their content is a device fingerprint independent of the video bitstream.

A comparison of the creation time in the mvhd box with the file system timestamps (ctime, mtime) and with the GPS timestamps embedded in the udta box can reveal whether the file has been moved, copied, or re-packaged since its original creation. File system timestamps are easily altered by setting the system clock, but aligning them convincingly with all three internal timestamp sources simultaneously is much harder.

RIFF chunk structure in WAV audio

WAV files use the RIFF (Resource Interchange File Format) chunk structure, originally developed by Microsoft and IBM. The file starts with a four-byte RIFF identifier, a four-byte total length, and a four-byte format identifier ('WAVE'). Inside the WAVE container, chunks are arranged as a flat or mildly nested sequence of typed records.

The mandatory fmt chunk (format chunk) defines the audio parameters: PCM or IEEE float, number of channels, sample rate, bit depth, and byte rate. The data chunk holds the actual PCM samples. Several optional chunks are forensically interesting:

  • BEXT (Broadcast Wave Extension): defined in EBU Tech 3285. Contains a 256-character description, an originator reference (recorder model), a date and time string, and a 64-bit sample-accurate timestamp referenced to midnight. Common in professional recording equipment and broadcast systems. The originator reference is an encoder fingerprint.
  • INFO: an RIFF list chunk containing named sub-fields (INAM for title, ICRD for creation date, ISFT for software, IENG for engineer). The ISFT field records the recording or editing software name and version.
  • id3 or _PMX: some WAV files carry ID3v2 tags (normally associated with MP3) or XMP metadata in non-standard chunks. These carry editing history in the same form as image XMP, including application version and processing actions.
Check your understanding
Question 1 of 4· 0 answered

A JPEG file has EXIF DateTimeOriginal set to 2020-06-01 and a GPS UTC timestamp that implies the local time was 2020-06-01 minus two hours. What is the most likely explanation for this discrepancy?

Key Takeaways

  • EXIF, IPTC, and XMP are three independent metadata layers in JPEG files; inconsistencies between them (conflicting timestamps, absent Makernote, XMP history contradicting claimed origin) are primary forensic signals.
  • Makernote data is manufacturer-proprietary and model-specific; its presence, structure, and internal consistency with standard EXIF fields can verify or contradict the claimed source device.
  • GPS metadata requires corroboration from image content, cell records, and meteorological data; the relationship between GPS UTC time and DateTimeOriginal can expose clock manipulation that is not visible in either timestamp alone.
  • The MP4 moov atom hierarchy encodes a complete file-structure record independent of the video bitstream; creation/modification timestamps, sample table gaps, and vendor-specific udta boxes all carry forensically exploitable information.
  • WAV BEXT and INFO chunks carry recorder fingerprints and timestamps; inconsistencies between the BEXT TimeReference and the data chunk length indicate post-capture modification of either the audio or the metadata.
What is the difference between EXIF, IPTC, and XMP metadata?
EXIF is a binary metadata standard embedded in JPEG and TIFF files at capture time; it records camera settings, timestamps, and GPS. IPTC is an older standard for editorial metadata (caption, credit, copyright). XMP is Adobe's XML-based extensible metadata platform that can carry all three vocabularies plus custom fields. In practice many image files contain all three, sometimes with inconsistencies between them.
How reliable is the GPS data in EXIF for placing a photograph at a location?
EXIF GPS coordinates are as reliable as the device's location service at the time of capture. They can be precise to a few metres with a clear sky fix. However, GPS data can be stripped, fabricated, or outdated. An examiner correlates the GPS claim against cell-tower records, shadow direction, landmarks in the image, and local time implied by the timestamp before treating coordinates as confirmed.
What is a Makernote and why is it forensically valuable?
A Makernote is a manufacturer-defined EXIF tag (0x927C) whose contents are proprietary to each camera manufacturer and model family. It stores settings not covered by the standard EXIF spec: scene recognition mode, focus point, noise reduction level, and serial-number derivatives. Its presence, structure, and internal consistency with standard EXIF are used to verify that a file originated from the claimed device.
Can metadata stripping tools remove all forensically useful information from an image file?
Stripping tools remove the metadata segments but leave the pixel data intact. Forensic methods that operate on pixel statistics (PRNU, CFA analysis, noise model, JPEG artefacts) are unaffected by metadata removal. Partial stripping can itself be a signal: a file retaining some EXIF tags but not others suggests selective editing rather than a clean capture.
How is the MP4 moov atom used in forensic timeline analysis?
The moov atom contains the complete index of the file: all track sample tables, timing offsets, creation and modification timestamps, and track-level metadata. Parsing it directly lets an examiner reconstruct the precise capture timeline, detect gaps in the sample table, verify audio-video synchronisation, and identify vendor-specific boxes that reveal the recording software or device model.

Test yourself on Forensic Audio, Video and Image Analysis with free, timed mocks.

Practice Forensic Audio, Video and Image Analysis questions

Found this useful? Pass it along.

Share

Spotted an error in this page? Report a correction or read our editorial standards.

Your journey to becoming a forensic professional starts here.

Practice with mock tests, learn from structured notes, and get your questions answered by a global forensic community, all in one place.