# Amazon ECR vs Harbor

**Leader by Vioscale score:** Harbor

| Attribute | Amazon ECR | Harbor |
|---|---|---|
| **Vioscale score** | 48.8 (73% (medium)) | 63.4 (77% (high)) |
| activity.commits_last_30d | - | 62 |
| adoption.dependent_repos | - | 31 |
| adoption.github_stars | - | 29,236 |
| deployment.options | `{"cloud":true}` | `{"self_hosted":true}` |
| description.long | Amazon ECR is a managed service that stores Docker container images and OCI artifacts with high availability. It integrates with AWS compute services, offers both private and public repositories, and includes built-in encryption, access controls via IAM, and vulnerability scanning through Amazon Inspector. | Harbor is an open source registry that secures artifacts with policies and role-based access control, ensures images are scanned and free from vulnerabilities, and signs images as trusted. |
| features.capabilities | `{"rbac":true,"web_ui":true,"hosting":"cloud","image_signing":true,"oci_compliant":true,"private_repos":true,"artifact_types":"images_helm","cloud_iam_native":true,"pull_rate_limits":"tiered","high_availability":true,"pull_through_cache":true,"replication_mirroring":true,"vulnerability_scanning":true}` | `{"web_ui":true,"hosting":"self","image_signing":true,"private_repos":true,"vulnerability_scanning":true}` |
| integrations.count | 10 | 4 |
| integrations.list | `[{"name":"Amazon ECS"},{"name":"Amazon EKS"},{"name":"Amazon EC2"},{"name":"AWS Lambda"},{"name":"AWS Fargate"},{"name":"AWS App Runner"},{"name":"Amazon Inspector"},{"name":"AWS Marketplace"},{"name":"Docker CLI"},{"name":"Helm"}]` | `[{"name":"Trivy"},{"name":"Cosign"},{"name":"Redis"},{"name":"Valkey"}]` |
| language.primary | - | Go |
| license.spdx | - | Apache-2.0 |
| market.availability | `{"primaryMarkets":[],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` | - |
| platform.support | `{"cli":true,"web":true}` | `{"cli":true,"web":true}` |
| pricing | `{"type":"usage","plans":[{"free":false,"name":"Private Repository Storage","summary":"$0.10 per GB per month","features":["Private repository storage"],"components":[{"per":{"qty":1,"unit":"gb"},"kind":"metered","amount":0.1,"period":"month","currency":"USD"}],"description":"Storage for private container repositories","contactSales":false},{"free":true,"name":"Public Repository (Always Free)","summary":"Always free","features":["50 GB/month storage included","500 GB/month anonymous data transfer","5 TB/month data transfer with AWS account"],"description":"Always-free storage and transfer for public repositories","contactSales":false,"includedLimits":{"storage":"50 GB/month","anonymous_transfer":"500 GB/month","authenticated_transfer":"5 TB/month"}},{"free":false,"name":"Data Transfer (Beyond Free Limits)","summary":"Tiered starting at $0.09 per GB","features":["Tiered outbound data transfer pricing"],"components":[{"per":{"qty":1,"unit":"gb"},"kind":"metered","amount":0.09,"period":"month","currency":"USD"}],"description":"Pay for outbound data transfer beyond free tier limits","contactSales":false}],"summary":"Free: 50 GB/month public storage always-free, 500 MB/month private for 1 year. Paid: $0.10/GB for private storage, tiered data transfer charges.","currency":"USD","freeTier":true,"sourceUrl":"https://aws.amazon.com/ecr/pricing/","retrievedAt":"2026-08-14T11:06:02.938Z","startingPrice":{"amount":0.09,"period":"month","currency":"USD"},"billingPeriods":["month"]}` | `{"type":"open_source","sourceUrl":"https://goharbor.io","retrievedAt":"2026-08-14T13:43:51.878Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | freemium | commercial |
| pricing.price_level | low | free |
| pricing.transparent | yes | yes |
| release.cadence_days | - | 2 |
| release.history | - | `[{"url":"https://github.com/goharbor/harbor/releases/tag/v2.15.2","date":"2026-07-02T10:04:51Z","type":"stable","version":"v2.15.2"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.15.2-rc3","date":"2026-07-02T03:31:08Z","type":"prerelease","version":"v2.15.2-rc3"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.15.2-rc2","date":"2026-06-27T08:03:52Z","type":"prerelease","version":"v2.15.2-rc2"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.15.2-rc1","date":"2026-06-17T07:35:43Z","type":"prerelease","version":"v2.15.2-rc1"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.14.4","date":"2026-05-11T04:08:08Z","type":"stable","version":"v2.14.4"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.14.4-rc1","date":"2026-05-10T03:47:44Z","type":"prerelease","version":"v2.14.4-rc1"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.15.1","date":"2026-05-06T08:48:20Z","type":"stable","version":"v2.15.1"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.15.1-rc2","date":"2026-05-06T08:24:03Z","type":"prerelease","version":"v2.15.1-rc2"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.15.1-rc1","date":"2026-04-29T08:21:43Z","type":"prerelease","version":"v2.15.1-rc1"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.15.0","date":"2026-03-20T04:36:02Z","type":"stable","version":"v2.15.0"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.15.0-rc4","date":"2026-03-19T08:37:39Z","type":"prerelease","version":"v2.15.0-rc4"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.15.0-rc3","date":"2026-03-17T06:27:45Z","type":"prerelease","version":"v2.15.0-rc3"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.15.0-rc2","date":"2026-03-10T07:39:26Z","type":"prerelease","version":"v2.15.0-rc2"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.14.3","date":"2026-03-10T02:52:17Z","type":"stable","version":"v2.14.3"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.14.3-rc1","date":"2026-03-08T14:12:16Z","type":"prerelease","version":"v2.14.3-rc1"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.13.5","date":"2026-03-10T04:59:19Z","type":"stable","version":"v2.13.5"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.13.5-rc1","date":"2026-03-09T03:11:42Z","type":"prerelease","version":"v2.13.5-rc1"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.15.0-rc1","date":"2026-02-14T07:00:47Z","type":"prerelease","version":"v2.15.0-rc1"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.14.2","date":"2026-01-15T07:49:00Z","type":"stable","version":"v2.14.2"},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.14.2-rc2","date":"2026-01-12T17:15:03Z","type":"prerelease","version":"v2.14.2-rc2"}]` |
| reliability.status_page | yes | yes |
| security.disclosure_policy | yes | - |
| security.gdpr | yes | - |
| security.pci | yes | - |
| security.scorecard | - | 8.1 |
| security.vulnerabilities | - | `{"count":1,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=go&package_name=github.com%2Fgoharbor%2Fharbor%2Fsrc&per_page=100","last_12m":0,"max_severity":"HIGH"}` |

## Capabilities (Container Registries)

| Capability | Amazon ECR | Harbor |
|---|:--:|:--:|
| **Deployment** |  |  |
| Hosting | Cloud only | Self-hosted only |
| **Standards** |  |  |
| OCI Distribution Spec compliant | ✓ | - |
| **Scope** |  |  |
| Artifact types | Images + Helm/OCI artifacts | - |
| **Security** |  |  |
| Built-in vulnerability scanning | ✓ | ✓ |
| Image signing (Cosign/Notation) | ✓ | ✓ |
| SBOM generation / storage | - | - |
| **Access** |  |  |
| Fine-grained RBAC / robot accounts | ✓ | - |
| Private repositories | ✓ | ✓ |
| **Distribution** |  |  |
| Geo-replication / mirroring | ✓ | - |
| Pull-through cache / proxy | ✓ | - |
| **Integration** |  |  |
| Native cloud IAM integration | ✓ | - |
| **Pricing** |  |  |
| Pull-rate limits | Tiered by plan | - |
| **UX** |  |  |
| Web UI / console | ✓ | ✓ |
| **Ops** |  |  |
| High-availability deployment | ✓ | - |

*Source: Vioscale. Generated 2026-09-01T14:41:18.964Z. "-" = undocumented, not absent.*
