FF D8

File signature reference (magic numbers)

The hex bytes that identify 109 file formats. Sortable, searchable, one page per signature.

Every file format has a fingerprint: a short run of bytes near the start that identifies it no matter what the filename says. Developers call these magic numbers or file signatures. This table lists 109 of them with the byte offset where each appears. Click any format to open a full breakdown of that signature, or drop a file into the in-browser identifier to check one instantly.

109 signatures
Hex signatureUsed by
3GP66 74 79 70 33 67 704.3gp
7Z37 7A BC AF 27 1C0.7z, .cb7
AAC (ADTS)FF F10.aac
ACE2A 2A 41 43 45 2A 2A7.ace
AIFF46 4F 52 4D ?? ?? ?? ?? 41 49 46 460.aiff
AMR speech23 21 41 4D 520.amr
Apache Arrow / Feather41 52 52 4F 57 310.arrow
Apache Avro4F 62 6A 010.avro
Apache Parquet50 41 52 310.parquet
Apple Disk Image6B 6F 6C 790.dmg
ASF (WMV / WMA)30 26 B2 75 8E 66 CF 110.wmv, .wma, .asf
AutoCAD DWG41 43 31 300.dwg
AVI52 49 46 46 ?? ?? ?? ?? 41 56 49 200.avi
AVIF66 74 79 70 61 76 69 664.avif
Binary property list62 70 6C 69 73 74 30 300.plist
BitTorrent64 38 3A 61 6E 6E 6F 75 6E 63 650.torrent
Blender42 4C 45 4E 44 45 520.blend
BMP42 4D0.bmp
bzip242 5A 680.tar, BZ2, TBZ2
Cabinet (CAB)4D 53 43 460.cab
Core Audio Format63 61 66 660.caf
DDS44 44 53 200.dds
Debian package21 3C 61 72 63 68 3E0.deb, AR, LIB
DjVu41 54 26 54 46 4F 52 4D0.djvu
Dolby Digital (AC-3)0B 770.ac3
DSF (DSD audio)44 53 44 200.dsf
DTS surround7F FE 80 010.dts
ELF7F 45 4C 460SO, AXF, core
Enhanced Metafile20 45 4D 4640.emf
FBX (binary)4B 61 79 64 61 72 61 20 46 42 58 20 42 69 6E 61 72 790.fbx
FITS (astronomy)53 49 4D 50 4C 450.fits
FLAC66 4C 61 430.flac
GGUF (local LLM)47 47 55 460.gguf
GIF47 49 46 380.gif
GIMP XCF67 69 6D 70 20 78 63 66 200.xcf
glTF (binary GLB)67 6C 54 460.gltf
gzip1F 8B0.tar, GZ, TGZ, SVGZ
HDF589 48 44 46 0D 0A 1A 0A0.hdf5
HEIC66 74 79 70 68 65 69 634.heic, HEIF, HEIX
ICNS69 63 6E 730.icns
ICO00 00 01 000.ico
ISO 966043 44 30 30 3132769.iso
Java class / Mach-O fatCA FE BA BE0CLASS, Mach-O universal binary
JPEGFF D8 FF0.jpg, .jfif
JPEG 200000 00 00 0C 6A 50 20 20 0D 0A 87 0A0.jp2
JPEG XL00 00 00 0C 4A 58 4C 20 0D 0A 87 0A0.jxl
Mach-OCF FA ED FE0dylib, bundle
MATLAB MAT-file4D 41 54 4C 41 42 20 35 2E 300.mat
Matroska / WebM1A 45 DF A30.mkv, .webm, .mka
MIDI4D 54 68 640.mid
Mobipocket42 4F 4F 4B 4D 4F 42 4960.mobi, .azw
Monkey's Audio4D 41 43 200.ape
MOV66 74 79 70 71 74 20 204.mov
MP349 44 330.mp3
MP466 74 79 704.mp4, .m4v, .m4b, .m4r, .f4v, M4A
MPEG-1/200 00 01 BA0.mpg, .vob
MXF06 0E 2B 34 02 05 01 01 0D 01 02 01 01 020.mxf
NetCDF (classic)43 44 46 010.nc
Netpbm (PPM/PGM/PBM)50 360.ppm
NumPy array93 4E 55 4D 50 590.npy
OGG4F 67 67 530.ogg, .opus, .ogv
OLE2 Compound FileD0 CF 11 E0 A1 B1 1A E10.doc, .xls, .ppt, .msi, .msg, .pub
OneNoteE4 52 5C 7B 8C D8 A7 4D AE B1 53 78 D0 29 96 D30.one
OpenEXR76 2F 31 010.exr
OpenType4F 54 54 4F0.otf
PCAP captureD4 C3 B2 A10.pcap
PCX0A0.pcx
PDF25 50 44 46 2D0.pdf, .ai
PE (EXE / DLL)4D 5A0.exe, .dll, SYS, SCR, OCX
PLY (Stanford)70 6C 79 0A0.ply
PNG89 50 4E 47 0D 0A 1A 0A0.png, .apng
PostScript / EPS25 21 50 530.eps, .ps
PSD38 42 50 530.psd
QCOW2 (QEMU disk)51 46 49 FB0.qcow2
Radiance HDR23 3F 52 41 44 49 41 4E 43 450.hdr
RAR52 61 72 21 1A 07 000.rar, .cbr
RealMedia2E 52 4D 460.rm
RPM packageED AB EE DB0.rpm
RTF7B 5C 72 74 66 310.rtf
Shapefile00 00 27 0A0.shp
SPSS data file24 46 4C 320.sav
SQLite53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 000.sqlite, .db, .mbtiles
StuffIt53 49 54 21 000.sit
Sun audio (.snd)2E 73 6E 640.au
SVG3C 3F 78 6D 6C0.svg
TAR (ustar)75 73 74 61 72257.tar, .cbt, .ova
TIFF49 49 2A 000.tiff, .dng, CR2, NEF, ARW
TrueType00 01 00 000.ttf
TrueType Collection74 74 63 660.ttc
TTA (True Audio)54 54 41 310.tta
Unix compress (.Z)1F 9D0.z
VHD (virtual disk)63 6F 6E 65 63 74 69 780.vhd
VHDX (Hyper-V disk)76 68 64 78 66 69 6C 650.vhdx
VMDK (VMware disk)4B 44 4D 560.vmdk
VRML23 56 52 4D 4C0.wrl
WAV52 49 46 46 ?? ?? ?? ?? 57 41 56 450.wav
WavPack77 76 70 6B0.wv
WebAssembly00 61 73 6D0WASM
WebP52 49 46 46 ?? ?? ?? ?? 57 45 42 500.webp
WebVTT57 45 42 56 54 540.vtt
WIM4D 53 57 49 4D 00 00 000.wim, .esd
Windows cursor00 00 02 000.cur
Windows MetafileD7 CD C6 9A0.wmf
WOFF277 4F 46 320.woff2
WordPerfectFF 57 50 430.wpd
XML3C 3F 78 6D 6C 200.xml
xzFD 37 7A 58 5A 000.xz, .tar, TXZ
ZIP50 4B 03 040.zip, .docx, .xlsx, .pptx, .apk, .epub
Zstandard28 B5 2F FD0.zst, TZST

How to read this table

The hex signature is the sequence of bytes to look for. A pair of question marks (??) means any byte can appear in that position, which is common for RIFF formats like WebP and WAV that embed a size field early on. The offset is how many bytes from the start of the file the signature begins, so an offset of 0 means the very first byte. A few formats, like tar and ISO images, place their marker well into the file.

Many modern formats are actually ZIP archives underneath, including DOCX, XLSX, PPTX, EPUB, APK and JAR. They all share the ZIP signature 50 4B 03 04, so the extension and internal structure decide which one it is.

Frequently asked questions

What are magic numbers in a file?

A short, fixed sequence of bytes at a known position that identifies a file's format regardless of its name. Programs read them to know what a file really is.

Can a file's extension lie about its format?

Yes. The extension is just part of the name and can be changed freely. The magic bytes are the reliable signal, which is why security tools inspect them.

Use the data

Prefer JSON? The whole table is one download at /api/signatures, and every format record, signatures included, is in the free WhatFileType API under a CC BY licence.