# borg compact

    borg [common options] compact [options] [REPOSITORY]

positional arguments
| `REPOSITORY` | repository to compact
optional arguments
| `--cleanup-commits` | cleanup commit-only 17-byte segment files
| `--threshold PERCENT` | set minimum threshold for saved space in PERCENT (Default: 10)
Common options

## Description

This command frees repository space by compacting segments.

Use this regularly to avoid running out of space - you do not need to use this after each borg command though. It is especially useful after deleting archives, because only compaction will really free repository space.

borg compact does not need a key, so it is possible to invoke it from the client or also from the server.

Depending on the amount of segments that need compaction, it may take a while, so consider using the `--progress` option.

A segment is compacted if the amount of saved space is above the percentage value given by the `--threshold` option. If omitted, a threshold of 10% is used. When using `--verbose`, borg will output an estimate of the freed space.

After upgrading borg (server) to 1.2+, you can use `borg compact --cleanup-commits` to clean up the numerous 17byte commit-only segments that borg 1.1 did not clean up due to a bug. It is enough to do that once per repository. After cleaning up the commits, borg will also do a normal compaction.

See Separate compaction in Additional Notes for more details.

## Examples

    # compact segments and free repo disk space
    $ borg compact /path/to/repo

    # same as above plus clean up 17byte commit-only segments
    $ borg compact --cleanup-commits /path/to/repo