What is the CMP file format?
.cmp is an archive file produced by the PKWARE Data Compression Library (DCL). The format was created by PKWARE, an IT security and data-compression company. It applies the DCL Implode algorithm - a sliding-window method related to, but predating, the DEFLATE used in standard ZIP archives - to compress a single data stream, with no internal file-name table or directory structure.
A .cmp stream begins with one or two header bytes that encode the literal-coding mode (binary or ASCII) and the dictionary size: 1 KB, 2 KB, or 4 KB. These are followed by a sequence of length, distance, and literal tokens and a terminating end-of-stream marker. There is no fixed magic-byte signature, so identification depends on knowing the producing application.
DCL-compressed data is most often found embedded inside other formats - legacy game archives, older installer packages, and proprietary data containers - rather than stored as stand-alone .cmp files. The .cmp extension is heavily reused by many unrelated programs, so context is essential for correct identification.
PKWARE also offers the PKWare Platform, a wider enterprise solution for managing secure document exchange within organizations. .cmp files tied to that platform are not interchangeable with generic DCL streams. Tools that can work with DCL .cmp data include blast (the DCL decompressor in the zlib source tree), as well as hex editors such as 010 Editor and ImHex for inspection and analysis.
Security & safety
RISK: LOWA DCL .cmp is passive compressed data and not executable, so the file type itself is low risk. The practical danger is misidentification: a .cmp may actually be a different (possibly proprietary) format, and decompressing untrusted compressed data with a buggy decompressor could in theory trigger memory bugs. Inspect with a hex editor and use maintained tools (zlib's blast) rather than random "CMP opener" downloads, many of which are PUP/adware.
Format details
in a nutshell- JEDMICS C4 compressed image (CALS Raster Type 4) - U.S. DoD bitmapped image: 128-byte header, tile index, then 512x512 CCITT Group 4 tiles - same .cmp (or .c4) extension, unrelated to PKWARE.
- Yamaha keyboard performance/setup file - Some Yamaha PSR/Tyros arranger keyboards save registration/performance data with a .cmp extension.
- Generic 'compare' / bitmap component file - Various CAD, GIS and imaging tools emit .cmp for color-map, comparison or component data.
Programs that open CMP files
Technical details
deep spec| Compression algorithm | DCL Implode - an LZ77/Huffman sliding-window method developed by PKWARE, distinct from DEFLATE |
| Dictionary size options | Three sizes selectable via header flag: 1 KB (flag 4), 2 KB (flag 5), or 4 KB (flag 6) |
| Literal coding modes | Binary mode (0) or ASCII mode (1), chosen by the first header byte to optimise token coding for the data type |
| File structure | Raw single-stream compressed data - no internal directory, file names, or multi-file archive wrapper |
| Magic bytes / signature | None - the first bytes are DCL header flags encoding mode and dictionary size, not a fixed magic number |
| Byte order | Little-endian bit and byte stream |
| MIME type | application/octet-stream (no format-specific MIME type registered for DCL .cmp) |
| Extension ambiguity | The .cmp extension is heavily overloaded and reused by many unrelated applications; the producing program must be known for correct identification |
| Typical embedding context | DCL streams most often appear as blocks inside legacy game archives, older installer packages, and proprietary data containers rather than as stand-alone .cmp files |
| Encryption support | Not supported - DCL is a pure compression algorithm; encryption must be applied at the container level separately |
| Canonical open-source decompressor | blast - included in the zlib source tree (contrib/blast/) and written specifically to decode DCL Implode streams |
| Relationship to PKZIP Implode | DCL Implode is a separate algorithm from PKZIP Implode (compression method 6); they share a name but are not interchangeable |
| End-of-stream marker | A dedicated end token embedded in the bit stream signals termination, independent of the physical file size |
| Associated platforms | Windows and DOS (legacy origin); cross-platform via DCL library embedding in third-party application code |
| Typical file size | 1 KB to several MB depending on source data; the small dictionary limits compression ratio compared to modern algorithms |
| Released | 1990s (PKWARE Data Compression Library, DCL) |
| Latest version | PKWARE DCL (the 'implode'/'explode' algorithm; not separately versioned) |
| Specification | www.pkware.com |
CMP conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about CMP files.