{"id":"image-jpx","mimeType":"image/jpx","name":"JPEG 2000 Part 2 (Extended)","shortName":"JPX","category":"Professional \u0026 Archival","extensions":[".jpx",".jpf"],"description":"JPX is Part 2 of the JPEG 2000 standard, representing an extended version of the core JP2 format. It introduces advanced capabilities such as support for multiple codestreams (enabling animation and compositing), expanded color spaces (like CMYK), advanced opacity channels, and richer metadata schemas.","seo":{"title":"image/jpx MIME Type | Complete Developer Reference \u0026 Magic Bytes","description":"Complete reference for the image/jpx MIME type: magic bytes, software support, HTTP headers, developer snippets, and technical specifications for JPEG 2000 Extended (JPX).","faqs":[{"question":"What is the difference between JP2 and JPX?","answer":"JP2 (image/jp2) is Part 1 of the JPEG 2000 standard and forms the baseline format supporting basic RGB/Grayscale continuous-tone images. JPX (image/jpx) is Part 2, adding extensions for advanced color spaces (CMYK), animation via multiple codestreams, complex compositing, and fragmented file structures."},{"question":"What is the magic byte for a JPX file?","answer":"A JPX file begins with the same standard JPEG 2000 12-byte signature box (00 00 00 0C 6A 50 20 20 0D 0A 87 0A). However, its 'ftyp' (File Type) box specifically contains the major brand 'jpx ' (6A 70 78 20 in hex)."},{"question":"Are JPX files supported in web browsers?","answer":"No. While Safari has historical support for baseline JP2, extended JPX files are vastly more complex and are not natively supported by any modern web browser. They are meant for professional prepress, archival, and geospatial workflows."}]},"index":{"compression":["Lossy","Lossless"],"browserSupport":{"score":1,"label":"None"},"commonUses":["Prepress \u0026 Commercial Printing (CMYK)","Geospatial Data","Archival Preservation","Medical Imaging"]},"technical":{"magicBytes":{"hex":"00 00 00 0C 6A 50 20 20 0D 0A 87 0A ... 66 74 79 70 6A 70 78 20","ascii":"....jP  ........ftypjpx "},"container":"ISOBMFF / JPX (ISO/IEC 15444-2)","compressionAlgorithm":["Discrete Wavelet Transform (DWT)"],"colorDepth":["8-bit","16-bit","32-bit","38-bit"],"transparency":true,"animation":true,"metadata":{"exif":true,"xmp":true,"iccProfile":true},"alphaChannel":true,"progressiveLoading":true,"hdrSupport":true},"history":{"developer":"Joint Photographic Experts Group (JPEG)","released":"2002","specification":"ISO/IEC 15444-2 (JPEG 2000 Part 2)"},"browserSupport":{"chrome":false,"chromeVersion":"None","firefox":false,"firefoxVersion":"None","safari":false,"safariVersion":"None","edge":false,"edgeVersion":"None","internetExplorer":false},"softwareSupport":[{"name":"Adobe Photoshop","logo":""},{"name":"ImageMagick","logo":"image-magic.webp"},{"name":"Kakadu Software","logo":""},{"name":"OpenJPEG","logo":""}],"conversion":{"convertTo":["jp2","tiff","png","jpeg"],"convertFrom":["tiff","jp2"]},"developer":{"httpHeaders":[{"header":"Content-Type","value":"image/jpx"}],"htmlAccept":"image/jpx, .jpx, .jpf","fileDetection":["Check the first 12 bytes for the standard JPEG 2000 signature box (00 00 00 0C 6A 50 20 20 0D 0A 87 0A)","Read the immediately following File Type (ftyp) box and verify the major brand string is 'jpx ' (6A 70 78 20)"]},"prosCons":{"pros":["Removes the color space limitations of baseline JP2, adding native support for CMYK, CIE Lab, and custom vendor color spaces","Supports multiple codestreams in a single file, allowing for rich compositing and animation","Enables fragmented files where image data and metadata can reside in separate physical files via data references"],"cons":["Extremely complex specification makes full software implementation rare, leading to compatibility issues","Zero web browser support, rendering it unsuitable for public internet distribution","Often overkill for standard imaging tasks where baseline JP2 or modern alternatives like AVIF suffice"]},"specifications":{"url":"https://jpeg.org/jpeg2000/","rfc":"RFC 3745","mimeAliases":["image/jpf"]},"developerSnippets":{"python":"import magic\nprint(magic.from_file('image.jpx', mime=True)) # May default to generic 'image/jp2' depending on libmagic configuration","nodejs":"const FileType = require('file-type');\nconst type = await FileType.fromFile('image.jpx');\nconsole.log(type?.mime); // Standard libraries may struggle to distinguish JPX from JP2","go":"import \"net/http\"\n// Custom ISOBMFF parsing is required to read the 'jpx ' brand inside the ftyp box.","php":"$mime = mime_content_type('image.jpx');\necho $mime; // Standard implementations often map this to application/octet-stream or image/jp2"},"relatedFormats":["jp2","jpm","tiff","jpeg-2000"]}
