An Object Linking and Embedding (.doc)
.doc file signature | application/msword
An Object Linking and Embedding (OLE) Compound File (CF) (i.e.,OLECF)file format, known asCompound Binary File formatby Microsoft, used byMicrosoft Office 97-2003 applications (Word, Powerpoint, Excel, Wizard). Part ofMicrosoft'sStructured Storage (MSS)architecture for Component Object Model (COM)-basedoperating systems.[See also Excel, Outlook, PowerPoint, and Word "subheaders" at byte offset 512 (0x200).]There appear to several subheader formats and a dearth of documentation.There have been re
Magic Bytes
Offset 0
D0 CF 11 E0 A1 B1 1A E1
Sources: Apache Tika, Wikipedia, Gary Kessler
All Known Signatures
17 signature variants are documented for .doc files across multiple sources.
| Hex Signature | Offset | Sources |
|---|---|---|
| D0 CF 11 E0 A1 B1 1A E1 | 0 | Apache Tika, Wikipedia, Gary Kessler |
| 0D 44 4F 43 | 0 | Wikipedia, Gary Kessler |
| 4D 69 63 72 6F 73 6F 66 74 20 57 6F 72 64 20 36 2E 30 20 44 6F 63 75 6D 65 6E 74 | 2080 | Apache Tika |
| 44 6F 63 75 6D 65 6E 74 6F 20 4D 69 63 72 6F 73 6F 66 74 20 57 6F 72 64 20 36 | 2080 | Apache Tika |
| 4D 53 57 6F 72 64 44 6F 63 | 2112 | Apache Tika |
| 31 BE 00 00 | 0 | Apache Tika |
| 50 4F 5E 51 60 | 0 | Apache Tika |
| FE 37 00 23 | 0 | Apache Tika |
| DB A5 2D 00 00 00 | 0 | Apache Tika |
| 94 A6 2E | 0 | Apache Tika |
| CE FA ED FE | 0 | Gary Kessler |
| CF 11 E0 A1 B1 1A E1 00 | 0 | Gary Kessler |
| CF FA ED FE | 0 | Gary Kessler |
| DB A5 2D 00 | 0 | Gary Kessler |
| EB 52 90 2D 46 56 45 2D 46 53 2D | 0 | Gary Kessler |
| EB 58 90 2D 46 56 45 2D 46 53 2D | 0 | Gary Kessler |
| 51 20 BE FF EE A5 C1 00 | 0 | Gary Kessler |
Extension
.doc
MIME Type
application/msword
Byte Offset
0
Risk Level
Safe
Validation Code
How to validate .doc files in Python
def is_doc(file_path: str) -> bool:
"""Check if file is a valid DOC by magic bytes."""
signature = bytes([0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1])
with open(file_path, "rb") as f:
return f.read(8) == signature
How to validate .doc files in Node.js
function isDOC(buffer: Buffer): boolean {
const signature = Buffer.from([0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1]);
return buffer.subarray(0, 8).equals(signature);
}
How to validate .doc files in Go
func IsDOC(data []byte) bool {
signature := []byte{0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1}
if len(data) < 8 {
return false
}
return bytes.Equal(data[:8], signature)
}
API Endpoint
/api/v1/doc
curl https://filesignature.org/api/v1/doc
See the full API documentation for all endpoints and parameters.
Frequently Asked Questions
What is a .doc file?
A .doc file is a An Object Linking and Embedding file. An Object Linking and Embedding (OLE) Compound File (CF) (i.e.,OLECF)file format, known asCompound Binary File formatby Microsoft, used byMicrosoft Office 97-2003 applications (Word, Powerpoint, Excel, Wizard). Part ofMicrosoft'sStructured Storage (MSS)architecture for Component Object Model (COM)-basedoperating systems.[See also Excel, Outlook, PowerPoint, and Word "subheaders" at byte offset 512 (0x200).]There appear to several subheader formats and a dearth of documentation.There have been re
What are the magic bytes for .doc files?
The magic bytes for An Object Linking and Embedding files are D0 CF 11 E0 A1 B1 1A E1 at byte offset 0. These bytes uniquely identify the file format regardless of the file extension.
How do I validate a .doc file?
To validate a .doc file, read the first bytes of the file and compare them against the known magic bytes (D0 CF 11 E0 A1 B1 1A E1) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.
What is the MIME type for .doc files?
The primary MIME type for .doc files is application/msword.
Is it safe to open .doc files?
An Object Linking and Embedding (.doc) 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.