GraphicsMagick - File Formats
Description: GraphicsMagick is a robust collection of tools and libraries to read, write, and manipulate an image in any of the more popular image formats including GIF, JPEG, PNG, PDF, and Photo CD. With GraphicsMagick you can create GIFs dynamically making it suitable for Web applications. You can also resize, rotate, sharpen, color reduce, or add special effects to an image and save your completed work in the same or differing image format.
Keywords: GraphicsMagick, Image Magick, Image Magic, PerlMagick, Perl Magick, Perl Magic, CineMagick, PixelMagick, Pixel Magic, WebMagick, Web Magic, visualization, image processing, software development, simulation, image, software, AniMagick, Animagic, Magick++

GraphicsMagick Formats

GraphicsMagick uses an ASCII string known as "magick" (e.g. "GIF") to identify file formats, algorithms acting as formats, built-in images, and embedded profile types. After a file has been read or "pinged", the associated magick string is stored in the "magick" member of the Image structure, and is reported in the default output of 'gm identify'.

Several formats optionally rely on the LZW algorithm, which used to be (until July 7, 2004) patented by the UNISYS corporation. Since the patent has expired, LZW support is now enabled by default.The latest TIFF library supports LZW via an optional patch. If the TIFF library is not patched to support LZW, then an error is returned if there is an attempt to save the image in a LZW-compressed TIFF format.

GraphicsMagick supports reading over 88 major file formats (not including sub-formats). The following table provides a summary of the supported image formats.

Supported Image Formats

