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
Destination
Where to copy it
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
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
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
| Flag | Meaning |
|---|---|
| -a | Archive mode. Recurses into directories and preserves symlinks, permissions, timestamps, group, owner, and device files (equivalent to -rlptgoD). |
| -v | Verbose. List each file as it transfers. |
| -z | Compress file data during the transfer to save bandwidth. |
| -h | Human-readable. Print sizes with K, M, and G units. |
| -P | Keep partially transferred files (--partial) and show a per-file progress bar (--progress). Useful for large transfers that might be interrupted. |
| --dry-run | Trial 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
- Start from a preset such as deploy to a server or local backup, or fill in the fields yourself.
- Set the source and destination paths, and for each side choose local or remote over SSH, adding the user and host for remote endpoints.
- Decide whether the source needs a trailing slash: on copies the folder contents, off copies the folder itself.
- Pick a transfer mode and toggle flags like compression, progress, and checksum, then add any exclude or include patterns.
- 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
Find Command Builder
Build a find command from a form and copy a ready-to-run one-liner.
Open tool
Developerffmpeg Command Builder
Form-driven ffmpeg builder for convert, trim, GIF, watermark, concat, and more.
Open tool
DeveloperOpenSSL Command Builder
Form-driven openssl command builder for keys, CSRs, certificates, hashing, and more.
Open tool
DeveloperSSH Config Generator
Build a clean OpenSSH ~/.ssh/config from a form with validation and copy-paste output.
Open tool
DeveloperGitignore Generator
Build a .gitignore from curated language, framework, editor, and OS templates.
Open tool
DeveloperChmod Calculator
Convert chmod values between octal, symbolic (rwxr-xr-x), and clickable owner, group, and other checkboxes.
Open tool