Free webp to jpg
JPEG-LS

JPEG-LS

image/jls Released 1999 · by Joint Photographic Experts Group (ISO/ITU-T) & HP Labs

The image/jls MIME type represents the JPEG-LS format, an international standard (ISO/IEC 14495) for the lossless and near-lossless compression of continuous-tone images. Developed heavily by HP Labs and utilizing the LOCO-I (Low Complexity Lossless Compression for Images) algorithm, it relies on predictive coding rather than the computationally expensive transforms (like DCT or wavelets) used in standard JPEG or JPEG 2000. Because it requires very low hardware complexity and delivers exceptional lossless compression, it is a dominant format in medical imaging (DICOM) and aerospace applications.

Medical & Archival ✦ HDR Production Ready

Technical Specifications

MIME Type
image/jls
Extensions
.jls.jl
Container
JPEG Bitstream
Compression
Lossless & Near-Lossless (Predictive Coding)
Algorithms
LOCO-I (Low Complexity Lossless Compression for Images)Golomb-Rice Coding
Color Depth
8-bit, 12-bit, 16-bit (Per Channel)
Metadata
None
Capabilities
Transparency
Animation
Progressive Loading
Alpha Channel
HDR Support
Official Specification
Aliases: image/x-jls

Magic Bytes & HTTP Headers

File Signature (Magic Bytes)
FF D8 FF F7
ASCII: ÿØÿ÷
HTTP Headers
Content-Type: image/jls
HTML Accept Attribute
accept="image/jls, .jls"

Browser Support Matrix

Browser Status Min Version
Chrome Chrome
Not Supported
Firefox Firefox
Not Supported
Safari Safari
Not Supported
Edge Edge
Not Supported
Internet Explorer Internet Explorer
Not Supported Legacy

Advantages & Limitations

Advantages
  • Provides state-of-the-art lossless compression ratios for continuous-tone images, often outperforming Lossless JPEG and JPEG 2000
  • Extremely fast and computationally inexpensive to encode/decode, requiring no complex floating-point math or DCTs
  • Highly resilient in constrained hardware environments, making it ideal for medical equipment and deep-space probes (e.g., Mars rovers)
Limitations
  • Zero native support in web browsers or standard consumer operating systems
  • Lacks the advanced resolution scalability and progressive decoding features found in JPEG 2000
  • Primarily relegated to niche enterprise sectors (healthcare/DICOM and aerospace) rather than consumer adoption

Developer Code Snippets

import magic
# Libmagic may identify the standard JPEG SOI and mistakenly label this as 'image/jpeg' without deep marker inspection
print(magic.from_file('scan.jls', mime=True))
const fs = require('fs');
// Manually detecting the JPEG-LS SOF55 marker directly following the SOI marker
const buffer = Buffer.alloc(4);
const fd = fs.openSync('scan.jls', 'r');
fs.readSync(fd, buffer, 0, 4, 0);
fs.closeSync(fd);
const isJpegLS = buffer[0] === 0xFF && buffer[1] === 0xD8 && buffer[2] === 0xFF && buffer[3] === 0xF7;
console.log(isJpegLS);
import (
    "bytes"
    "net/http"
)
// http.DetectContentType will incorrectly return 'image/jpeg' due to the FF D8 prefix.
// Custom detection must verify the FF F7 (SOF55) marker.
// Standard PHP setups will likely return 'image/jpeg' because it shares the same generic FF D8 file signature.
$mime = mime_content_type('scan.jls');
echo $mime;

File Detection Steps

How to programmatically detect a image/jls file by reading its raw bytes:

  1. 1 Check the first two bytes for the standard JPEG Start of Image (SOI) marker: FF D8.
  2. 2 Scan the initial segment headers for the SOF55 (Start of Frame 55) marker (FF F7), which explicitly defines the bitstream as JPEG-LS.

Software Support

C
CharLS (C++ JPEG-LS Library)
D
DCMTK (DICOM Toolkit)
ImageMagick ImageMagick
O
Orthanc (DICOM Server)

Conversion Tools

Share & Embed

Markdown Badge
JPEG-LS Format Badge
[![JPEG-LS Format](https://freewebptojpg.com/mime/image/jpeg-ls/badge.svg)](https://freewebptojpg.com/mime/image/jpeg-ls)
Interactive iframe Widget
<iframe src="https://freewebptojpg.com/mime/image/jpeg-ls/embed" width="100%" height="280" style="border:1px solid #cbd5e1;border-radius:8px;" title="JPEG-LS Specs"></iframe>

JSON API

All data on this page is available as a free, open JSON API. Use it in your project, documentation, or tooling.

GET https://freewebptojpg.com/mime/image/jpeg-ls.json Open JSON
Free to use
No auth required
CORS enabled
Use from any domain
Cached 24h
Cache-Control headers set

Frequently Asked Questions

What is the difference between JPEG-LS and JPEG 2000?

JPEG-LS was designed specifically for lossless and near-lossless compression. It uses a predictive coding algorithm (LOCO-I) that is mathematically much simpler and faster to compute than the wavelet transforms used in JPEG 2000. While JPEG 2000 offers better scalability and progressive loading, JPEG-LS often provides slightly better lossless compression ratios and significantly faster encoding/decoding speeds, making it ideal for medical modalities like X-rays and MRI scans.

What are the magic bytes for a JPEG-LS file?

Because JPEG-LS is part of the JPEG family, its bitstream begins with the standard Start of Image (SOI) marker: FF D8. The format is specifically identified by the presence of the Start of Frame 55 (SOF55) marker, which is FF F7. In a raw bitstream without application headers, the file often begins directly with FF D8 FF F7.

Can web browsers open image/jls files?

No modern web browsers natively support JPEG-LS. In web-based medical image viewers (like zero-footprint DICOM viewers), the JPEG-LS bitstream must be decoded on the client side using WebAssembly (Wasm) ports of libraries like CharLS, or decoded on the server and sent as a standard format like PNG or WebP.

Related Formats

Share this format