Users initially need to create a "folder pair" that represents the two folders to be compared and synchronized. These folders can be on the local drive, on an external device such as a flash drive, or on a network share from another computer. SyncToy supports UNC paths. It provides a Browse option to find the folder or network share, or users can type it in directly. SyncToy offers two safeguards to ensure that the user does not lose files permanently when they are deemed unnecessary during a sync. Firstly, a user can preview what is going to happen when the sync takes place, without actually changing anything; secondly, any deleted files are optionally moved to the Recycle Bin. SyncToy defines three different types of operation to synchronize two folders:
Synchronize takes the two folders and makes sure they have exactly the same files. To do this, SyncToy may copy files in either direction and may delete or rename files in either folder. In the case that a file has been updated in both the left and right folders, the version with the later modification date is considered the winner. The other version will be overwritten.
Echo looks for changes in the left folder and makes the right folder match the left folder in every way.
Contribute is like an Echo, but it does not delete any files.
SyncToy started as a Powertoy for Windows XP. Initially releases took version numbers 1.x, culminating in version 1.4. These versions were written in Microsoft's.NET framework but contained their own code for folder synchronization. They included the same actions as the present version, plus two additional actions :
Subscribe would update any file in the left folder that also exists in the right folder and is found to be older. No new files would be copied, only existing files updated, if needed.
Combine was similar to synchronize except that no files would be deleted between the pairs. If a file on one side is out-of-date it is renamed then the newer file copied, so both the updated copy and the older version are retained in that folder. And any file deleted in either of the paired folders is not deleted in the other folder. Only copy operations occur.
In November 2008 version 2.0 was released. This was a rewritten version built to use the MicrosoftSync Framework. Compared to version 1.4 it included better support for unattended synchronization runs, x64 compatibility, support for synchronizing encrypted files, file and folder exclusion based on both names and file types, renaming folder pairs and detection of drive letter reassignment. SyncToy 2.1 was released on November 10, 2009, and includes several minor enhancements and fixes for several bugs, including a serious issue where data on NAS would be corrupted, and another where deletes would not be synchronized when in Echo mode.