Crush — Format Reference

Built from crush/data/build_formats_db.py at commit 640a2a9928f4 on 2026-10-21 06:46:19 UTC.

← All formats

GIF Image

FormatGIF Image
Short nameGIF
Categorymedia
PlatformsWindows, macOS, Linux, iOS, Android, QNX
Crush supportSupported (ImageParser)
StatusReviewed
Last reviewed2026-10-04

Forensic relevance

Palette-based image format supporting animation, used in messaging apps, browser caches, and social media. Limited to 256 colors per frame — genuine photos in GIF format are rare and worth scrutinizing. GIF89a adds animation frames, comment extensions (free-text metadata), plain text extensions, and application extensions. The file terminates with a trailer byte (0x3B) — any data appended after the trailer is forensically significant. Steganography is possible via LSB encoding in the global color palette, palette reordering, or data hidden in comment/application extension blocks. Animated GIFs can hide different content in individual frames. A C2PA (Content Credentials) manifest, when present, is carried in a dedicated Application Extension block (identifier 'C2PA_GIF') and can record generating/editing software and an IPTC Digital Source Type — a direct AI-generation/-editing signal.

Signatures

OffsetHex ASCII (non-printable as .)Description
offset 0 (0x0)47 49 46 38 37 61GIF87aGIF87a header — static images only
offset 0 (0x0)47 49 46 38 39 61GIF89aGIF89a header — animation, comments, and extensions supported

Known extensions

.gif

References

Cite this entry

Crush Format Reference, “GIF Image”. https://kalink0.github.io/crush-forensics/formats/gif/ — source: crush/data/build_formats_db.py at commit 640a2a9928f4e36a976b89901512a8dce824d093, built 2026-10-21 06:46:19 UTC.

Entry in the source at this commit · Change history of the source · Report a correction