{"id":"image-hsj2","mimeType":"image/hsj2","name":"JPEG 2000 Image Sequence (Obsolete)","shortName":"HSJ2","category":"Legacy","extensions":[".hsj2"],"description":"HSJ2 is an obsolete MIME type originally designed to encapsulate Motion JPEG 2000 (ISO/IEC 15444-3) image sequences within a High Efficiency Image File Format (HEIF) container. It has been officially deprecated by the JPEG committee and superseded by the newer image/hej2k format.","seo":{"title":"image/hsj2 MIME Type | Complete Developer Reference \u0026 Magic Bytes","description":"Complete reference for the obsolete image/hsj2 MIME type: magic bytes, browser support matrix, HTTP headers, developer snippets, and technical specifications.","faqs":[{"question":"What is the image/hsj2 format?","answer":"It is an obsolete MIME type and encapsulation method intended to store Motion JPEG 2000 image sequences inside a HEIF (ISOBMFF) container."},{"question":"Is HSJ2 still used?","answer":"No. The encapsulation of these image sequences and the image/hsj2 media type are deprecated and not recommended for new applications. They have been entirely replaced by the image/hej2k media type for JPEG 2000 image sequences."},{"question":"Are HSJ2 images supported in web browsers?","answer":"No. There is zero native web browser support for this deprecated JPEG 2000 sequence format."}]},"index":{"compression":["Lossy","Lossless"],"browserSupport":{"score":1,"label":"None"},"commonUses":["Legacy Archival","Deprecated Workflows"]},"technical":{"magicBytes":{"hex":"XX XX XX XX 66 74 79 70 68 73 6A 32","ascii":"....ftyphsj2"},"container":"HEIF / ISOBMFF (ISO/IEC 15444-16 Obsolete)","compressionAlgorithm":["Motion JPEG 2000 (ISO/IEC 15444-3)"],"colorDepth":["8-bit","10-bit","12-bit","16-bit"],"transparency":true,"animation":true,"metadata":{"exif":true,"xmp":true,"iccProfile":true},"alphaChannel":true,"progressiveLoading":true,"hdrSupport":true},"history":{"developer":"ISO/IEC JTC 1 / ITU-T","released":"2019","specification":"ISO/IEC 15444-16 (Deprecated Section)"},"browserSupport":{"chrome":false,"chromeVersion":"None","firefox":false,"firefoxVersion":"None","safari":false,"safariVersion":"None","edge":false,"edgeVersion":"None","internetExplorer":false},"softwareSupport":[{"name":"Kakadu Software (Legacy)","logo":""}],"conversion":{"convertTo":["hej2","jp2"],"convertFrom":["jp2","j2k"]},"developer":{"httpHeaders":[{"header":"Content-Type","value":"image/hsj2"}],"htmlAccept":"image/hsj2, .hsj2","fileDetection":["Check for ISOBMFF 'ftyp' box starting at byte offset 4","Verify historical 'hsj2' brand string or similar Motion JPEG 2000 signature starting at byte offset 8"]},"prosCons":{"pros":["Historically attempted to combine Motion JPEG 2000 sequences with the flexible metadata capabilities of the HEIF container","Supported mathematically lossless compression and scalable wavelet decoding"],"cons":["Officially deprecated by the standardization body (ISO/IEC JTC 1)","Completely superseded by image/hej2k, rendering hsj2 files obsolete for any new development or archiving","Zero web browser compatibility and negligible modern software support"]},"specifications":{"url":"https://ds.jpeg.org/","rfc":"","mimeAliases":["image/hej2k"]},"developerSnippets":{"python":"import magic\nprint(magic.from_file('sequence.hsj2', mime=True)) # May default to generic 'application/octet-stream' or 'image/heif'","nodejs":"const FileType = require('file-type');\nconst type = await FileType.fromFile('sequence.hsj2');\nconsole.log(type?.mime); // Standard libraries will likely not detect this deprecated format natively","go":"import \"net/http\"\n// Custom ISOBMFF parsing is required to detect historical 'hsj2' container brands.","php":"$mime = mime_content_type('sequence.hsj2');\necho $mime; // application/octet-stream"},"relatedFormats":["hej2k","heif-sequence"]}
