---
name: "desync-tar"
section: "1"
platform: "linux"
package: "desync"
version: "1.1.5-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/desync-tar"
---

# desync-tar(1)

Store a directory tree in a catar archive or index

## NAME

desync-tar - Store a directory tree in a catar archive or index

## SYNOPSIS

**desync tar \<catar\|index\> \<source\> \[flags\]**

## DESCRIPTION

Encodes a directory tree into a catar archive or alternatively an index file with the archive chunked into a store. Use '-' to write the output, catar or index to STDOUT.

If the desired output is an index file (caidx) rather than a catar, the -i option can be provided as well as a store. Using -i is equivalent to first using the tar command to create a catar, then the make command to chunk it into a store and produce an index file. With -i, less disk space is required as no intermediary catar is created. There can however be a difference in performance depending on file size.

By default, input is read from local disk. Using --input-format=tar, the input can be a tar file or a stream from STDIN with '-'.

## OPTIONS

**--ca-cert**=""\
 	trust authorities in this file, instead of OS trust store

**-r**, **--cache-repair**\[=true\]\
 	replace invalid chunks in the cache from source

**-m**, **--chunk-size**="16:64:256"\
 	min:avg:max chunk size in kb

**--client-cert**=""\
 	path to client certificate for TLS authentication

**--client-key**=""\
 	path to client key for TLS authentication

**-n**, **--concurrency**=10\
 	number of concurrent goroutines, -1 to let desync choose: the number of CPUs for chunking and hashing, adapting to each store up to 128 for transfers

**-e**, **--error-retry**=3\
 	number of times to retry in case of network error

**-b**, **--error-retry-base-interval**=500ms\
 	initial retry delay, increases linearly with each subsequent attempt

**-h**, **--help**\[=false\]\
 	help for tar

**-i**, **--index**\[=false\]\
 	create index file (caidx), not catar

**--input-format**="disk"\
 	input format, 'disk' or 'tar'

**--no-time**\[=false\]\
 	set file timestamps to zero in the archive

**-x**, **--one-file-system**\[=false\]\
 	don't cross filesystem boundaries

**-s**, **--store**=""\
 	target store (used with -i)

**--tar-add-root**\[=false\]\
 	pretend that all tar elements have a common root directory

**-t**, **--trust-insecure**\[=false\]\
 	trust invalid certificates

## OPTIONS INHERITED FROM PARENT COMMANDS

**--config**=""\
 	config file (default $HOME/.config/desync/config.json)

**--digest**="sha512-256"\
 	digest algorithm, sha512-256 or sha256

**--verbose**\[=false\]\
 	verbose mode

## EXAMPLE

```
  desync tar documents.catar $HOME/Documents
  desync tar -i -s /path/to/local pics.caidx $HOME/Pictures
```

## SEE ALSO

**[desync(1)](/desync/1.md)**

## HISTORY

20-Oct-2026 Auto generated by spf13/cobra
