FreeFileSync compares two folder trees and applies selected differences between them. A folder pair has a left side and a right side. The program scans their relative paths, classifies each file, previews the copy, update, move, or delete action, and waits for confirmation before changing either location. This differs from dragging a folder in a file manager: FreeFileSync remembers configuration choices, handles changes in both directions, and can repeat the same rules across local disks, network shares, mobile devices, or remote storage.
Compare before copying
Time and Size comparison treats two files as equal when their modification times and sizes match. It is quick and fits ordinary backup work when both locations preserve timestamps. File Content comparison reads the actual bytes and catches equal-size files with different contents, but it is the slowest choice. Size-only comparison helps when timestamps are unreliable, though two unrelated files can share one size.
FreeFileSync displays the result in a grid before synchronization. The user can exclude an item, reverse its proposed direction, or synchronize only a selection. That preview deserves attention because the Synchronize button executes deletions and overwrites shown there. A green comparison result does not prove that the chosen sync variant matches the intended backup policy.
Choose the direction
Two Way treats both folders as working locations. It creates sync.ffs_db files and compares the current state with the preceding run, so a deletion or update can travel in either direction. A conflict appears when both sides changed in a way that the history cannot reconcile automatically.
Mirror makes the right side match the left. A file that exists only on the target becomes a deletion candidate, which is correct for an exact replica and dangerous for a target folder that also holds unrelated material. Update copies additions and changes toward the target without removing a target copy merely because the source no longer has it. It is better for an accumulating archive, but it does not produce an exact mirror.
Moves need history
FreeFileSync can reproduce a move on the other side instead of copying the whole file and deleting the old copy. The first synchronization cannot detect such moves because no earlier database exists. Later detection also depends on stable file identifiers.
FAT storage, SFTP, and some other targets do not expose suitable stable identifiers. FreeFileSync then falls back to copy and delete. The final files can still match, but a large rename across remote storage may transfer all data again. The presence of a move-detection checkbox does not guarantee that every folder pair can use it.
Links change the scope
Symbolic links can remain excluded, be copied as link objects, or be followed. Following a directory link walks into its target and can bring a much larger tree into the comparison than the visible source folder suggests. Copying the link object preserves the reference instead, and Windows requires administrator rights for that operation.
Filters work on relative paths and can exclude temporary files, caches, or whole subfolders. An overly broad filter can also hide material that the backup was meant to protect. Saving the filter with the configuration makes the omission repeat on every later run, so a changed source layout should trigger another comparison review.
Keep deleted versions
Deletion handling can remove an item permanently, send it to a recycle bin, or move it into a versioning folder. Versioning preserves earlier or deleted copies outside the active target tree. That folder needs enough capacity and a retention plan; otherwise historical copies can consume storage long after the current mirror looks small.
FreeFileSync is synchronization software, not a self-contained backup archive. If both sides accept the same mistaken deletion under Two Way, the current file can disappear from both. Versioning or a separate offline backup is what creates a recovery path after synchronization repeats an unwanted change.
Automate with safeguards
A saved batch configuration can run without the main editing workflow. Error handling can ignore problems or stop at the first error, and Auto-Close removes the summary dialog. An unattended job can still wait forever if another notification needs a response and the settings do not suppress it.
FreeFileSync returns different exit codes for success, warnings, errors, and cancellation. A scheduler should record and check that result rather than treating process completion as proof that every file synchronized. RealTimeSync can trigger a batch job after watched changes, but it repeats the stored rules; it does not replace the initial preview that determines whether those rules are safe.






