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
The WordPerfect text and graphics file is a proprietary word processing format originally developed by Satellite Software International and currently maintained by Corel Corporation. It is primarily used to store complex documents containing formatted text, mathematical tables, and embedded vector or bitmap graphics. Although largely superseded by modern XML-based standards, it remains an important legacy format within legal and government sectors that require precise control over layout and document structure.
Validation Code
How to validate .wp files in Python
Python
def is_wp(file_path: str) -> bool:
"""Check if file is a valid WP 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 .wp files in Node.js
Node.js
function isWP(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 IsWP(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/wp
curl https://filesignature.org/api/v1/wp