Format | Mode | Description | Notes
--- | --- | --- | ---
ART | R | PFS: 1st Publisher | Format originally used on the Macintosh (MacPaint?) and later used for PFS: 1st Publisher clip art.
AVI | R | Microsoft Audio/Visual Interleaved |
AVS | RW | AVS X image |
BMP | RW | Microsoft Windows bitmap |
CGM | R | Computer Graphics Metafile | Requires ralcgm to render CGM files.
CMYK | RW | Raw cyan, magenta, yellow, and black samples | Set `-size` and `-depth` to specify the image width, height, and depth.
CUR | R | Microsoft Cursor Icon |
CUT | R | DR Halo |
DCM | R | Digital Imaging and Communications in Medicine (DICOM) image | Used by the medical community for images like X-rays.
DCX | RW | ZSoft IBM PC multi-page Paintbrush image |
DIB | RW | Microsoft Windows Device Independent Bitmap | DIB is a BMP file without the BMP header. Used to support embedded images in compound formats like WMF.
DPX | RW | Digital Moving Picture Exchange |
EMF | R | Microsoft Enhanced Metafile (32-bit) | Only available under Microsoft Windows.
EPDF | RW | Encapsulated Portable Document Format |
EPI | RW | Adobe Encapsulated PostScript Interchange format | Requires Ghostscript to read.
EPS | RW | Adobe Encapsulated PostScript | Requires Ghostscript to read.
EPS2 | W | Adobe Level II Encapsulated PostScript | Requires Ghostscript to read.
EPS3 | W | Adobe Level III Encapsulated PostScript | Requires Ghostscript to read.
EPSF | RW | Adobe Encapsulated PostScript | Requires Ghostscript to read.
EPSI | RW | Adobe Encapsulated PostScript Interchange format | Requires Ghostscript to read.
EPT | RW | Adobe Encapsulated PostScript Interchange format with TIFF preview | Requires Ghostscript to read.
FAX | RW | Group 3 TIFF | See TIFF format. Note that FAX machines use non-square pixels which are 1.5 times wider than they are tall but computer displays use square pixels so FAX images may appear to be narrow unless they are explicitly resized using a resize specification of "150x100%".
FIG | R | FIG graphics format | Requires TransFig.
FITS | RW | Flexible Image Transport System |
FPX | RW | FlashPix Format | Requires FlashPix SDK.
GIF | RW | CompuServe Graphics Interchange Format | 8-bit RGB PseudoColor with up to 256 palette entires. Specify the format "GIF87" to write the older version 87a of the format. GIF uses the LZW algorithm. Ensure that the LZW algorithm is enabled in order to obtain small files. The PNG format provides a superior set of features to GIF. Consider using PNG format rather than GIF if clients are able to read PNG.
GPLT | R | Gnuplot plot files | Requires gnuplot3.5.tar.Z or later.
GRAY | RW | Raw gray samples | Use `-size` and `-depth` to specify the image width, height, and depth.
HPGL | R | HP-GL plotter language | Requires hp2xx-3.2.0.tar.gz
HTML | RW | Hypertext Markup Language with a client-side image map | Also known as "HTM". Requires html2ps to read.
ICO | R | Microsoft icon | Also known as "ICON".
JBIG | RW | Joint Bi-level Image experts Group file interchange format | Also known as "BIE" and "JBG". Requires jbigkit-1.0.tar.gz.
JNG | RW | JPEG Network Graphics | JPEG in a PNG-style wrapper with transparency. Requires libjpeg and libpng-1.0.2 or later, libpng-1.2.5 or later recommended.
JP2 | RW | JPEG-2000 JP2 File Format Syntax | Requires jasper-1.600.0.zip
JPC | RW | JPEG-2000 Code Stream Syntax | Requires jasper-1.600.0.zip
JPEG | RW | Joint Photographic Experts Group JFIF format | Requires jpegsrc.v6b.tar.gz
MAN | R | Unix reference manual pages | Requires that GNU groff and Ghostcript are installed.
MAT | RW | MATLAB image format |
MIFF | RW | Magick image file format | Open ImageMagick's own image format (with ASCII header) which ensures that no image attributes understood by GraphicsMagick are lost.
MONO | RW | Bi-level bitmap in least-significant-byte first order |
MNG | RW | Multiple-image Network Graphics | Requires libpng-1.0.2 or later, libpng-1.2.5 or later recommended.
MPEG | RW | Motion Picture Experts Group file interchange format (version 1) | Requires mpeg2vidcodec_v12.tar.gz.
M2V | RW | Motion Picture Experts Group file interchange format (version 2) | Requires mpeg2vidcodec_v12.tar.gz.
MPC | RW | Magick Persistent Cache image file format | The native "in-memory" GraphicsMagick uncompressed file format. This file format is identical to that used by Open ImageMagick to represent images in memory and is read in "zero time" via memory mapping. The MPC format is not portable and is not suitable as an archive format. It is suitable as an intermediate format for high-performance image processing. The MPC format requires two files to support one image. When writing the MPC format, a file with extension ".mpc" is used to store information about the image, while a file with extension “.cache” stores the image pixels. The storage space required by a MPC image (or an image in memory) may be calculated by the equation (QuantumDepth*Rows*Columns*5)/8.
MSL | RW | Magick Scripting Language | MSL is the XML-based scripting language supported by the conjure utility.
MTV | RW | MTV Raytracing image format |
MVG | RW | Magick Vector Graphics. | The native GraphicsMagick vector metafile format. A text file containing vector drawing commands accepted by convert's -draw option.
OTB | RW | On-the-air Bitmap |
P7 | RW | Xv's Visual Schnauzer thumbnail format |
PALM | RW | Palm pixmap |
PBM | RW | Portable bitmap format (black and white) |
PCD | RW | Photo CD | The maximum resolution written is 768x512 pixels since larger images require huffman compression (which is not supported).
PCDS | RW | Photo CD | Decode with the sRGB color tables.
PCL | W | HP Page Control Language | For output to HP laser printers.
PCX | RW | ZSoft IBM PC Paintbrush file |
PDB | RW | Palm Database ImageViewer Format |
PDF | RW | Portable Document Format | Requires Ghostscript to read.
PFA | R | Postscript Type 1 font (ASCII) | Opening as file returns a preview image.
PFB | R | Postscript Type 1 font (binary) | Opening as file returns a preview image.
PGM | RW | Portable graymap format (gray scale) |
PICON | RW | Personal Icon |
PICT | RW | Apple Macintosh QuickDraw/PICT file |
PIX | R | Alias/Wavefront RLE image format |
PNG | RW | Portable Network Graphics | Requires libpng-1.0.2 or later, libpng-1.2.5 or later recommended.
PNM | RW | Portable anymap | PNM is a family of formats supporting portable bitmaps (PBM) , graymaps (PGM), and pixmaps (PPM). There is no file format associated with pnm itself. If PNM is used as the output format specifier, then GraphicsMagick automatically selects the most appropriate format to represent the image. The default is to write the binary version of the formats. Use `+compress` to write the ASCII version of the formats.
PPM | RW | Portable pixmap format (color) |
PS | RW | Adobe PostScript file | Requires Ghostscript to read.
PS2 | RW | Adobe Level II PostScript file | Requires Ghostscript to read.
PS3 | RW | Adobe Level III PostScript file | Requires Ghostscript to read.
PSD | RW | Adobe Photoshop bitmap file |
PTIF | RW | Pyramid encoded TIFF | Multi-resolution TIFF containing successively smaller versions of the image down to the size of an icon. The desired sub-image size may be specified when reading via the -size option.
PWP | R | Seattle File Works multi-image file |
RAD | R | Radiance image file | Requires that ra_ppm from the Radiance software package be installed.
RGB | RW | Raw red, green, and blue samples | Use `-size` and `-depth` to specify the image width, height, and depth.
RGBA | RW | Raw red, green, blue, and matte samples | Use `-size` and `-depth` to specify the image width, height, and depth.
RLA | R | Alias/Wavefront image file |
RLE | R | Utah Run length encoded image file |
SCT | R | Scitex Continuous Tone Picture |
SFW | R | Seattle File Works image |
SGI | RW | Irix RGB image |
SHTML | W | Hypertext Markup Language client-side image map | Used to write HTML clickable image maps based on a the output of montage or a format which supports tiled images such as MIFF.
SUN | RW | SUN Rasterfile |
SVG | RW | Scalable Vector Graphics | Requires libxml2 and freetype-2. Note that SVG is a very complex specification so support is still not complete.
TGA | RW | Truevision Targa image | Also known as formats "ICB", "VDA", and "VST".
TIFF | RW | Tagged Image File Format | Also known as "TIF". Requires tiff-v3.5.4.tar.gz or later. Note that since the Unisys LZW patent recently expired, libtiff may still require a separate LZW patch in order to support LZW.
TIM | R | PSX TIM file |
TTF | R | TrueType font file | Requires freetype 2. Opening as file returns a preview image.
TXT | RW | Raw text file |
UIL | W | X-Motif UIL table |
UYVY | RW | Interleaved YUV raw image | Use `-size` command line option to specify width and height.
VICAR | RW | VICAR rasterfile format |
VIFF | RW | Khoros Visualization Image File Format |
WBMP | RW | Wireless bitmap | Support for uncompressed monochrome only.
WMF |  | Windows Metafile | Requires libwmf. By default, renders WMF files using the dimensions specified by the metafile header. Use the -density option to adjust the output resolution, and thereby adjust the ouput size. The default output resolution is 72DPI so "-density 144" results in an image twice as large as the default. Use -background color to specify the WMF background color (default white) or -texture filename to specify a background texture image.
WPG | R | Word Perfect Graphics File |
XBM | RW | X Windows system bitmap, black and white only | Used by the X Windows System to store monochrome icons.
XCF | R | GIMP image |
XPM | RW | X Windows system pixmap | Also known as "PM". Used by the X Windows System to store color icons.
XWD | RW | X Windows system window dump | Used by the X Windows System to save/display screen dumps.
YUV | RW | CCIR 601 4:1:1 | Use `-size` command line option to specify width and height.

