Open Source Backup Software for Windows
Why Windows Backup Needs Differ
Windows backup requirements are fundamentally different from Linux in several ways that affect which tools are suitable. The Windows filesystem (NTFS) has features like alternate data streams, extended attributes, and access control lists that not all backup tools preserve correctly. The registry stores critical system configuration that exists outside the filesystem entirely. And Volume Shadow Copy Service (VSS) is essential for backing up files that are locked by running applications, such as Outlook PST files, SQL Server databases, and other application data stores.
A backup tool that simply copies files from a Windows machine without VSS integration will produce inconsistent backups of any file that is open at the time of the backup. This is why VSS support is a critical feature for Windows backup tools, not just a nice-to-have.
Additionally, many Windows users expect a graphical interface. While Linux administrators are typically comfortable scheduling backups through cron and shell scripts, Windows users often prefer a GUI-based setup wizard and a system tray icon that shows backup status. The tools listed below range from CLI-only to full graphical interfaces to accommodate different user preferences.
Restic on Windows
Restic is the strongest all-around choice for Windows users who are comfortable with the command line. It runs as a native Windows binary with no dependencies, supports VSS through the --use-fs-snapshot flag, and connects to all major cloud storage backends including Amazon S3, Backblaze B2, Google Cloud Storage, and Azure Blob Storage.
VSS integration was added in Restic 0.14 and has matured through subsequent releases. When you run a backup with the --use-fs-snapshot flag, Restic creates a VSS snapshot of the volume before reading files. This ensures consistent backups of locked files, including databases and email archives. The snapshot is created and released automatically, no manual configuration is required.
Scheduling Restic on Windows is done through Windows Task Scheduler rather than cron. Create a batch file containing your Restic backup commands and configure a scheduled task to run it daily. The Task Scheduler provides options for running the task whether or not a user is logged in, which is important for server environments.
Example batch file for Restic on Windows:
@echo off
set B2_ACCOUNT_ID=your-account-id
set B2_ACCOUNT_KEY=your-account-key
set RESTIC_REPOSITORY=b2:your-bucket-name
set RESTIC_PASSWORD_FILE=C:\backup\restic-password.txt
restic backup C:\Users --use-fs-snapshot --exclude="*.tmp" --exclude="AppData\Local\Temp" --quiet
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 12 --prune --quiet
Restic preserves NTFS permissions, timestamps, and file attributes on Windows. It does not currently preserve alternate data streams, which are rarely used by modern applications but may be relevant in specialized environments.
Kopia on Windows
Kopia offers the same cross-platform capabilities as Restic with the added benefit of a built-in graphical interface. The Windows installer includes both the CLI and a system tray application called KopiaUI that provides point-and-click backup management.
KopiaUI lets you create and manage repositories, define snapshot policies, browse backup contents, and restore files, all without opening a terminal. This makes it the strongest option for Windows users who want open source backup software without command-line interaction. You can also run Kopia in server mode on a Windows machine, providing centralized backup management for multiple computers through a web browser.
Kopia supports VSS on Windows for consistent snapshots of locked files. Its per-directory policy system is particularly useful on Windows where you might want different backup schedules for user documents (backed up hourly), application data (backed up daily), and system directories (backed up weekly).
Storage backend support mirrors Restic's: local drives, network shares (UNC paths), SFTP, Amazon S3, Backblaze B2, Azure, Google Cloud Storage, and any S3-compatible provider. Kopia adds its own server mode as an additional backend option, which simplifies multi-machine setups where individual machines should not have direct access to cloud storage credentials.
Duplicati for Windows
Duplicati is specifically designed for the graphical backup experience. Its web-based interface runs on localhost and provides a setup wizard that walks users through configuring their first backup. For Windows home users and small businesses that want a completely graphical, set-and-forget backup experience, Duplicati is the most accessible option.
Duplicati's standout feature is its unusually broad range of supported storage backends. Beyond the standard S3, B2, and Azure options, Duplicati also supports Google Drive, Microsoft OneDrive, Dropbox, Box, Mega, and several other consumer cloud storage services. This means Windows users can back up directly to storage they may already be paying for, without setting up a separate backup storage account.
Duplicati uses AES-256 encryption and block-level deduplication. It supports email notifications on backup completion or failure. The interface is clean and well organized, with clear status indicators and a straightforward restore process. Schedules are configured through the web interface with no need to interact with Task Scheduler.
The tradeoff is performance and maturity. Duplicati's deduplication and backup speeds are behind Restic and Kopia on equivalent workloads. The project has been in beta status for an extended period, and some users report occasional issues with large repositories or long backup chains. For critical server data, a more mature tool is recommended. For home user document backup, Duplicati works well and is the easiest to set up.
UrBackup Client for Windows
UrBackup's Windows client is the strongest option for centralized backup in office environments. It provides both file-level and full disk image backups, with deep VSS integration that ensures consistent snapshots of all volumes including the system drive.
The Windows client installs as a system service and runs a tray icon for status monitoring. Configuration is managed centrally through the UrBackup server's web interface, so administrators can deploy the client on dozens of workstations and manage all backup settings from one place. The client automatically discovers the server on the local network, or can be pointed to a specific server IP for multi-subnet environments.
Image backups using UrBackup on Windows capture the entire disk at the sector level, including the boot partition, system partition, and data partitions. This enables bare-metal restoration, where you can restore a complete Windows installation to a new hard drive or a new machine using the UrBackup restore bootable ISO. For businesses where minimizing downtime after hardware failure is critical, this capability is worth the additional storage cost of image backups.
UrBackup also supports incremental image backups using change block tracking, where only the disk sectors that have changed since the last image backup are transferred. This reduces both backup time and storage consumption significantly compared to full image backups on each run. See our How to Install UrBackup guide for complete setup instructions.
Tools That Do Not Work on Windows
BorgBackup does not run on Windows. There is no official Windows build, and third-party efforts to run Borg through WSL (Windows Subsystem for Linux) or Cygwin are experimental and not recommended for production use. If you are committed to BorgBackup and need Windows support, run the Borg server on Linux and use a Windows-compatible client tool (like the UrBackup client) to protect your Windows machines.
BackupPC is a server-side tool that runs on Linux but can back up Windows clients using SMB shares. It does not require a client agent on the Windows machine, instead pulling data over the network using the Windows file sharing protocol. This is a viable option if you want agentless Windows backup, but it cannot do image-level backups or access VSS snapshots.
Windows-Specific Backup Considerations
System State backup: Windows System State includes the registry, Active Directory (on domain controllers), certificate stores, and COM+ class registration database. None of the open source tools listed here back up System State as a distinct entity. For domain controllers, use the built-in Windows Server Backup tool for System State and an open source tool for file data.
NTFS permissions and ACLs: Restic, Kopia, and UrBackup all preserve NTFS permissions during backup and restore. Duplicati preserves basic permissions but may not capture all extended ACL entries. If precise permission preservation is critical (such as in shared folder environments), verify this with a test restore before relying on it.
Open file handling: Always enable VSS when available. Without VSS, any file that is open by an application at backup time may be skipped or captured in an inconsistent state. This is especially important for Outlook PST/OST files, QuickBooks data files, and database files.
Excluding unnecessary data: Windows machines typically have large amounts of regenerable data that should be excluded from backups: the Windows temp directory, browser caches, Windows Update downloads, the Recycle Bin, and application caches. Excluding these can reduce backup size by 10-50 GB on a typical workstation.
For Windows backup, choose Restic or Kopia if you want CLI-driven cloud backups with VSS support, Duplicati if you want a purely graphical experience, or UrBackup if you need centralized multi-machine backup with image-level recovery.