File types · Explainer

The MNG file (.mng, .jng)

An MNG file is an animation built from PNG images, designed by the PNG Development Group as a richer, patent-free alternative to animated GIF and finished in 2001. This guide explains what's inside one, why browsers dropped it in favour of GIF and later APNG, and how to open and convert the MNG files you still come across.

At a glance

Full name
Multiple-image Network Graphics
Extensions
.mng; .jng for single JPEG Network Graphics images
MIME type
None registered; the specification suggests video/x-mng, with video/mng to be registered later
Kind
Binary multi-image and animation format made of PNG-style chunks; lossless with PNG frames, lossy with JNG frames
Standard
MNG Specification version 1.0, from the PNG Development Group; MNG-LC and MNG-VLC are simpler subsets
First released
Version 1.0 on 31 January 2001, after work that began in the mid-1990s alongside PNG
Features
Frames from PNG or JPEG (JNG) images, loops, frame timing, positioning, clipping, delta images, global palettes
Magic number
8A 4D 4E 47 0D 0A 1A 0A (\x8AMNG + line endings); JNG uses 8B 4A 4E 47 0D 0A 1A 0A
Library
libmng, the reference library
Opens with
ImageMagick, XnView, IrfanView (with plug-ins), Gwenview; no current web browser

The basics

What is an MNG file?

When PNG was designed in 1995 as a free replacement for GIF, its authors left animation out to keep the format simple. MNG, Multiple-image Network Graphics, was the companion format for everything else: animations, sequences of images and composited scenes, built from the same chunks as PNG. The PNG Development Group approved MNG version 1.0 on 31 January 2001.

MNG aimed far beyond GIF. Frames could be lossless PNG images with full alpha transparency, or JPEG-compressed JNG images for photos. A file could loop sections, move and clip images, paste one image into another, magnify, and store only the changes between frames as delta-PNG images. In effect it was a small animation language.

That ambition is also why it faded. A complete MNG decoder was large and complicated, few programs supported it, and browsers removed what support they had. Today MNG is a legacy format: you'll meet it in old software, games and archives, while new animations use GIF, APNG, animated WebP or video.

Anatomy

What's inside an MNG file

There are no sample files on this page, so to show real bytes we made a three-frame 64 × 48 animation with ImageMagick from three PNG images: 1,009 bytes in all. An MNG file uses the same chunk layout as PNG: a 4-byte length, a 4-letter type, the data and a 4-byte CRC checksum. It starts with an MNG header chunk, ends with MEND, and in between mixes control chunks with complete PNG images.

A three-frame MNG animation (hex and chunk map)
8A 4D 4E 47 0D 0A 1A 0A

00 00 00 1C  4D 48 44 52
00 00 00 40  00 00 00 30  00 00 00 05  00 00 00 00
00 00 00 00  00 00 00 00  00 00 00 01
4C 90 B0 B3

00 00 00 0A  54 45 52 4D
03  00  00 00 00 01  7F FF FF FF
67 97 8B E9

00 00 00 01  73 52 47 42  00  AE CE 1C E9

offset  chunk   length  contents
000053  IHDR        13  frame 1, an embedded PNG: 64 × 48,
00006C  PLTE        84    8-bit palette (28 colours)
0000CC  tIME         7
0000DF  IDAT       141    the compressed pixels
000178  IEND         0    end of frame 1
000184  IHDR … IEND     frame 2, built the same way
0002B5  IHDR … IEND     frame 3
0003E5  MEND         0  end of the MNG:
        00 00 00 00  4D 45 4E 44  21 20 F7 D5
                        end of file at 1,009 bytes
  1. 18A 4D 4E 47 0D 0A 1A 0A

    The signature

    The PNG signature with 8A and MNG in place of 89 and PNG. The other bytes catch the same damage as in PNG: a stripped high bit, and line endings changed by a text-mode transfer. A JNG file starts with 8B and JNG.

  2. 2MHDR: 00 00 00 40 00 00 00 30 00 00 00 05

    The MNG header

    Always the first chunk, with 28 bytes of data: the frame size, 64 × 48 pixels, then the number of ticks per second, 5. With no other timing in the file, a viewer shows one frame per tick, so each frame stays up for 0.2 seconds.

  3. 300 00 00 00 00 00 00 00 00 00 00 01

    Counts and simplicity profile

    The nominal layer count, frame count and play time are 0, meaning "not stated". The simplicity profile is 1: bit 0 says the profile is valid, and every other bit being 0 promises no complex features, no JNG, no delta images and no transparency to worry about. A decoder can check this before deciding whether it can play the file.

  4. 4TERM: 03 00 00 00 00 01 7F FF FF FF

    What happens at the end

    The termination chunk tells the viewer what to do after the last frame. Action 3 repeats the animation; the last four bytes, 7F FF FF FF, are how MNG writes infinity, so it loops forever, as a GIF with a loop count of 0 does.

  5. 5sRGB: 00

    A global chunk

    An sRGB chunk at the top level applies to every embedded image that doesn't carry its own colour information. A global PLTE palette can be shared the same way, which saves repeating it in every frame.

  6. 6IHDR … PLTE … IDAT … IEND

    Embedded PNG images

    Each frame is a complete PNG datastream without the PNG signature: header, palette, a tIME timestamp, compressed pixels, end. Any PNG decoder can decode these pieces, which is how MNG reused the PNG libraries of its time.

  7. 700 00 00 00 4D 45 4E 44

    MEND

    An empty chunk that ends the MNG datastream, as IEND ends a PNG.

