WordPerfect text and graphics file
application/vnd.wordperfect
Magic Bytes
Offset: 0
61 70 70 6C 69 63 61 74 69 6F 6E 2F 76 6E 64 2E 77 6F 72 64 70 65 72 66 65 63 74 3B
WordPerfect Document (WPD) is a proprietary word processing format created by Satellite Software International and currently maintained by Corel Corporation. This legacy format was historically the primary tool for document creation in legal and government environments due to its specific formatting and layout controls. Although widely replaced by XML-based standards, WPD files remain safe for archival use and lack the complex macro-execution vulnerabilities typically found in many contemporary word processing formats.
Validation Code
How to validate .wpd files in Python
Python
def is_wpd(file_path: str) -> bool:
"""Check if file is a valid WPD by magic bytes."""
signature = bytes([0x61, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2F, 0x76, 0x6E, 0x64, 0x2E, 0x77, 0x6F, 0x72, 0x64, 0x70, 0x65, 0x72, 0x66, 0x65, 0x63, 0x74, 0x3B])
with open(file_path, "rb") as f:
return f.read(28) == signature
How to validate .wpd files in Node.js
Node.js
function isWPD(buffer: Buffer): boolean {
const signature = Buffer.from([0x61, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2F, 0x76, 0x6E, 0x64, 0x2E, 0x77, 0x6F, 0x72, 0x64, 0x70, 0x65, 0x72, 0x66, 0x65, 0x63, 0x74, 0x3B]);
return buffer.subarray(0, 28).equals(signature);
}
Go
func IsWPD(data []byte) bool {
signature := []byte{0x61, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2F, 0x76, 0x6E, 0x64, 0x2E, 0x77, 0x6F, 0x72, 0x64, 0x70, 0x65, 0x72, 0x66, 0x65, 0x63, 0x74, 0x3B}
if len(data) < 28 {
return false
}
return bytes.Equal(data[:28], signature)
}
API Endpoint
GET
/api/v1/wpd
curl https://filesignature.org/api/v1/wpd