GraphicsMagick supports a number of image format specifications which refer to images prepared via an algorithm, or input/output targets. The following table lists these pseudo image formats:

Pseudo Image Formats

Tag | Mode | Description | Notes
--- | --- | --- | ---
CAPTION | R | Image caption | fixme
CLIPBOARD | RW | Windows Clipboard | Only available under Microsoft Windows.
FRACTAL | R | Plasma fractal image |
GRADIENT | R | Gradual passing from one shade to another | Returns a rendered gradient image using the specified image size. Specify the desired shading as part of the filename (e.g. "`gradient:red-blue`"or "gradient:#F00-#00F").
HISTOGRAM | W | Histogram of the image |
LABEL | R | Text image format | Specify the desired text as the filename (e.g. "`label:This is a label").`
MAP | RW | Colormap intensities and indices | Set -depth to set the sample size of the intensities; indices are 16-bit if colors > 256.
MATTE | W | MATTE format | Write only.
NULL | RW | NULL image | Useful for creating blank tiles with montage (use "NULL:"). Also useful as an output format when evaluating image read performance.
PLASMA | R | Plasma fractal image |
PREVIEW | W | Show a preview an image enhancement, effect, or f/x | Creates a preview montage of images prepared over a parameteric range in order to assist with parameter selection. Specify the desired preview type via the `-preview` option).
PRINT | W | Send image to your computer printer | Unix users may set the PRINTER (for 'lp') or LPDEST (for 'lpr') environment variables to select the desired printer.
SCAN | R | Import image from a scanner device | Requires SANE Specify the device name and path as the filename (e.g. "`scan:mustek:/dev/scanner").`
STEGANO | R | Steganographic image | Use `-size` command line option to specify width, height, and offset of the steganographic image
TILE | R | Tiled image | Create a tiled version of an image at by tiling a image. Use -size to specify the tiled image size. The image is specified similar to "TILE:image.miff".
VID | RW | Visual Image Directory | Used to create a thumbnailed directory (tiled thumbnails) of a set of images which may be used to select images to view via the display program, or saved to a MIFF or SHTML file.
WIN | RW | Select image from or display image to your computer screen | Only supported under Microsoft Windows.
X | RW | Select image from or display image to your X server screen | Also see the import and display programs.
XC | R | Canvas image of specified color | Useful to create solid color "canvas" images. Use `-size` and `-depth` to specify the image width, height, and depth. Example XC color specifications include "XC:red" and "XC:#FF0000".

