---
name: "gzexe"
section: "1"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd", "openbsd"]
url: "https://new.carta.tech/gzexe"
---

# gzexe(1)

create auto-decompressing executables

## NAME

**gzexe** – create auto-decompressing executables

## SYNOPSIS

**gzexe** \[**-d**\] *file ...*

## DESCRIPTION

The **gzexe** utility uses [gzip(1)](/gzip/1.md) to compress executables, producing executables that decompress on-the-fly when executed. This saves disk space, at the cost of slower execution times. The original executables are saved by copying each of them to a file with the same name with a ‘~’ suffix appended. After verifying that the compressed executables work as expected, the backup files can be removed.

The options are as follows:

- **-d**

  Decompress executables previously compressed by **gzexe**.

The **gzexe** program refuses to compress non-regular or non-executable files, files with a setuid or setgid bit set, files that are already compressed using **gzexe** or programs it needs to perform on-the-fly decompression: [sh(1)](/sh/1.md), [mktemp(1)](/mktemp/1.md), [rm(1)](/rm/1.md), [echo(1)](/echo/1.md), [tail(1)](/tail/1.md), [gzip(1)](/gzip/1.md), and [chmod(1)](/chmod/1.md).

## SEE ALSO

[gzip(1)](/gzip/1.md)

## CAVEATS

The **gzexe** utility replaces files by overwriting them with the generated compressed executable. To be able to do this, it is required that the original files are writable.
