# Duplicati vs restic

**Leader by Vioscale score:** Duplicati

| Attribute | Duplicati | restic |
|---|---|---|
| **Vioscale score** | 51.7 (39% (low)) | 40 (28% (low)) |
| activity.commits_last_30d | 100 | 20 |
| adoption.dependent_repos | 0 | 2 |
| adoption.github_stars | 14,939 | 35,740 |
| deployment.options | `{"cloud":true,"hybrid":true,"on_prem":true,"self_hosted":true}` | `{"cloud":true,"self_hosted":true}` |
| description.long | A centralized platform for managing backups across on-premises servers and cloud services with end-to-end encryption, multi-site management, and support for multiple storage backends. | Free and open source backup program supporting Linux, macOS, Windows and other systems, with ability to store backups to multiple backends including self-hosted and cloud services. |
| features.capabilities | `{"backup_method":"hybrid","air_gapped_copy":true,"licensing_model":"subscription-flat","deployment_model":"hybrid","multi_tenant_msp":true,"immutable_storage":true,"multi_cloud_support":true,"granular_item_recovery":true}` | - |
| integrations.count | 9 | 3 |
| integrations.list | `[{"name":"AWS S3"},{"name":"Azure Blob Storage"},{"name":"Wasabi Hot Storage"},{"name":"Backblaze B2"},{"name":"Microsoft 365"},{"name":"Google Workspace"},{"name":"SFTP"},{"name":"SMB"},{"name":"Duplicati Storage"}]` | `[{"name":"Google Cloud Storage"},{"name":"Microsoft Azure Blob Storage"},{"name":"SFTP"}]` |
| language.primary | C# | Go |
| license.spdx | - | BSD-2-Clause |
| market.availability | `{"primaryMarkets":["US"],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` | - |
| platform.support | - | `{"cli":true,"mac":true,"linux":true,"windows":true}` |
| pricing | `{"type":"subscription","summary":"Starting from free","currency":"USD","freeTier":true,"sourceUrl":"https://www.duplicati.com","retrievedAt":"2026-08-21T13:11:59.079Z"}` | `{"type":"open_source","freeTier":true,"sourceUrl":"https://restic.net","retrievedAt":"2026-08-20T16:34:25.252Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | commercial | open_source |
| pricing.price_level | low | free |
| pricing.transparent | no | - |
| release.cadence_days | 8 | 77 |
| release.history | `[{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.1.1_beta_2026-08-26","date":"2026-08-26T10:40:41Z","type":"prerelease","version":"v2.3.1.1_beta_2026-08-26"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.110_canary_2026-08-25","date":"2026-08-25T15:27:48Z","type":"prerelease","version":"v2.3.0.110_canary_2026-08-25"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.109_canary_2026-08-14","date":"2026-08-14T17:37:59Z","type":"prerelease","version":"v2.3.0.109_canary_2026-08-14"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.1.0_beta_2026-07-28","date":"2026-07-28T09:47:32Z","type":"prerelease","version":"v2.3.1.0_beta_2026-07-28"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.108_canary_2026-07-20","date":"2026-07-20T20:32:50Z","type":"prerelease","version":"v2.3.0.108_canary_2026-07-20"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.107_canary_2026-07-13","date":"2026-07-13T21:19:55Z","type":"prerelease","version":"v2.3.0.107_canary_2026-07-13"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.4_stable_2026-07-09","date":"2026-07-09T16:31:27Z","type":"stable","version":"v2.3.0.4_stable_2026-07-09"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.106_canary_2026-07-03","date":"2026-07-03T13:25:55Z","type":"prerelease","version":"v2.3.0.106_canary_2026-07-03"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.105_canary_2026-06-24","date":"2026-06-24T16:01:13Z","type":"prerelease","version":"v2.3.0.105_canary_2026-06-24"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.3_stable_2026-06-10","date":"2026-06-10T17:09:42Z","type":"stable","version":"v2.3.0.3_stable_2026-06-10"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.2_stable_2026-06-10","date":"2026-06-10T14:19:26Z","type":"stable","version":"v2.3.0.2_stable_2026-06-10"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.104_canary_2026-06-04","date":"2026-06-04T22:13:47Z","type":"prerelease","version":"v2.3.0.104_canary_2026-06-04"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.103_canary_2026-05-22","date":"2026-05-22T13:04:52Z","type":"prerelease","version":"v2.3.0.103_canary_2026-05-22"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.102_canary_2026-05-09","date":"2026-05-09T10:06:28Z","type":"prerelease","version":"v2.3.0.102_canary_2026-05-09"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.101_canary_2026-05-04","date":"2026-05-04T17:22:54Z","type":"prerelease","version":"v2.3.0.101_canary_2026-05-04"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.1_stable_2026-04-24","date":"2026-04-24T14:02:10Z","type":"stable","version":"v2.3.0.1_stable_2026-04-24"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.100_canary_2026-04-23","date":"2026-04-23T11:57:35Z","type":"prerelease","version":"v2.3.0.100_canary_2026-04-23"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.3.0.0_stable_2026-04-14","date":"2026-04-14T14:39:52Z","type":"stable","version":"v2.3.0.0_stable_2026-04-14"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.2.0.107_canary_2026-03-20","date":"2026-03-20T17:07:35Z","type":"prerelease","version":"v2.2.0.107_canary_2026-03-20"},{"url":"https://github.com/duplicati/duplicati/releases/tag/v2.2.0.106_canary_2026-03-06","date":"2026-03-06T16:59:29Z","type":"prerelease","version":"v2.2.0.106_canary_2026-03-06"}]` | `[{"url":"https://github.com/restic/restic/releases/tag/v0.19.1","date":"2026-07-05T08:13:33Z","type":"stable","version":"v0.19.1"},{"url":"https://github.com/restic/restic/releases/tag/v0.19.0","date":"2026-06-09T17:06:16Z","type":"stable","version":"v0.19.0"},{"url":"https://github.com/restic/restic/releases/tag/v0.18.1","date":"2025-09-21T18:24:38Z","type":"stable","version":"v0.18.1"},{"url":"https://github.com/restic/restic/releases/tag/v0.18.0","date":"2025-03-27T19:34:28Z","type":"stable","version":"v0.18.0"},{"url":"https://github.com/restic/restic/releases/tag/v0.17.3","date":"2024-11-08T19:52:25Z","type":"stable","version":"v0.17.3"},{"url":"https://github.com/restic/restic/releases/tag/v0.17.2","date":"2024-10-27T15:55:08Z","type":"stable","version":"v0.17.2"},{"url":"https://github.com/restic/restic/releases/tag/v0.17.1","date":"2024-09-05T19:41:28Z","type":"stable","version":"v0.17.1"},{"url":"https://github.com/restic/restic/releases/tag/v0.17.0","date":"2024-07-26T09:45:09Z","type":"stable","version":"v0.17.0"},{"url":"https://github.com/restic/restic/releases/tag/v0.16.5","date":"2024-07-01T19:42:28Z","type":"stable","version":"v0.16.5"},{"url":"https://github.com/restic/restic/releases/tag/v0.16.4","date":"2024-02-04T19:18:43Z","type":"stable","version":"v0.16.4"},{"url":"https://github.com/restic/restic/releases/tag/v0.16.3","date":"2024-01-14T19:36:47Z","type":"stable","version":"v0.16.3"},{"url":"https://github.com/restic/restic/releases/tag/v0.16.2","date":"2023-10-29T19:05:02Z","type":"stable","version":"v0.16.2"},{"url":"https://github.com/restic/restic/releases/tag/v0.16.1","date":"2023-10-24T18:20:39Z","type":"stable","version":"v0.16.1"},{"url":"https://github.com/restic/restic/releases/tag/v0.16.0","date":"2023-07-31T18:39:51Z","type":"stable","version":"v0.16.0"},{"url":"https://github.com/restic/restic/releases/tag/v0.15.2","date":"2023-04-24T18:40:25Z","type":"stable","version":"v0.15.2"},{"url":"https://github.com/restic/restic/releases/tag/v0.15.1","date":"2023-01-30T20:10:28Z","type":"stable","version":"v0.15.1"},{"url":"https://github.com/restic/restic/releases/tag/v0.15.0","date":"2023-01-12T20:08:36Z","type":"stable","version":"v0.15.0"},{"url":"https://github.com/restic/restic/releases/tag/v0.14.0","date":"2022-08-25T18:14:07Z","type":"stable","version":"v0.14.0"},{"url":"https://github.com/restic/restic/releases/tag/v0.13.1","date":"2022-04-10T09:34:56Z","type":"stable","version":"v0.13.1"},{"url":"https://github.com/restic/restic/releases/tag/v0.13.0","date":"2022-03-26T19:37:57Z","type":"stable","version":"v0.13.0"}]` |
| security.scorecard | 5.6 | 7.3 |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=helm&package_name=cronce%2Fduplicati&per_page=100","last_12m":0,"max_severity":null}` | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=go&package_name=github.com%2Frestic%2Frestic&per_page=100","last_12m":0,"max_severity":null}` |

## Capabilities (Backup Recovery)

| Capability | Duplicati | restic |
|---|:--:|:--:|
| **Capabilities** |  |  |
| Backup method | Hybrid | - |
| Immutable storage | ✓ | - |
| Air gapped copy | ✓ | - |
| Dr orchestration failover | - | - |
| Instant recovery | - | - |
| Ransomware anomaly detection | - | - |
| Granular item recovery | ✓ | - |
| Kubernetes backup | - | - |
| Multi cloud support | ✓ | - |
| Deployment model | Hybrid | - |
| Multi tenant msp | ✓ | - |
| Deduplication compression | - | - |
| Licensing model | Subscription flat | - |

*Source: Vioscale. Generated 2026-09-01T17:10:29.720Z. "-" = undocumented, not absent.*
