Various JPEG-2000 image file formats
image/jp2
Magic Bytes
Offset: 0
00 00 00 0C 6A 50 20 20 0D 0A 87 0A
JPEG 2000 is a wavelet-based image compression standard and coding system created by the Joint Photographic Experts Group committee. It is primarily utilized in professional environments like medical imaging, digital cinema, and archival contexts due to its support for superior lossless compression. Despite offering technical advantages over the original JPEG format, its computational complexity and historical patent concerns prevented widespread web adoption, keeping it restricted to specialized high-fidelity applications.
Validation Code
How to validate .jp2 files in Python
Python
def is_jp2(file_path: str) -> bool:
"""Check if file is a valid JP2 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 .jp2 files in Node.js
Node.js
function isJP2(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 IsJP2(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/jp2
curl https://filesignature.org/api/v1/jp2