Corel Paint Shop Pro image file
application/octet-stream
Magic Bytes
Offset: 0
7E 45 53 44 77 F6 85 3E BF 6A D2 11 45 61 73 79 20 53 74 72 65 65 74 20 44 72 61 77
The Corel Paint Shop Pro image file (PSP) is a raster and vector graphics format originally created by Jasc Software and currently maintained by Corel. It serves as the native project format for the Paint Shop Pro photo editing suite, supporting layers, transparency, and non-destructive editing elements. While largely a legacy format compared to modern industry standards, it remains safe for archival use, though users should ensure software compatibility when migrating older projects to current imaging applications.
Validation Code
How to validate .psp files in Python
Python
def is_psp(file_path: str) -> bool:
"""Check if file is a valid PSP by magic bytes."""
signature = bytes([0x7E, 0x45, 0x53, 0x44, 0x77, 0xF6, 0x85, 0x3E, 0xBF, 0x6A, 0xD2, 0x11, 0x45, 0x61, 0x73, 0x79, 0x20, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x20, 0x44, 0x72, 0x61, 0x77])
with open(file_path, "rb") as f:
return f.read(28) == signature
How to validate .psp files in Node.js
Node.js
function isPSP(buffer: Buffer): boolean {
const signature = Buffer.from([0x7E, 0x45, 0x53, 0x44, 0x77, 0xF6, 0x85, 0x3E, 0xBF, 0x6A, 0xD2, 0x11, 0x45, 0x61, 0x73, 0x79, 0x20, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x20, 0x44, 0x72, 0x61, 0x77]);
return buffer.subarray(0, 28).equals(signature);
}
Go
func IsPSP(data []byte) bool {
signature := []byte{0x7E, 0x45, 0x53, 0x44, 0x77, 0xF6, 0x85, 0x3E, 0xBF, 0x6A, 0xD2, 0x11, 0x45, 0x61, 0x73, 0x79, 0x20, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x20, 0x44, 0x72, 0x61, 0x77}
if len(data) < 28 {
return false
}
return bytes.Equal(data[:28], signature)
}
API Endpoint
GET
/api/v1/psp
curl https://filesignature.org/api/v1/psp