JPM
image/jpm
Magic Bytes
Offset: 0
00 00 00 0C 6A 50 20 20 0D 0A 87 0A
The JPEG 2000 Multi-layer Image system (JPM) is a file format defined in Part 6 of the ISO/IEC 15444 standard by the Joint Photographic Experts Group. It is designed to store compound documents containing mixtures of text, line art, and continuous-tone images within a single highly compressed file. This format employs Mixed Raster Content (MRC) architecture to segment image layers, offering superior performance for digital document archiving compared to standard single-layer formats.
Validation Code
How to validate .jpm files in Python
Python
def is_jpm(file_path: str) -> bool:
"""Check if file is a valid JPM by magic bytes."""
signature = bytes([0x00, 0x00, 0x00, 0x0C, 0x6A, 0x50, 0x20, 0x20, 0x0D, 0x0A, 0x87, 0x0A])
with open(file_path, "rb") as f:
return f.read(12) == signature
How to validate .jpm files in Node.js
Node.js
function isJPM(buffer: Buffer): boolean {
const signature = Buffer.from([0x00, 0x00, 0x00, 0x0C, 0x6A, 0x50, 0x20, 0x20, 0x0D, 0x0A, 0x87, 0x0A]);
return buffer.subarray(0, 12).equals(signature);
}
Go
func IsJPM(data []byte) bool {
signature := []byte{0x00, 0x00, 0x00, 0x0C, 0x6A, 0x50, 0x20, 0x20, 0x0D, 0x0A, 0x87, 0x0A}
if len(data) < 12 {
return false
}
return bytes.Equal(data[:12], signature)
}
API Endpoint
GET
/api/v1/jpm
curl https://filesignature.org/api/v1/jpm