If you want S3-compatible object storage run by a European company, this guide compares eight options: OVHcloud, IONOS, Scaleway, Exoscale, Hetzner, STACKIT, Impossible Cloud and enum. All eight speak the S3 API, all support versioning and Object Lock, and none lists a charge for API requests. They differ on how they bill storage and outgoing traffic, how many regions they run, how far their S3 support goes, and which certifications they hold today.
The list is a selection, not the whole market. Other European providers sell S3-compatible storage too. Two of them charge nothing for outgoing traffic: UpCloud (Finland, billed in 250 GB steps, egress free under its Fair Transfer Policy) and Safespring (Sweden, no traffic charges in either direction).
This guide compares the eight on those points. Every provider fact below comes from the provider’s own pricing page, documentation or certificate, checked on 2026-10-09. List prices change often, so instead of quoting them we describe how each provider bills and link to its pricing page. We update the tables in place.
Disclosure: enum is one of the eight, and we wrote this guide. We list enum’s limits next to everyone else’s.
What “S3-compatible” means in practice
An S3-compatible service accepts the same API calls as Amazon S3. Tools like aws-cli, rclone, s3cmd, s5cmd, Restic, Velero and the AWS SDKs work after you change the endpoint URL and the access keys, and usually the region and the addressing style. Your application code usually does not change.
One setting catches many migrations. Since January 2025, the AWS SDKs and the CLI send extra checksums by default. AWS warns that third-party S3 implementations may not support them yet, and some S3-compatible services reject them. If uploads fail, set request_checksum_calculation to when_required. Velero’s AWS plugin needs checksumAlgorithm set to an empty string on some backends.
Every provider implements a subset of the S3 API, and the gaps show up where production depends on it:
- Versioning: keeps old versions of an object after an overwrite or delete.
- Object Lock: write-once storage. In Compliance mode, nobody can delete or overwrite a locked object version until its retention period ends, even with valid credentials. In Governance mode, users with a special permission can still remove the lock. Use Compliance mode to protect backups from ransomware. We explain the modes in How to ransomware-proof S3 backups with Object Lock.
- Lifecycle rules: expire old objects and versions automatically, or move them to a colder storage class where the provider has one.
- Presigned URLs: time-limited links that let a browser upload or download one object without your keys.
Before you migrate, check the S3 calls your application and backup tools make against the provider’s compatibility page, and test them.
How much does S3-compatible storage cost in Europe?
Storage per GB is only half the bill. For anything that serves files to users, or that you restore from regularly, outgoing traffic (egress) can cost more than storage. Base fees and minimum charges matter most for small workloads. The table shows how each provider bills its standard storage class.
| Provider | Storage | Outgoing traffic | API requests | Minimums and base fees | Retrieval fees and minimum storage duration |
|---|---|---|---|---|---|
| OVHcloud | Per GiB per month, billed hourly; 3-AZ and 1-AZ deployments priced differently | Free | Free | None listed | None listed for the standard class; infrequent access and archive classes have minimum storage durations |
| IONOS | Per GB per 30 days, one storage class | First 2 TB a month included, then per GB in falling tiers counted across the whole contract | Free | None listed | None listed |
| Scaleway | Per GB per month, Multi-AZ or One Zone | First 75 GB a month included, then per GB | Free | None listed | None listed for the standard classes; the Glacier class charges per GB restored |
| Exoscale | Per GiB per month, lower rate above 512 TiB | Per GiB | None listed on the pricing page | Each object billed as at least 128 KiB | None for the standard class; an Archival class is available on request, with each bucket billed as at least 10 TB and no Object Lock |
| Hetzner | Base price per account, billed hourly while at least one bucket exists; includes 1 TB of storage and 1 TB of outgoing traffic across all buckets; storage above that per TB-hour | Per TB above the included 1 TB | Free | The base price, per account; each object billed as at least 64 kB | None listed |
| STACKIT | Per started GB-hour | None listed in the price list; only CDN traffic is priced | None listed in the price list | None listed | None listed |
| Impossible Cloud | Per TB per month | Free while monthly egress stays at or below the volume you store (Fair Egress Policy); above that, Impossible Cloud may throttle, suspend or bill | Free | 1 TB minimum per billing cycle (terms of service); the pricing page says no monthly commitment | None; the pricing page lists no minimum file size or storage duration fees |
| enum | €0.02 per GB per month, one standard class | €0.025 per GB, no free allowance | No request fees | No minimum | No retrieval fees |
Checked October 2026.
enum prices exclude VAT. Units differ: OVHcloud and Exoscale bill per GiB, the others per GB or TB.
What the table says, plainly:
- Egress: OVHcloud does not charge for outgoing traffic. Impossible Cloud does not charge as long as you download no more per month than you store. IONOS, Scaleway and Hetzner include an allowance and then bill per unit. Exoscale and enum bill every GB out.
- Fixed charges: Hetzner bills a base price per account while any bucket exists, and Impossible Cloud bills at least 1 TB per billing cycle. For a bucket of a few hundred GB, that floor decides the bill. Exoscale and Hetzner also bill small objects at a minimum size. enum has no minimum and no request fees: you pay per GB stored and per GB out.
- Colder classes: OVHcloud and Scaleway offer archive classes for data you rarely read, with minimum storage durations or restore fees. Exoscale offers an Archival class on request. enum has one standard class and no archive tier.
- Where enum is a weaker fit: enum bills egress per GB with no free allowance, so if you serve large volumes of downloads, the providers with free or included egress fit better.
Which providers support versioning, Object Lock, lifecycle rules and presigned URLs?
| Provider | Versioning | Object Lock | Lifecycle rules | Presigned URLs |
|---|---|---|---|---|
| OVHcloud | Yes | Yes; retention and legal hold not available in Local Zones | Yes (no intelligent tiering) | Yes |
| IONOS | Yes | Yes, retention and legal hold | Yes | Yes |
| Scaleway | Yes | Yes, Compliance and Governance mode, legal hold | Yes, including transition to Glacier | Yes |
| Exoscale | Yes | Yes, set at bucket creation; docs show Governance mode | Expiration only, no transitions between classes | Yes |
| Hetzner | Yes | Yes, Compliance and Governance mode, set at bucket creation | Yes, expiration | Yes |
| STACKIT | Yes | Yes, both modes, maximum retention 365 days | Yes, expiration only (current and noncurrent versions) | Yes |
| Impossible Cloud | Yes | Yes, both modes, legal hold | No; its knowledge base says bucket lifecycle policies are not supported | Yes |
| enum | Yes | Yes, set at bucket creation | Yes, expiration (one storage class, so nothing to transition to) | Yes |
Checked October 2026.
Three details that decide real projects:
- Object Lock is usually a bucket-creation decision. At Exoscale, Hetzner and enum you cannot turn it on for an existing bucket. If backups are going into the bucket, enable it on day one.
- Retention limits matter for compliance archives. STACKIT caps Object Lock retention at 365 days. That is fine for backups, but not for records you must keep for ten years.
- Check the smaller gaps too. Hetzner, for example, lists no replication, event notifications or static website hosting, and supports only customer-provided keys (SSE-C) for server-side encryption. enum has no bucket replication, event notifications, static website hosting or customer-managed keys (SSE-KMS) either. Most providers publish a list of supported or unsupported S3 actions. Read it, and test the calls your tools make.
Where are the regions?
| Provider | Object storage locations in Europe |
|---|---|
| OVHcloud | Paris and Milan (3 availability zones each), Gravelines, Roubaix, Strasbourg, Frankfurt, London, Warsaw |
| IONOS | Frankfurt, Berlin, Logroño (Spain); also Lenexa, USA |
| Scaleway | Paris, Amsterdam, Warsaw (3 zones each), Milan |
| Exoscale | Geneva, Zurich, Frankfurt, Munich, Vienna (2 zones), Sofia, Zagreb |
| Hetzner | Falkenstein, Nuremberg, Helsinki |
| STACKIT | Germany (EU01), Austria (EU02) |
| Impossible Cloud | Frankfurt, Amsterdam, London, Paris, Copenhagen; also New York |
| enum | Frankfurt (one zone, fra-a) |
Checked October 2026.
If you need copies in two countries, or a bucket close to users in southern or eastern Europe, OVHcloud, Scaleway and Exoscale have the widest footprint. enum runs object storage in one region and one zone, Frankfurt (fra-a). Data is erasure-coded across servers within that one site, so the site itself is the failure boundary. A Berlin region can be set up on request, but it does not run today, and enum has no cross-region replication. For a multi-region design from day one, that is a real limit.
Who runs it, and which law applies?
For most buyers looking at this list, the reason is jurisdiction. The US CLOUD Act attaches to the provider company, not to where the data center is.
All eight contract through a European company, but some groups reach outside the EU. OVHcloud, IONOS and Hetzner run US subsidiaries for their US locations: OVH US LLC, whose CLOUD Act FAQ says requests could include data stored outside the United States, IONOS Cloud USA Inc. (US product pages) and Hetzner US LLC. Impossible Cloud runs a New York region. Exoscale’s parent A1 Group is about 61% owned by América Móvil (Mexico), which reports it to the SEC. Ask about the whole group, not just the contracting entity.
enum GmbH is a German company with no US parent and no US company in its structure.
European ownership does not remove government access: EU authorities can also order providers to hand over data, including across borders under the e-Evidence Regulation. Client-side encryption with keys you hold protects your data at any provider.
When you plan an exit, the EU Data Act has rules on switching charges, including egress for the move.
| Provider | Contracting company and seat | ISO 27001 | BSI C5 |
|---|---|---|---|
| OVHcloud | OVH Groupe SA, Roubaix, France | Yes, Public Cloud Storage in scope | States it meets C5 requirements; object storage scope not stated |
| IONOS | IONOS Cloud GmbH, Montabaur, Germany | Yes, based on IT-Grundschutz | C5:2020 Type 1 (May 2026, 33 services in scope, list not published) |
| Scaleway | Scaleway SAS, Paris, France | Yes (ISO 27001:2022) | Not stated |
| Exoscale | Akenes SA, Lausanne, Switzerland | Yes | C5:2020 Type 2; states all zones and products are covered, report in its customer Compliance Center |
| Hetzner | Hetzner Online GmbH, Gunzenhausen, Germany | Yes, all three sites | C5:2020 Type 2 (report November 2025); summary lists Object Storage, not locations or audit period |
| STACKIT | Schwarz Digits Cloud GmbH & Co. KG, Bad Friedrichshall, Germany | Yes | C5 Type 2; Object Storage listed in scope |
| Impossible Cloud | Impossible Cloud GmbH, Hamburg, Germany | Yes | Not stated |
| enum | enum GmbH, Cologne, Germany | Not held; in progress, target Q4 2026 | Not held; on the roadmap, target 2027 |
Checked October 2026.
Ownership, briefly: OVHcloud is majority-held by the Klaba family. IONOS Cloud belongs to IONOS Group SE, majority-owned by United Internet AG. Scaleway is part of the French iliad Group. STACKIT is part of the Schwarz Group. Exoscale is a Swiss company and a member of A1 Digital, part of A1 Group, which América Móvil controls. Switzerland is not in the EU, which matters for some procurement rules.
A C5 Type 1 attestation checks the design of controls at one point in time. Type 2 also checks that they worked over a period, and many buyers ask for Type 2. If your buyers or auditors ask for BSI C5 today, STACKIT, Hetzner and Exoscale hold Type 2. STACKIT and Hetzner name Object Storage in scope, and Exoscale states that all its zones and products are covered, with the report in its Compliance Center. In each case, read the report before you rely on it. IONOS holds Type 1 for 33 services, but does not publish which ones, so ask whether object storage is in scope and whether Type 1 is enough for your buyer. enum does not have ISO 27001 or C5 yet, and does not publish a sub-processor list. Its data center in Frankfurt holds ISO 27001 and EN 50600, but those are the facility operator’s certificates, not enum’s.
This guide is general information, not legal advice. Have your counsel assess your specific situation.
How to choose
- Large backup or archive volumes, rare reads: the storage rate per TB decides, so compare current prices on the pricing pages. Look at the archive classes at OVHcloud and Scaleway, and Exoscale’s Archival class, too, and check their restore fees, minimum storage durations and minimum bucket sizes.
- Serving files to users (downloads, media): egress decides. OVHcloud does not charge for it. Impossible Cloud’s free egress stops at roughly the volume you store per month, so heavy download or media traffic needs a separate deal. IONOS, Scaleway and Hetzner include an allowance before they bill.
- Small buckets: check for base fees and minimum charges. Hetzner bills a base price per account and Impossible Cloud a 1 TB minimum per billing cycle; enum bills per GB used, with no minimum.
- Certification required now: STACKIT, Hetzner or Exoscale (C5 Type 2, object storage covered); read the report for scope and audit period. IONOS holds Type 1; check whether that satisfies your buyer and covers object storage.
- Several countries or zones: OVHcloud, Scaleway or Exoscale.
- Ransomware-proof backups: any provider here with Object Lock in Compliance mode, as long as its retention limits fit your policy.
The move itself is simple: sync buckets with rclone (or s5cmd through a local copy, since s5cmd cannot sync between two endpoints) until cutover, then switch endpoints and keys. rclone copies only current versions. With --s3-versions it also copies old versions, but as separate objects with timestamped names, not as versions, so the version history does not move with the data. Object Lock settings, lifecycle rules and bucket policies have to be set up again on the new side.
Leaving a provider that bills egress costs money, so plan the move’s traffic into the budget.
Where enum fits
enum Object Storage is S3-compatible storage in Frankfurt, run by enum GmbH, a German company with no US parent and no US company in its structure. Data is erasure-coded across servers in one Frankfurt site, designed for 99.9999999% durability. Storage and outgoing traffic are billed; requests are free. It has versioning, Object Lock, lifecycle expiration rules and presigned URLs, and it is self-service: sign up, create a bucket, point your S3 client at fra.storage.enum.cloud.
Its limits, plainly:
- One region and one zone (Frankfurt, fra-a), one storage class, no cross-region or bucket replication.
- No event notifications, static website hosting or customer-managed keys (SSE-KMS).
- A default quota of 10 TiB and 100 buckets per project, raised on request.
- A 99.9% availability SLA; credit terms are not published and come with the contract.
- No ISO 27001 or BSI C5 yet, and no published sub-processor list.
- Included support runs on working days; 24/7 response for critical incidents is part of Enterprise Support.
It makes most sense if you also run, or plan to run, enum Kubernetes Engine (set up on request today) with its NVMe block storage on the same platform. Prices and limits are on the Object Storage page.
FAQ
Which European S3-compatible storage is cheapest? It depends on the shape of your workload, and list prices change, so compare the current prices on each provider’s pricing page. For large volumes, the storage rate per TB decides. For small volumes, base fees and minimums decide: Hetzner bills a base price per account while a bucket exists, Impossible Cloud bills at least 1 TB per billing cycle, and enum bills per GB used with no minimum. Then add egress: OVHcloud charges nothing for outgoing traffic, and Impossible Cloud nothing as long as monthly egress stays at or below what you store. Outside this comparison, UpCloud and Safespring also charge no egress.
Can I use aws-cli, rclone or the AWS SDKs with these providers?
Yes. All eight accept the S3 API. You change the endpoint URL, the access keys and usually the region. Recent AWS SDKs and the CLI send extra checksums by default; if uploads fail, set request_checksum_calculation to when_required. Check each provider’s list of supported S3 actions for less common calls.
Do European providers support S3 Object Lock? All eight in this guide do. Check the details: STACKIT limits retention to 365 days, OVHcloud does not support retention in its Local Zones, Exoscale documents Governance mode, and several providers require you to enable Object Lock when you create the bucket.
Is an AWS region in Frankfurt the same as a European provider? No. The data sits in Germany, but the provider is a US company. The providers in this guide contract through European companies, though some have US subsidiaries or US regions in their groups.
Which providers have BSI C5? STACKIT, Hetzner and Exoscale hold C5 Type 2 attestations. STACKIT and Hetzner list Object Storage; Exoscale states that all its zones and products are covered, with the report in its Compliance Center. IONOS received a C5:2020 Type 1 attestation in May 2026 covering 33 services, without publishing which ones. OVHcloud says it meets C5 requirements without naming object storage in the scope. enum does not hold C5 and targets it for 2027.