← Back to guides

S3-compatible object storage in Europe: providers compared

Max Heyer · Updated

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.

ProviderStorageOutgoing trafficAPI requestsMinimums and base feesRetrieval fees and minimum storage duration
OVHcloudPer GiB per month, billed hourly; 3-AZ and 1-AZ deployments priced differentlyFreeFreeNone listedNone listed for the standard class; infrequent access and archive classes have minimum storage durations
IONOSPer GB per 30 days, one storage classFirst 2 TB a month included, then per GB in falling tiers counted across the whole contractFreeNone listedNone listed
ScalewayPer GB per month, Multi-AZ or One ZoneFirst 75 GB a month included, then per GBFreeNone listedNone listed for the standard classes; the Glacier class charges per GB restored
ExoscalePer GiB per month, lower rate above 512 TiBPer GiBNone listed on the pricing pageEach object billed as at least 128 KiBNone for the standard class; an Archival class is available on request, with each bucket billed as at least 10 TB and no Object Lock
HetznerBase 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-hourPer TB above the included 1 TBFreeThe base price, per account; each object billed as at least 64 kBNone listed
STACKITPer started GB-hourNone listed in the price list; only CDN traffic is pricedNone listed in the price listNone listedNone listed
Impossible CloudPer TB per monthFree while monthly egress stays at or below the volume you store (Fair Egress Policy); above that, Impossible Cloud may throttle, suspend or billFree1 TB minimum per billing cycle (terms of service); the pricing page says no monthly commitmentNone; 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 allowanceNo request feesNo minimumNo 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?

ProviderVersioningObject LockLifecycle rulesPresigned URLs
OVHcloudYesYes; retention and legal hold not available in Local ZonesYes (no intelligent tiering)Yes
IONOSYesYes, retention and legal holdYesYes
ScalewayYesYes, Compliance and Governance mode, legal holdYes, including transition to GlacierYes
ExoscaleYesYes, set at bucket creation; docs show Governance modeExpiration only, no transitions between classesYes
HetznerYesYes, Compliance and Governance mode, set at bucket creationYes, expirationYes
STACKITYesYes, both modes, maximum retention 365 daysYes, expiration only (current and noncurrent versions)Yes
Impossible CloudYesYes, both modes, legal holdNo; its knowledge base says bucket lifecycle policies are not supportedYes
enumYesYes, set at bucket creationYes, expiration (one storage class, so nothing to transition to)Yes

Checked October 2026.

Three details that decide real projects:

  1. 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.
  2. 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.
  3. 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?

ProviderObject storage locations in Europe
OVHcloudParis and Milan (3 availability zones each), Gravelines, Roubaix, Strasbourg, Frankfurt, London, Warsaw
IONOSFrankfurt, Berlin, Logroño (Spain); also Lenexa, USA
ScalewayParis, Amsterdam, Warsaw (3 zones each), Milan
ExoscaleGeneva, Zurich, Frankfurt, Munich, Vienna (2 zones), Sofia, Zagreb
HetznerFalkenstein, Nuremberg, Helsinki
STACKITGermany (EU01), Austria (EU02)
Impossible CloudFrankfurt, Amsterdam, London, Paris, Copenhagen; also New York
enumFrankfurt (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.

ProviderContracting company and seatISO 27001BSI C5
OVHcloudOVH Groupe SA, Roubaix, FranceYes, Public Cloud Storage in scopeStates it meets C5 requirements; object storage scope not stated
IONOSIONOS Cloud GmbH, Montabaur, GermanyYes, based on IT-GrundschutzC5:2020 Type 1 (May 2026, 33 services in scope, list not published)
ScalewayScaleway SAS, Paris, FranceYes (ISO 27001:2022)Not stated
ExoscaleAkenes SA, Lausanne, SwitzerlandYesC5:2020 Type 2; states all zones and products are covered, report in its customer Compliance Center
HetznerHetzner Online GmbH, Gunzenhausen, GermanyYes, all three sitesC5:2020 Type 2 (report November 2025); summary lists Object Storage, not locations or audit period
STACKITSchwarz Digits Cloud GmbH & Co. KG, Bad Friedrichshall, GermanyYesC5 Type 2; Object Storage listed in scope
Impossible CloudImpossible Cloud GmbH, Hamburg, GermanyYesNot stated
enumenum GmbH, Cologne, GermanyNot held; in progress, target Q4 2026Not 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.

Build on enum.
Start today.

Sign up and use object storage and DNS right away, or talk to us about Kubernetes.