Microsoft® Windows® User State Migration Tool magic bytes (.dat)
.dat file signature: 50 4D 4F 43 43 4D 4F 43 | application/octet-stream
Microsoft Windows User State Migration Tool (USMT) is a file format associated with Microsoft’s USMT utilities for capturing and restoring user state data during system migrations. It is used to transfer user profiles, settings, and application data between Windows installations, especially in enterprise deployment and upgrade scenarios. The format is generally safe and historically tied to older Windows versions, including Windows XP, Vista, and Windows 7.
Magic Bytes
Offset 0
50 4D 4F 43 43 4D 4F 43
Sources: Wikipedia, Gary Kessler
All Known Signatures
21 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 |
| 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 |
| F9 BE B4 D9 | 0 | Gary Kessler |
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) is a file format associated with Microsoft’s USMT utilities for capturing and restoring user state data during system migrations. It is used to transfer user profiles, settings, and application data between Windows installations, especially in enterprise deployment and upgrade scenarios. The format is generally safe and historically tied to older Windows versions, including Windows XP, Vista, and Windows 7.
What are the magic bytes for .dat files?
The magic bytes for Microsoft® Windows® User State Migration Tool (.dat) files are 50 4D 4F 43 43 4D 4F 43 at byte offset 0. These bytes identify the file format more reliably than the extension alone.
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.