# Compression

Zip and unzip files, or gzip and gunzip data.

## Do things in Compression

Add a **Compression** step and choose an **Operation**. Choose the row to see the fields of each.

- [Compression](https://docs.gorunner.io/apps/compression#fields-f-compress): Zip files · Unzip · Gzip · Gunzip

Later steps read a step’s output by its name: see [Use data from earlier steps](https://docs.gorunner.io/build/use-data-from-earlier-steps).

Not in your list? See [When an app isn’t here](https://docs.gorunner.io/apps/when-an-app-isnt-here#q-not-in-list).

## For developers

In the API, which calls apps pieces, Compression is `pieceId: "compression"` with `actionId: "compress"`, set by `operation`. [Get an app](https://docs.gorunner.io/api/apps/get-app) returns every field.

It computes from its inputs only (`pure`). See [How versions and side effects work](https://docs.gorunner.io/apps#q-versions).

### Compression › Compression

Zip/unzip a set of files, or gzip/gunzip a single file.

### Zip files

- **Files · Required**: The files to archive. Attach one per row, or switch the field to an expression to pass a whole list from a previous step (such as {{steps.http.result}}).
- **Output Filename · Optional**: Name for the zip file that gets created, such as archive.zip. Leave blank to use archive.zip.

### Unzip, Gzip and Gunzip

- **File · Required**: Upload a file, or switch to an expression to use one from a previous step (such as {{steps.http.result}}).

Source: https://docs.gorunner.io/apps/compression
