{"id":"image-x-jps","mimeType":"image/x-jps","name":"JPEG Stereo Image","shortName":"JPS","category":"3D \u0026 Stereoscopic Graphics","extensions":[".jps"],"description":"The image/x-jps MIME type represents the JPEG Stereo (JPS) image format, a stereoscopic 3D graphic format based entirely on the standard JPEG specification. A JPS file simply contains two separate images—one for the left eye and one for the right eye—stitched together side-by-side within a single standard JPEG container. When opened in a standard 2D image viewer or web browser, it appears as a wide, side-by-side double image. When opened in specialized stereoscopic software, VR headsets, or 3D displays, the software splits the image in half and presents the left and right halves to the corresponding eyes to create a 3D depth effect.","seo":{"title":"image/x-jps MIME Type | Developer Reference for JPEG Stereo (JPS)","description":"Complete reference for the image/x-jps MIME type: JPEG Stereo (JPS) 3D image format, side-by-side stereoscopic structure, and VR headset compatibility.","faqs":[{"question":"What is a JPS file?","answer":"A JPS (JPEG Stereo) file is a 3D image format that stores a left-eye and right-eye view side-by-side inside a standard JPEG file. It is commonly used for stereoscopic 3D photography and VR image viewing."},{"question":"How do I view a JPS file in 3D?","answer":"You can view JPS files in 3D using Virtual Reality (VR) headsets, 3D TVs, or specialized software like StereoPhoto Maker. Some people can also view them without equipment using the 'cross-eyed' or 'parallel' free-viewing techniques."},{"question":"Are JPS files just renamed JPEGs?","answer":"Yes. Structurally, a JPS file is a 100% standard JPEG image. The .jps extension simply acts as a flag to tell 3D-aware software to automatically split the image horizontally and render it stereoscopically instead of as a flat 2D picture."}]},"index":{"compression":["Lossy (JPEG/DCT)"],"browserSupport":{"score":3,"label":"Partial (Renders as 2D)"},"commonUses":["Stereoscopic 3D Photography","Virtual Reality (VR) Image Galleries","Cross-eye / Parallel Stereograms"]},"technical":{"magicBytes":{"hex":"FF D8 FF","ascii":"ÿØÿ"},"container":"JPEG (JFIF/Exif)","compressionAlgorithm":["JPEG (Discrete Cosine Transform)"],"colorDepth":["8-bit (Grayscale)","24-bit (RGB)"],"transparency":false,"animation":false,"metadata":{"exif":true,"xmp":true,"iccProfile":true},"alphaChannel":false,"progressiveLoading":true,"hdrSupport":false},"history":{"developer":"Stereoscopic Community (Unofficial Standard)","released":"1990","specification":"Standard JPEG ISO/IEC 10918-1"},"browserSupport":{"chrome":true,"chromeVersion":"1","firefox":true,"firefoxVersion":"1","safari":true,"safariVersion":"1","edge":true,"edgeVersion":"12","internetExplorer":true},"softwareSupport":[{"name":"StereoPhoto Maker","logo":""},{"name":"NVIDIA 3D Vision Photo Viewer","logo":""},{"name":"XnView","logo":""},{"name":"Standard Web Browsers (Displays as 2D Side-by-Side)","logo":""}],"conversion":{"convertTo":["jpeg","mpo","png","pns"],"convertFrom":["jpeg","mpo","pns"]},"developer":{"httpHeaders":[{"header":"Content-Type","value":"image/x-jps"},{"header":"Content-Type","value":"image/jpeg"}],"htmlAccept":"image/x-jps, image/jpeg, .jps","fileDetection":["Because a JPS file is structurally identical to a standard JPEG, it begins with the exact same magic bytes (Hex: FF D8 FF).","File sniffers and MIME detectors will almost universally identify JPS files as 'image/jpeg'.","To specifically route JPS files for 3D processing in a web application, you must rely on the '.jps' file extension or specific stereoscopic EXIF metadata flags if written by the camera."]},"prosCons":{"pros":["100% backward compatible with every standard 2D image viewer and web browser (which simply display the two halves side-by-side)","Inherits JPEG's excellent lossy compression, resulting in small file sizes ideal for web transmission","Extremely easy to generate programmatically by simply stitching two JPEG images side-by-side onto a wider canvas"],"cons":["Lack of a dedicated metadata standard means viewing software has to guess whether the layout is 'cross-eyed' (right eye left, left eye right) or 'parallel' (left eye left, right eye right), occasionally causing inverted depth","Suffers from JPEG compression artifacts, which can break the stereoscopic illusion if compression noise differs between the left and right eyes","Superseded in consumer electronics by the MPO (Multi-Picture Object) format, which stacks separate full-resolution JPEGs rather than squishing them side-by-side"]},"specifications":{"url":"https://www.w3.org/Graphics/JPEG/itu-t81.pdf","rfc":"","mimeAliases":["image/jpeg","image/jps"]},"developerSnippets":{"python":"import magic\n# Libmagic will identify JPS files as standard JPEGs due to the shared FF D8 FF header\nprint(magic.from_file('stereo.jps', mime=True)) # Outputs 'image/jpeg'","nodejs":"const path = require('path');\nconst mime = require('mime');\n// Because structural detection fails (it's just a JPEG), rely on extension parsing for stereoscopic routing\nconst filePath = 'stereo.jps';\nlet fileMime = mime.getType(filePath);\nif (path.extname(filePath).toLowerCase() === '.jps') {\n    fileMime = 'image/x-jps';\n}\nconsole.log('Resolved MIME:', fileMime);","go":"import (\n    \"bytes\"\n    \"net/http\"\n    \"strings\"\n)\n// Native Go HTTP detection reads the JPEG magic bytes and returns 'image/jpeg'.\n// You must explicitly check the filename extension to infer stereoscopic intent.\n// isJPS := strings.HasSuffix(strings.ToLower(filename), \".jps\")","php":"$mime = mime_content_type('stereo.jps');\necho $mime; // Standard PHP installations will resolve this to 'image/jpeg'"},"relatedFormats":["jpeg"]}
