Free webp to jpg
JNG

JPEG Network Graphics

image/x-jng Released 2001 · by MNG Development Group (Glenn Randers-Pehrson et al.)

The image/x-jng MIME type represents the JPEG Network Graphics (JNG) format. Created by the developers of the PNG format in 2001, JNG was designed as a sub-format of Multiple-image Network Graphics (MNG). It essentially combines the lossy compression of standard JPEG with the chunk-based file structure and 8-bit alpha channel transparency of PNG. This allowed for highly compressed photographic images with smooth transparency—a feature JPEG notoriously lacks. Despite its technical merits, it failed to gain widespread adoption, as modern browsers dropped MNG/JNG support in the early 2000s, and formats like WebP and AVIF have since solved the "lossy with alpha" problem more efficiently.

Legacy & Web Graphics Transparency Progressive Production Ready

Technical Specifications

MIME Type
image/x-jng
Extensions
.jng
Container
PNG-style Chunk Structure (JHDR, JDAT, IDAT, IEND)
Compression
Lossy (JPEG/DCT for color) & Lossless (Deflate for alpha mask)
Algorithms
JPEG (Discrete Cosine Transform)Deflate (LZ77)
Color Depth
8-bit, 12-bit, 24-bit (RGB), 32-bit (RGBA)
Metadata
EXIF XMP ICC
Capabilities
Transparency
Animation
Progressive Loading
Alpha Channel
HDR Support
Official Specification
Aliases: image/jng

Magic Bytes & HTTP Headers

File Signature (Magic Bytes)
8B 4A 4E 47 0D 0A 1A 0A
ASCII: \x8BJNG\r\n\x1A\n
HTTP Headers
Content-Type: image/x-jng
HTML Accept Attribute
accept="image/x-jng, .jng"

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
  • Solved a massive technical hurdle in the early 2000s by combining high-compression lossy photographic data with crisp, 8-bit alpha transparency
  • Utilized the highly robust, extensible chunk-based architecture of the PNG format
  • Provided an excellent, bandwidth-saving alternative to massive 32-bit transparent PNGs for web design
Limitations
  • Failed to achieve critical mass; browser vendors largely abandoned the MNG/JNG standard due to implementation complexity
  • Completely obsolete today, having been superseded by natively supported, superior formats like WebP, AVIF, and HEIC
  • Decoding requires a hybrid engine that can parse PNG chunks while simultaneously decoding a JPEG stream and a Deflate stream, complicating software support

Developer Code Snippets

import magic
# Libmagic natively detects the JNG magic bytes
print(magic.from_file('image.jng', mime=True)) # Outputs 'image/x-jng'
const fs = require('fs');
// Manually detecting the JNG 8-byte signature
const buffer = Buffer.alloc(8);
const fd = fs.openSync('image.jng', 'r');
fs.readSync(fd, buffer, 0, 8, 0);
fs.closeSync(fd);
const isJNG = buffer[0] === 0x8B && buffer[1] === 0x4A && buffer[2] === 0x4E && buffer[3] === 0x47;
console.log('Is JPEG Network Graphics:', isJNG);
import (
    "bytes"
    "net/http"
)
// Native Go HTTP detection does not recognize JNG. 
// You must explicitly check the signature:
// isJNG := bytes.HasPrefix(buf, []byte{0x8B, 0x4A, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A})
$mime = mime_content_type('image.jng');
echo $mime; // Standard setups will often resolve this correctly to 'image/x-jng' via the system magic file

File Detection Steps

How to programmatically detect a image/x-jng file by reading its raw bytes:

  1. 1 JNG files use an 8-byte signature that intentionally mirrors the PNG specification.
  2. 2 Check the first 8 bytes for: 8B 4A 4E 47 0D 0A 1A 0A (Hex).
  3. 3 Notice it matches the PNG signature (89 50 4E 47...), but the first byte is 0x8B and the text characters are 'JNG' instead of 'PNG'.

Software Support

ImageMagick ImageMagick
X
XnView
I
IrfanView

Conversion Tools

Share & Embed

Markdown Badge
JNG Format Badge
[![JNG Format](https://freewebptojpg.com/mime/image/jng/badge.svg)](https://freewebptojpg.com/mime/image/jng)
Interactive iframe Widget
<iframe src="https://freewebptojpg.com/mime/image/jng/embed" width="100%" height="280" style="border:1px solid #cbd5e1;border-radius:8px;" title="JNG 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/jng.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 a JNG file?

A JNG (JPEG Network Graphics) file is an image format that stores photographic image data using JPEG compression, but encapsulates it within a PNG-like chunk structure to allow for an 8-bit alpha channel (transparency).

What is the difference between JNG and standard JPEG?

Standard JPEGs do not support transparency. JNG solved this by storing the color data as a compressed JPEG stream (JDAT chunk) and storing the transparency mask as a separate, lossless PNG stream (IDAT chunk) within the same file.

Do web browsers support JNG images?

No. While Mozilla briefly supported MNG and JNG in the early 2000s, support was removed in 2003 to reduce code bloat. Today, WebP, AVIF, and JPEG XL have completely replaced JNG's use case for web imagery.

Related Formats

Share this format