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 format is a proprietary document specification developed by the WordPerfect Corporation for its version 5.x software suite. It was primarily utilized for generating complex business reports, legal documentation, and manuscripts that required precise formatting control and embedded graphical elements. This legacy format is now considered obsolete, though it is frequently encountered in digital archives and requires specialized conversion tools or legacy-aware productivity suites for data access.
Validation Code
How to validate .wp5 files in Python
Python
def is_wp5(file_path: str) -> bool:
"""Check if file is a valid WP5 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 .wp5 files in Node.js
Node.js
function isWP5(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 IsWP5(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/wp5
curl https://filesignature.org/api/v1/wp5