GraphicsMagick includes a number of built-in (embedded) images which may be referenced as if they were an image file. The “IMAGE:” format tag may be used via the syntax "IMAGE:name" to request an embedded image (e.g. “IMAGE:LOGO”). For backwards compatibility, the image specifications “GRANITE:”, “LOGO:”, “NETSCAPE:”, and “ROSE:” may also be used to request images with those names.

Built-In Images And Patterns

Name | Description | Notes/Sample
--- | --- | ---
BRICKS | 16x16 brick pattern |
CIRCLES | 16x16 circles pattern |
CROSSHATCH | 8x4 crosshatch pattern |
CROSSHATCH30 | 8x4 crosshatch pattern with lines at 30 degrees. |
CROSSHATCH45 | 8x4 crosshatch pattern with lines at 45 degrees. |
FISHSCALES | 16x8 fish scales pattern |
GRANITE | 128x128 granite texture pattern |
GRAY0 | 32x32 0% intensity gray |
GRAY5 | 32x32 5% intensity gray |
GRAY10 | 32x32 10% intensity gray |
GRAY15 | 32x32 15% intensity gray |
GRAY20 | 32x32 20% intensity gray |
GRAY25 | 32x32 25% intensity gray |
GRAY30 | 32x32 30% intensity gray |
GRAY35 | 32x32 35% intensity gray |
GRAY40 | 32x32 40% intensity gray |
GRAY45 | 32x32 45% intensity gray |
GRAY50 | 32x32 50% intensity gray |
GRAY55 | 32x32 55% intensity gray |
GRAY60 | 32x32 60% intensity gray |
GRAY65 | 32x32 65% intensity gray |
GRAY70 | 32x32 70% intensity gray |
GRAY75 | 32x32 75% intensity gray |
GRAY80 | 32x32 80% intensity gray |
GRAY85 | 32x32 85% intensity gray |
GRAY90 | 32x32 90% intensity gray |
GRAY95 | 32x32 95% intensity gray |
GRAY100 | 32x32 100% intensity gray |
HEXAGONS | 30x18 hexagon pattern |
HORIZONTAL | 8x4 horizontal line pattern |
HORIZONTALSAW | 16x8 horizontal saw-tooth pattern |
HS_BDIAGONAL | 8x8 backward diagonal line pattern (45 degrees slope) |
HS_CROSS | 8x8 cross line pattern |
HS_DIAGCROSS | 8x8 diagonal line cross pattern (45 degrees slope) |
HS_FDIAGONAL | 8x8 forward diagonal line pattern (45 degrees slope) |
HS_HORIZONTAL | 8x8 horizontal line pattern |
HS_VERTICAL | 8x8 vertical line pattern |
LEFT30 | 8x4 forward diagonal pattern (30 degrees slope) |
LEFT45 | 8x8 forward diagonal line pattern (45 degrees slope) |
LEFTSHINGLE | 24x24 left shingle pattern |
LOGO | 640x480, GraphicsMagick Logo |
NETSCAPE | 216x144 image using colors in Netscape 216 (6x6x6 ) color cube. | Most commonly used with the convert/mogrify -map option to create “web safe” images.
OCTAGONS | 16x16 octagons pattern |
RIGHT30 | 8x4 backward diagonal line pattern (30 degrees) |
RIGHT45 | 8x8 backward diagonal line pattern (30 degrees) |
RIGHTSHINGLE | 24x24 right shingle pattern |
ROSE | 70x46, Picture of a rose. |
SMALLFISHSCALES | 8x8 small fish scales pattern |
CHECKERBOARD | 30x30 checkerboard pattern |
VERTICAL | 8x8 vertical line pattern |
VERTICALBRICKS | 16x16 vertical brick pattern |
VERTICALLEFTSHINGLE | 24x24 vertical left shingle pattern |
VERTICALRIGHTSHINGLE | 24x24 vertical right shingle pattern |
VERTICALSAW | 8x16 vertical saw-tooth pattern |