Under the hood

How an MNG file is put together

An MNG datastream starts with MHDR, ends with MEND, and in between holds objects (embedded images) and control chunks that say when and where to show them. The main chunks from the specification:

ChunkWhat it does
MHDRHeader: frame size, ticks per second, nominal counts, simplicity profile
TERMWhat to do after the last frame: keep showing it, clear the display, show the first frame, or repeat
BACKBackground colour or image
LOOP, ENDLRepeat the chunks between them a given number of times
FRAMFrame boundaries and timing: delays, timeouts, framing mode
DEFIDefine an object: its number, position, visibility
MOVE, CLIP, SHOWMove objects, limit the area they draw in, show them again
IHDR … IENDAn embedded PNG image
JHDR … IENDAn embedded JNG (JPEG) image, optionally with an alpha channel
BASI, DHDRA base image and delta-PNG changes applied to it
PAST, MAGNPaste images into another; magnify an image
PLTE, tRNS, sRGB…Global palette, transparency and colour information shared by later images
MENDEnd of the MNG

Timing works in ticks. MHDR gives the number of ticks per second, and FRAM chunks give delays in ticks. With no FRAM chunks, as in the example above, a viewer shows one frame per tick.

Profiles

MNG-LC and MNG-VLC: the simpler subsets

Because full MNG was so demanding, the PNG group defined two subsets that simpler decoders could support. The MHDR simplicity profile, a 32-bit field, tells a decoder which features a file uses before it starts.

ProfileWhat it allowsExample profile values
MNG-VLC (very low complexity)A plain sequence of PNG frames, each placed at the top-left corner of the frame. No JNG, no delta-PNG, no stored objects. LOOP may be ignored.65 (no transparency), 457, 473 (with JNG)
MNG-LC (low complexity)Also allows what the specification calls simple MNG features, and transparency. Still no complex features, delta-PNG or stored object buffers; JNG only if flagged.459, 475 (with JNG)
Full MNGEverything: object buffers, pasting, magnification, delta images, JNG.Any, or 0 for "unspecified"

The MNG files ImageMagick writes from a list of frames, like the example above, are simple sequences of this kind: their profile of 1 rules out every optional feature.

History

Why MNG lost to GIF and APNG

MNG briefly had a foothold in browsers: Netscape 6 and 7 and the Mozilla suite displayed it natively, as did early versions of KDE's Konqueror. On 3 June 2003, Mozilla removed MNG and JNG support (bug 195280), citing the size of the code and how little the format was used. The decision drew protests from MNG's developers and users, but it stuck, and no other major browser ever added MNG.

In 2004, two Mozilla developers, Stuart Parmenter and Vladimir Vukićević, proposed APNG instead: animation added to an ordinary PNG file with a few extra chunks, so old software still shows the first frame. The PNG Development Group rejected APNG as an official extension in 2007, but Firefox 3 shipped it in 2008, Chrome followed with version 59 in 2017, and the W3C's PNG third edition made it part of the PNG standard in 2025. MNG, meanwhile, became obsolete.

  • Complexity: a complete MNG decoder was a large library; APNG adds only a handful of chunks to what a PNG decoder already does.
  • Compatibility: an MNG file is unreadable to PNG software; an APNG file is still a valid PNG.
  • Timing: by the time MNG was finished in 2001, animated GIF was already everywhere, and the GIF patents expired soon after.

