Crinkler vs papaw
Crinkler
github.compapaw
github.comSide by side
| Figure | Crinkler | papaw |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| Linux | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Executable Packers | 8.3 (#3) | 7.9 (#8) |
| Download | The README directs users to the GitHub Releases page for the latest version. | The README says prebuilt static binaries are available from the project's GitHub releases. |
| Downloads | The README directs users to the GitHub Releases page to download the latest version. | The README says prebuilt static binaries are available through GitHub releases. |
| License | Crinkler is distributed under the Zlib license. | The project is released as free and unencumbered software under the MIT license. |
| Purpose | Crinkler is a compressing linker for Windows executables that are only a few kilobytes in size, mainly for small demoscene productions. | papaw is a permissively licensed packer for executables with statically linked third-party components, intended for devices with limited disk space. |
Plans
In their own words
Crinkler
Crinkler is a compressing linker for producing very small 32-bit Windows executables, particularly demoscene intros in 1k, 4k, and 8k sizes. It combines linking and compression; the resulting executable decompresses into memory when run. By default, context modelling compresses code, optional text data, and general data as separate parts. Crinkler can replace the Visual Studio linker and supports its basic options, with configuration through project settings. Its data compressor is also available as a separate library for estimating compressed data size. Crinkler is free and distributed under the zlib license, which permits commercial use subject to its conditions. Version 3.0 requires Windows 10 or later and SSE4.2, including for the executables it produces, although those executables can target older Windows versions. Uncompressed input is limited to 64k per part. The manual warns that tiny-header mode can make decompression prohibitively slow for files significantly larger than 1 KB. The project directs users to GitHub Releases for downloads and links a manual for usage and version history.
papaw
papaw is a Linux executable packer for programs that include statically linked third-party components, aimed at devices with limited disk space. It compresses executables and bundles them with a decompressor of about 15–40 KB. Supported algorithms are LZMA2, LZMA1, Zstandard and Deflate, and packed executables can replace themselves on disk when run. The project is free and unencumbered software under the MIT license, and can be self-hosted. It uses Meson and can be included as a Meson subproject; the README recommends `custom_target()` for running `papawify`. Prebuilt static binaries are available through GitHub releases, with example assets for aarch64, arm, armeb, i386, mips, mipsel and x86_64. To support portability, the project avoids machine-specific assembly and newer system calls such as `fexecve()`. Optional very basic anti-debugging protection is intended to discourage trivial reverse-engineering techniques. The payload is extracted to a temporary file; when run as root, papaw mounts a tmpfs filesystem and lazily unmounts it before extraction.