Microsoft® Windows® User State Migration Tool (.dat)
.dat file signature | application/octet-stream
Microsoft® Windows® User State Migration Tool (USMT).USMT 3.0applies to Windows XP and Windows Vista®, andUSMT 4.0is for Windows 7.
Magic Bytes
Offset 0
50 4D 4F 43 43 4D 4F 43
Sources: Wikipedia, Gary Kessler
All Known Signatures
27 signature variants are documented for .dat files across multiple sources.
| Hex Signature | Offset | Sources |
|---|---|---|
| 50 4D 4F 43 43 4D 4F 43 | 0 | Wikipedia, Gary Kessler |
| 72 65 67 66 | 0 | Wikipedia, Gary Kessler |
| 00 00 00 00 62 31 05 00 09 00 00 00 00 20 00 00 00 09 00 00 00 00 00 00 | 8 | Gary Kessler |
| 1A 52 54 53 20 43 4F 4D 50 52 45 53 53 45 44 20 49 4D 41 47 45 20 56 31 2E 30 1A | 0 | Gary Kessler |
| 41 56 47 36 5F 49 6E 74 65 67 72 69 74 79 5F 44 61 74 61 62 61 73 65 | 0 | Gary Kessler |
| 43 52 45 47 | 0 | Gary Kessler |
| 43 6C 69 65 6E 74 20 55 72 6C 43 61 63 68 65 20 4D 4D 46 20 56 65 72 20 | 0 | Gary Kessler |
| 45 52 46 53 53 41 56 45 44 41 54 41 46 49 4C 45 | 0 | Gary Kessler |
| 49 6E 6E 6F 20 53 65 74 75 70 20 55 6E 69 6E 73 74 61 6C 6C 20 4C 6F 67 20 28 62 29 | 0 | Gary Kessler |
| 4E 41 56 54 52 41 46 46 49 43 | 0 | Gary Kessler |
| 50 45 53 54 | 0 | Gary Kessler |
| 50 4E 43 49 55 4E 44 4F | 0 | Gary Kessler |
| 52 41 5A 41 54 44 42 31 | 0 | Gary Kessler |
| 52 49 46 46 | 0 | Gary Kessler |
| 55 46 4F 4F 72 62 69 74 | 0 | Gary Kessler |
| 57 4D 4D 50 | 0 | Gary Kessler |
| 6F 3C | 0 | Gary Kessler |
| 6F 70 64 61 74 61 30 31 | 0 | Gary Kessler |
| 73 6C 68 21 | 0 | Gary Kessler |
| 73 6C 68 2E | 0 | Gary Kessler |
| A9 0D 00 00 00 00 00 00 | 0 | Gary Kessler |
| BE BA FE CA 0F 50 61 6C 6D 53 47 20 44 61 74 61 | 0 | Gary Kessler |
| CE BD AF FF FF | 0 | Gary Kessler |
| CE BD AF FF FF FF | 0 | Gary Kessler |
| CE BD AF FF FF 0F FF FF FF 0F | 0 | Gary Kessler |
| CE BD AF FF FF 0F FF FF FF FF | 0 | Gary Kessler |
| F9 BE B4 D9 | 0 | Gary Kessler |
Extension
.dat
MIME Type
application/octet-stream
Byte Offset
0
Risk Level
Safe
Validation Code
How to validate .dat files in Python
def is_dat(file_path: str) -> bool:
"""Check if file is a valid DAT by magic bytes."""
signature = bytes([0x50, 0x4D, 0x4F, 0x43, 0x43, 0x4D, 0x4F, 0x43])
with open(file_path, "rb") as f:
return f.read(8) == signature
How to validate .dat files in Node.js
function isDAT(buffer: Buffer): boolean {
const signature = Buffer.from([0x50, 0x4D, 0x4F, 0x43, 0x43, 0x4D, 0x4F, 0x43]);
return buffer.subarray(0, 8).equals(signature);
}
How to validate .dat files in Go
func IsDAT(data []byte) bool {
signature := []byte{0x50, 0x4D, 0x4F, 0x43, 0x43, 0x4D, 0x4F, 0x43}
if len(data) < 8 {
return false
}
return bytes.Equal(data[:8], signature)
}
API Endpoint
/api/v1/dat
curl https://filesignature.org/api/v1/dat
See the full API documentation for all endpoints and parameters.
Frequently Asked Questions
What is a .dat file?
A .dat file is a Microsoft® Windows® User State Migration Tool file. Microsoft® Windows® User State Migration Tool (USMT).USMT 3.0applies to Windows XP and Windows Vista®, andUSMT 4.0is for Windows 7.
What are the magic bytes for .dat files?
The magic bytes for Microsoft® Windows® User State Migration Tool files are 50 4D 4F 43 43 4D 4F 43 at byte offset 0. These bytes uniquely identify the file format regardless of the file extension.
How do I validate a .dat file?
To validate a .dat file, read the first bytes of the file and compare them against the known magic bytes (50 4D 4F 43 43 4D 4F 43) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.
What is the MIME type for .dat files?
There is no officially registered MIME type for .dat files. Systems typically use application/octet-stream as a generic fallback when handling this format.
Is it safe to open .dat files?
Microsoft® Windows® User State Migration Tool (.dat) files are generally safe to open. They are classified as low risk because they primarily contain data rather than executable code. However, always ensure files come from a trusted source.