J2K
application/octet-stream
Magic Bytes
Offset: 0
00 00 00 0C 6A 50 20 20 0D 0A 87 0A
J2K is a raw image codestream format associated with the JPEG 2000 standard, developed by the Joint Photographic Experts Group. This format supports advanced lossless and lossy compression, making it a standard choice for medical imaging, digital cinema, and geospatial analysis. Unlike the common JP2 container format, J2K files typically store raw image data without extensive metadata headers, presenting minimal security risks during viewing.
Validation Code
How to validate .j2k files in Python
Python
def is_j2k(file_path: str) -> bool:
"""Check if file is a valid J2K 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 .j2k files in Node.js
Node.js
function isJ2K(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 IsJ2K(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/j2k
curl https://filesignature.org/api/v1/j2k