Build a tar command without memorizing flags
`tar` is the classic Unix archiver. Half the open source world ships as a `.tar.gz` file: Linux distros, Python packages, Node modules, server backups, log dumps. The trouble is that tar has dozens of flags and most of us never quite remember which letter does what.
Pick a mode (create, extract, list, append, update, compare), pick a compression (gzip, bzip2, xz, zstd), tick the common switches you want (verbose, preserve permissions, follow symlinks). The tool builds the exact command, formatted and ready to paste into your terminal or shell script.
There are also five starter presets that fill in the form for you: backing up your home directory with sensible excludes, extracting a release tarball with strip-components, listing contents without unpacking, compressing logs by directory, and a fast modern zstd create. Everything happens in your browser without uploading anything anywhere.
How to use it
- Pick the mode at the top: create an archive, extract an existing one, list what is inside without unpacking, append, update, or compare with the filesystem.
- Pick a compression: none (plain `.tar`), gzip (`.tar.gz`, the default everywhere), bzip2 (smaller, slower), xz (smallest, slowest), or zstd (modern, fast, great ratio).
- Type the archive filename, for example `backup.tar.gz`. The extension is just a label, what matters is which compression flag you picked.
- Type the source files or patterns, one per line. You can use shell globs like `*.log` or directory names like `./project`.
- Tick the common switches you want: verbose (print each file), preserve permissions (keep modes and timestamps), follow symlinks, etc.
- Open the advanced fields to set a working directory (`-C`), add exclude patterns, or set strip-components for extract mode (drops leading path components).
- The output box updates live. Click Copy to grab the command, then paste it into a terminal or a shell script. Nothing leaves your browser.
When this is useful
Six concrete moments where this helper saves you a trip to the man page:
- Backing up your home directory before a system reinstall. You want gzip for portability, verbose so you can see progress, and you definitely want to exclude `.cache`, `node_modules` and `.npm` so the archive does not balloon to 20 GB.
- Unpacking a release tarball from GitHub. You downloaded `project-v1.2.0.tar.gz` and you want the files in the current directory without the wrapping `project-v1.2.0/` folder. The right move is `--strip-components=1`, and this builder fills it in for you.
- Inspecting an archive before extracting it. You got a tar from a coworker. List the contents first (`-t`) so you know exactly what will land on disk, then decide whether to extract.
- Compressing daily logs on a server. A nightly cron job rolls up `/var/log/myapp/2026-05-13/` into a `.tar.gz` for archival, with verbose output captured in a sibling log file.
- Atomic incremental backups with zstd. Modern compression is 3-5x faster than gzip with a similar ratio. Perfect when you need to dump a few gigabytes quickly between maintenance windows.
- Migrating a folder across machines. Tar the directory, rsync or scp the archive, untar on the other side. Faster than copying thousands of small files one by one over SSH.