Comparison

MNG vs GIF, APNG and animated WebP

MNGGIFAPNGAnimated WebP
ColoursMillions, with full alpha256 per frame, on/off transparencyMillions, with full alphaMillions, with full alpha
Photo framesJPEG, as JNGNoNoYes, lossy
Readable by non-animated decodersNoYes, first frameYes, as a PNGNo
Browsers todayNoneAllAll currentAll current
StatusObsoleteUniversalPart of the PNG standardWidely used

For a new animation, use GIF where it must work everywhere, APNG (PNG) or WebP for better quality, or an MP4 video for anything long.

How to

How to open an MNG file and convert it to GIF or APNG

  • View it: XnView, IrfanView (with its plug-ins) and KDE's Gwenview open MNG files; MPlayer plays them when built with libmng. No current browser displays them.
  • Convert to GIF: magick animation.mng animation.gif keeps the frames and their timing, reduced to 256 colours per frame.
  • Extract the frames: magick animation.mng frame-%02d.png writes one PNG per frame.
  • Make an APNG: extract the frames, then join them with ffmpeg, giving the frame rate: ffmpeg -framerate 5 -i frame-%02d.png -plays 0 animation.apng. Rename the result to .png if you like; it's a valid PNG either way.
  • Inspect one: identify animation.mng lists the frames, and a hex dump shows the chunks, since each type is four readable letters.

Writing MNG

ImageMagick can still write MNG from PNG frames, for example magick -delay 20 -loop 0 frame-*.png -type TrueColor animation.mng. In our tests with ImageMagick 6.9, leaving out -type TrueColor failed with a palette error.

Troubleshooting

Common MNG problems

  • Nothing shows in the browser. No current browser supports MNG. Convert it to GIF, APNG or WebP.
  • Only one frame appears. The viewer reads MNG as a still image, or handles only part of the format. Try ImageMagick or XnView, or extract the frames.
  • The file won't open at all. It may use full-MNG features, such as delta-PNG or JNG, that a simple decoder skips. The simplicity profile in MHDR says which ones.
  • Colours change after converting to GIF. GIF allows only 256 colours per frame and no partial transparency. Convert to APNG or WebP to keep them.
  • Old decoders and untrusted files. Like any old, rarely used image library, an unmaintained MNG decoder is a risk with files from unknown sources. Convert them in an up-to-date tool.

Sample files

There are no sample MNG files on this page yet. To make one for testing, run magick -delay 20 -loop 0 frame-*.png -type TrueColor animation.mng with ImageMagick, using a few PNG images as frames.

Put it online

Have an MNG file? Give it a link.

Drop an MNG file on 99helpers and it gets its own web address to share. Browsers can't display MNG, so anyone who opens the link downloads the file; convert it to GIF or APNG if people should see the animation straight away.

Questions

MNG files, frequently asked

What is an MNG file?

An animation or multi-image file in Multiple-image Network Graphics format, built from PNG and JPEG (JNG) images. It was finished in 2001 as an alternative to animated GIF and is now obsolete.

How do I open an MNG file?

Use XnView, IrfanView with its plug-ins, Gwenview, or ImageMagick to convert it. Web browsers don't display MNG.

Do any browsers support MNG?

No current browser does. Netscape 6 and 7 and Mozilla did until support was removed in 2003; Firefox and every other current browser support APNG instead.

What's the difference between MNG and APNG?

MNG is a separate, complex format with its own signature. APNG adds a few animation chunks to a normal PNG, so software without APNG support still shows the first frame. APNG is now part of the PNG standard; MNG is obsolete.

How do I convert MNG to GIF?

With ImageMagick: magick animation.mng animation.gif. Frame timing is kept, but colours are reduced to 256 per frame.

What is a JNG file?

JPEG Network Graphics: a JPEG-compressed image in PNG-style chunks, with an optional alpha channel. It was defined alongside MNG and can be used for MNG frames; it's rarely seen on its own.

Is MNG lossless?

Frames stored as PNG images are lossless. Frames stored as JNG are JPEG-compressed and lossy.

Related formats

Other file types explained

Keep going

Related

Sources

Last reviewed 27 October 2026.