Zero Signup ToolsFree browser tools

Developer Tools

rsync Command Generator

Build an rsync command from a simple form. Set source and destination, local or over SSH, pick flags and excludes, and get a copy-ready command with warnings.

rsync command generator

Quick presets

Start from a common task

Source

What to copy

Location

Destination

Where to copy it

Location

SSH transport (optional)

Custom port or identity file

Leave these blank to use your default SSH settings. Setting either one adds an -e "ssh ..." option to the command.

Transfer behaviour

How rsync copies

Mode

Caps the transfer rate so a sync does not saturate your link. Leave blank for no limit.

Deletion

Mirror or add only

By default rsync only adds and updates files. Turn on a delete option to also remove destination files that are not in the source, which makes the destination an exact mirror.

Exclude

Skip these paths

Include

Force these back in

No patterns yet.

Output

Your rsync command

rsync -a -v -z -h -P --dry-run --exclude=.git/ --exclude=node_modules/ /home/me/project/ deploy@example.com:/var/www/project
Source/home/me/project/
Destinationdeploy@example.com:/var/www/project
This command would copy from a local path to deploy@example.com over SSH. Archive mode preserves permissions, timestamps, ownership, and symlinks, and recurses into subfolders. Because the source ends in a slash, the folder contents land directly in the destination. Files already in the destination that are missing from the source are left untouched. The --dry-run flag means nothing changes yet; rsync only reports what it would do.

Notes and warnings

Before you run it

  • NoteThe source ends with a slash, so rsync copies the contents of the folder into the destination, not the folder itself.

Flag breakdown

What each part does

FlagMeaning
-aArchive mode. Recurses into directories and preserves symlinks, permissions, timestamps, group, owner, and device files (equivalent to -rlptgoD).
-vVerbose. List each file as it transfers.
-zCompress file data during the transfer to save bandwidth.
-hHuman-readable. Print sizes with K, M, and G units.
-PKeep partially transferred files (--partial) and show a per-file progress bar (--progress). Useful for large transfers that might be interrupted.
--dry-runTrial run. Show exactly what would be transferred and deleted without changing anything. Remove this flag once the output looks right.
--exclude=.git/Skip any path matching ".git/". A trailing slash matches directories only.
--exclude=node_modules/Skip any path matching "node_modules/". A trailing slash matches directories only.

The trailing slash rule

  • rsync -a src/ dest/ copies the contents of src into dest.
  • rsync -a src dest/ creates dest/src and copies the folder into it.
  • The trailing slash only matters on the source. On the destination it makes no difference.
  • When in doubt, run with --dry-run and read the first few lines of output.

Common gotchas

  • --delete removes files in the destination. Always dry-run a mirror first.
  • rsync cannot copy from one remote host straight to another in a single command. Route through a local path.
  • Exclude patterns with a trailing slash match directories only, for example node_modules/.
  • An interrupted transfer is safe to rerun. rsync only sends the differences, so the second run is fast.

How to use

  1. Start from a preset such as deploy to a server or local backup, or fill in the fields yourself.
  2. Set the source and destination paths, and for each side choose local or remote over SSH, adding the user and host for remote endpoints.
  3. Decide whether the source needs a trailing slash: on copies the folder contents, off copies the folder itself.
  4. Pick a transfer mode and toggle flags like compression, progress, and checksum, then add any exclude or include patterns.
  5. Leave Dry run on to preview safely, enable a delete option only if you want an exact mirror, then copy the command and review it in your terminal before running.

About this tool

rsync Command Generator turns the form below into a ready-to-paste rsync command line, so you do not have to remember the flag soup from the manual. You set a source and a destination, choose whether each side is a local path or a remote host reached over SSH, and pick the behaviour you want. The tool assembles the command in real time and explains every flag it adds. rsync is the standard Unix tool for copying and synchronising files efficiently, because after the first run it transfers only the differences between the two sides rather than the whole tree, which is why it is the workhorse behind deployments, server backups, and moving large folders between machines. Its power comes with two famous traps, and this builder is designed around both. The first is the trailing slash on the source. A source written as src/ copies the contents of that folder into the destination, while the same source written as src copies the folder itself, creating destination/src. The builder exposes this as an explicit toggle and states in plain language what the current choice does, so you stop guessing. The second trap is deletion. By default rsync only adds and updates files, but the delete options make the destination an exact mirror by removing files that no longer exist on the source, and that can erase data if it is pointed at the wrong place. To keep that safe the builder keeps the dry run flag on by default, shows a prominent destructive-action warning whenever a delete option is enabled, and labels the copy button so you know the command would remove files before you run it. Beyond those, you can switch between archive mode (the recommended -a, which preserves permissions, timestamps, ownership, and symlinks while recursing), plain recursive copy, or a named-files-only copy. You can toggle compression for network transfers, a progress bar with partial-file resume, verbose output, change itemisation, hard-link preservation, and checksum comparison, and you can set a bandwidth cap so a sync does not saturate the link. Exclude and include patterns are managed as a simple list, with one-click suggestions for the paths people skip most often such as .git and node_modules, and the tool quotes them for the shell. For remote transfers you can set a custom SSH port and identity file, which it folds into an -e "ssh ..." option. Paths with spaces are quoted so the command is safe to paste into Bash. Everything runs in your browser, nothing is uploaded, and the command is never executed here, so you always review it in your own terminal before running.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDeveloper Tools