GraphicsMagick provides a number of format identifiers which are used to add, remove, and save embedded profiles for images which can support embedded profiles. Image types which may contain embedded profiles are TIFF, JPEG, and PDF.

Supported Embedded Profile Formats

Format | Mode | Description | Notes
--- | --- | --- | ---
8BIM | RW | Photoshop resource format (binary) |
8BIMTEXT | RW | Photoshop resource format (ASCII) | An ASCII representation of the 8BIM format.
APP1 | RW | Raw application information |
APP1JPEG | RW | Raw JPEG binary data | Profile in JPEG wrapper.
ICC | RW | International Color Consortium color profile | Also known as "ICM". To read, use `-profile` with convert.
IPTC | RW | IPTC Newsphoto (binary) | To read, use `-profile` with convert
IPTCTEXT | RW | IPTC Newsphoto (ASCII) | An ASCII representation of the IPTC format.

Support for some of the formats are delegated to libraries or external programs. The Installation Guide describes where to find these distributions and any special configuration options required.

To get a complete listing of which image formats are supported on your system, type

        convert -list format

On some platforms, GraphicsMagick automatically processes these extensions: `.gz` for Zip compression, `.Z` for Unix compression, `.bz2` for block compression, and `.pgp` for PGP encryption. For example, a PNM image called `image.pnm.gz` is automatically uncompressed with the `gzip` program and the image is subsequently read.

Copyright © GraphicsMagick Group 2002, 2003, 2004