WordPerfect text and graphics file

application/vnd.wordperfect

Safe

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.

Extension

.wp

MIME Type

application/vnd.wordperfect

Byte Offset

0

Risk Level

Safe

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

Related Formats