What is the APM file format?
An .apm file is an Aldus Placeable Metafile - a vector graphics format that extends the standard Windows Metafile (.WMF) with a 22-byte header created by Aldus Corporation for its PageMaker desktop-publishing application around 1987. The key addition is a bounding box: four 16-bit signed integers declaring the image's extent in logical units, plus an "inch" field specifying logical units per inch. This allowed PageMaker and other DTP tools to place a graphic at a defined, predictable size on the page - something the plain WMF header cannot express.
The file is identified by the 4-byte little-endian magic number 0x9AC6CDD7 (bytes D7 CD C6 9A) at offset 0. The 22-byte APM header follows, then a standard 18-byte WMF header, and finally a stream of 16-bit GDI drawing commands (lines, fills, text, embedded bitmaps) ending with an EOF record. A 16-bit XOR checksum in the APM header covers the preceding 10 header words.
In practice, most Placeable WMF files use the .wmf extension rather than .apm; the .apm name is rare and originates from PageMaker's own convention. GIMP, Inkscape, LibreOffice Draw, and IrfanView all auto-detect the APM header automatically. The format has been superseded by EMF (Enhanced Metafile) since Windows NT 3.1 in 1993.
Security & safety
RISK: MEDIUMAPM/WMF parsing has a security history: the 2005-2006 WMF vulnerability abused the SETABORTPROC metafile record to execute code just from rendering a crafted file. Patched on all supported Windows versions. A normal APM clipart from a trusted desktop publishing archive is safe; be cautious with APM files from unknown sources on unpatched systems.
Format details
in a nutshellPrograms that open APM files
Technical details
deep spec| File type | Vector image - Windows Metafile with a 22-byte Aldus Placeable header prepended |
| Encoding | Binary, little-endian |
| Magic bytes | D7 CD C6 9A (DWORD 0x9AC6CDD7, little-endian) at offset 0 |
| APM header size | 22 bytes: magic (4B) + HWmf handle (2B) + bounding-box rectangle (8B) + inch (2B) + reserved (4B) + XOR checksum (2B) |
| Checksum | 16-bit XOR of the 10 preceding 16-bit words in the APM header; no checksum in the WMF body |
| Coordinate space | 16-bit signed (±32,767 logical units per axis); bounding box declared in the APM header |
| Color depth | Device-dependent GDI RGB palette; up to 24-bit in embedded DIBs; typically 4-24 bpp |
| Drawing record format | 16-bit GDI record stream (variable-length records for lines, fills, text, bitmaps), terminated by an EOF record |
| WMF version wrapped | Typically WMF v3 (0x0300); rarely WMF v1 (0x0100) |
| Typical file size | 2 KB - 500 KB; larger when the WMF embeds bitmap images |
| Extension note | The .apm extension is rare; most Placeable WMF files circulate under the .wmf extension. The APM name originated with Aldus PageMaker. |
| Successor format | EMF (Enhanced Metafile) - 32-bit GDI record stream, Windows NT 3.1+ (1993) |
| Released | 1987 (Aldus PageMaker 3.0 era; APM header added to WMF) |
| Latest version | MS-WMF specification (format frozen; superseded by EMF) |
| Open standard | Yes · royalty-free |
| Specification | learn.microsoft.com |
APM conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about APM files.