Guide
Why a million small objects cost more than the same bytes in one file
Prices checked
Below an average object size of about 9.8 KB, keeping 1,000 GB in S3 Glacier Deep Archive costs more than keeping it in S3 Standard, because AWS adds 40 KB of billed metadata to every archived object: 32 KB at the Deep Archive rate and 8 KB at the Standard rate.
The same 1,000 GB, kept as 8 KB files
What the bytes cost in large filesWhat 8 KB files add
- Amazon S3 Glacier Deep Archiveabout 40 KB of metadata billed per file$26.63, not $0.92
- Amazon S3 One Zone-IAeach file billed as at least 128 KB$152.59, not $9.31
- Amazon S3 Standard-IAeach file billed as at least 128 KB$190.73, not $11.64
- Amazon S3 Glacier Instant Retrievaleach file billed as at least 128 KB$61.04, not $3.73
- Amazon S3 Glacier Flexible Retrievalabout 40 KB of metadata billed per file$39.02, not $3.35
- DigitalOcean Spaces Cold Storageeach file billed as at least 128 KB$111.81, not $11.52
- Hetzner Object Storageeach file billed as at least 64 KB$72.57, not $7.99
- Storj Standardeach file billed as at least 50 KB$43.75, not $7.00
- Telnyx Cloud Storage Regular Storageeach file rounded up in 4 KiB steps$5.66, not $5.53
- Amazon S3 Standardno size rule$21.42 either way
Put your own numbers through the calculator to see what this charge does to a normal month and to the month you restore.
A size floor and metadata overhead are different charges
A minimum billable object size replaces the charged size when an object is below a class threshold. S3 Standard-IA, One Zone-IA, and Glacier Instant Retrieval bill objects smaller than 128 KB as 128 KB. S3 Glacier Flexible Retrieval and Deep Archive instead add 40 KB of metadata to every archived object. [1]
AWS splits that 40 KB into 8 KB billed at S3 Standard rates and 32 KB billed at the archive-class rate. AWS counts storage in binary units: 1 GB is 2^30 bytes and 1 KB is 1,024 bytes, so a GB holds 1,048,576 KB. One million archived objects therefore add 40,000,000 KB, or 38.15 GB, of metadata, even when their logical payload already totals 1,000 GB. [1] [2]
Units differ between vendors. AWS's GB and KB are binary, the same sizes as GiB and KiB, and DigitalOcean and Telnyx write GiB and KiB. This guide keeps each vendor's own unit and says so whenever a figure is converted. [1] [3] [4]
| Charge | Published rule | One-million-object consequence | Source |
|---|---|---|---|
| S3 Deep Archive metadata | Add 40 KB per object: 8 KB at S3 Standard and 32 KB at Deep Archive rates [1] | 1,000,000 x 40 KB = 40,000,000 KB, or 38.15 GB of metadata: 7.63 GB at the Standard rate and 30.52 GB at the Deep Archive rate | [1] [2] [5] |
| S3 128 KB billable-size floor | Standard-IA, One Zone-IA, and Glacier Instant Retrieval charge objects below 128 KB as 128 KB [1] | One million 1 KB objects hold 1,000,000 KB (0.95 GB) but are billed as 128,000,000 KB (122.07 GB), 128 times as much | [1] [5] |
| Telnyx 4 KiB billing granularity | Each object is rounded in 4 KiB units and metadata is included [4] | The result stays in the KiB and GiB that Telnyx publishes | [4] [5] |
The same 1,000 GB can carry $0.99 or $216.67 of Deep Archive storage
The worked workload holds logical payload at 1,000 GB for one full month in S3 Glacier Deep Archive in us-east-1. Average object size divides the payload evenly, sizes follow AWS's binary units (1 GB = 1,048,576 KB and 1 MB = 1,024 KB), and replication, versioning, requests, retrieval, temporary copies, and egress are excluded from this storage-only table. [2] [1]
The payload line is always 1,000 GB x $0.00099 = $0.99. Object size changes only the object count and the two metadata lines. At a 1 MB average there are 1,024,000 objects, so the backup carries 39.06 GB of pure metadata and costs $1.20 after rounding. [2] [1]
| Average object size | Object-count arithmetic | Added metadata | Monthly storage arithmetic | Monthly charge | Source |
|---|---|---|---|---|---|
| 1 KB | 1,000 GB x 1,048,576 KB/GB / 1 KB = 1,048,576,000 objects | 1,048,576,000 x 40 KB = 40,000 GB | 1,000 x $0.00099 + 8,000 x $0.023 + 32,000 x $0.00099 | $216.67 | [2] [1] [5] |
| 10 KB | 1,000 GB x 1,048,576 KB/GB / 10 KB = 104,857,600 objects | 104,857,600 x 40 KB = 4,000 GB | 1,000 x $0.00099 + 800 x $0.023 + 3,200 x $0.00099 | $22.56 | [2] [1] [5] |
| 100 KB | 1,000 GB x 1,048,576 KB/GB / 100 KB = 10,485,760 objects | 10,485,760 x 40 KB = 400 GB | 1,000 x $0.00099 + 80 x $0.023 + 320 x $0.00099 | $3.15 | [2] [1] [5] |
| 1 MB, or 1,024 KB | 1,000 GB x 1,048,576 KB/GB / 1,024 KB = 1,024,000 objects | 1,024,000 x 40 KB = 39.0625 GB | 1,000 x $0.00099 + 7.8125 x $0.023 + 31.25 x $0.00099 | $1.20 | [2] [1] [5] |
| 10 MB, or 10,240 KB | 1,000 GB x 1,048,576 KB/GB / 10,240 KB = 102,400 objects | 102,400 x 40 KB = 3.90625 GB | 1,000 x $0.00099 + 0.78125 x $0.023 + 3.125 x $0.00099 | $1.01 | [2] [1] [5] |
| 100 MB, or 102,400 KB | 1,000 GB x 1,048,576 KB/GB / 102,400 KB = 10,240 objects | 10,240 x 40 KB = 0.390625 GB | 1,000 x $0.00099 + 0.078125 x $0.023 + 0.3125 x $0.00099 | $0.99 | [2] [1] [5] |
Below 9.80 KB, Deep Archive is more expensive than S3 Standard
For this 1,000 GB us-east-1 comparison, S3 Standard costs 1,000 x $0.023 = $23.00 in the first storage band and has no minimum billable object size. Deep Archive costs $0.99 for payload plus $215.68 divided by average object size in KB for its split metadata. [2] [1]
Setting $0.99 + $215.68 / size equal to $23.00 gives a crossover at 9.799 KB, rounded to 9.80 KB, or about 10,034 bytes. Below that average, the nominally cheapest class is the more expensive of these two storage tiers. This is a storage-only crossover, not a restore winner, because retrieval, requests, temporary-copy storage, and egress remain separate. [2] [1]
| Average object size | S3 Standard monthly storage | Deep Archive monthly storage | Result in this two-tier comparison | Source |
|---|---|---|---|---|
| 1 KB | $23.00 | $216.67 | Deep Archive is the most expensive | [2] [1] |
| 5 KB | $23.00 | $44.13 | Deep Archive is the most expensive | [2] [1] |
| 9.80 KB | $23.00 | $23.00 after rounding | Crossover | [2] [1] |
| 10 KB | $23.00 | $22.56 | Deep Archive is cheaper by $0.44 | [2] [1] |
| 100 KB | $23.00 | $3.15 | Deep Archive is cheaper by $19.85 | [2] [1] |
| 1 MB | $23.00 | $1.20 | Deep Archive is cheaper by $21.80 | [2] [1] [5] |
A read-only restore exposes the request cost of small objects
This restore keeps the archived source unchanged and restores the same 1,000 GB to the public internet using Deep Archive Standard retrieval. It assumes one RestoreObject request and one GET per object, the full 100 GB AWS internet-transfer allowance remains, and the temporary S3 Standard copy is kept for 7 days in an illustrative 30-day month. [2] [1] [6]
The byte-based subtotal is constant: $20.00 retrieval, $81.00 egress, and $5.37 temporary-copy storage, or $106.37 after rounding. Object count changes the request subtotal at $0.10 per 1,000 Standard restore requests plus $0.0004 per 1,000 GET requests. Real tools can issue additional HEAD, LIST, range, and retry operations, so the one-restore-plus-one-GET assumption is a lower-bound estimate rather than a universal request count. [2] [1]
Early deletion does not apply and contributes $0.00. A read-only restore can charge retrieval, restore and GET requests, temporary-copy storage, and egress, but it does not delete, overwrite, move, or transition the archived source. [1] [6]
| Average object size | Object count | Restore plus GET request arithmetic | Byte-based subtotal | Example restore total | Source |
|---|---|---|---|---|---|
| 1 KB | 1,048,576,000 | 1,048,576,000 / 1,000 x ($0.10 + $0.0004) = $105,277.03 | $106.37 | $105,383.40 | [2] [1] [5] |
| 10 KB | 104,857,600 | 104,857,600 / 1,000 x ($0.10 + $0.0004) = $10,527.70 | $106.37 | $10,634.07 | [2] [1] [5] |
| 100 KB | 10,485,760 | 10,485,760 / 1,000 x ($0.10 + $0.0004) = $1,052.77 | $106.37 | $1,159.14 | [2] [1] [5] |
| 1 MB | 1,024,000 | 1,024,000 / 1,000 x ($0.10 + $0.0004) = $102.81 | $106.37 | $209.18 | [2] [1] [5] |
| 10 MB | 102,400 | 102,400 / 1,000 x ($0.10 + $0.0004) = $10.28 | $106.37 | $116.65 | [2] [1] [5] |
| 100 MB | 10,240 | 10,240 / 1,000 x ($0.10 + $0.0004) = $1.03 | $106.37 | $107.39 | [2] [1] [5] |
Egress and requests decide the restore, not the storage-rate headline
A storage-only crossover answers which tier holds the bytes more cheaply. It does not answer which provider restores them more cheaply. Backblaze B2, Cloudflare R2, and Wasabi apply three different restore rules: a proportional egress allowance with a published overage, no internet-egress charge with paid operations, and no egress fee under a fair-use guideline. [7] [9] [10]
The examples below use 1,000 GB of monthly average or active storage as the provider rule requires. They keep egress and request lines separate, and they do not add early-deletion charges because every restore remains read-only. [7] [9] [10] [6]
| Provider | 1,000 GB outbound restore | 4,000 GB outbound month | Effect of file count | What we show | Source |
|---|---|---|---|---|---|
| Backblaze B2 | min(1,000 GB, 3 x 1,000 GB average storage) is inside the allowance; egress $0.00 | (4,000 GB - 3,000 GB allowance) x $0.01/GB = $10.00 | Class A and Class B operations are not charged in the offer we checked | conditional allowance with a published overage | [7] [8] |
| Cloudflare R2 Standard | Internet egress is not charged | Internet egress remains not charged | At 1 KB average, one billion GETs leave 990 million billable Class B operations after the 10 million allowance: 990,000,000 / 1,000 x $0.00036 = $356.40. At 1 MB average, one million GETs remain inside the allowance. Writes use the separate paid Class A charge | egress not charged; Class A and Class B conditional on monthly operation counts | [9] |
| Wasabi | conditional: 1,000 GB egress is at the 1,000 GB active-storage limit and has no per-GB egress fee | $0 egress: 4,000 GB exceeds active storage, which Wasabi charges nothing for but treats as outside its free-egress guideline | Object count does not change it | $0 with Wasabi's policy beside it | [10] |
Small-file rules at all 18 vendors
Our price table covers 66 offers from 18 vendors. A positive floor appears only where the vendor publishes one. Where the vendor states no rule, the floor is not published, which is not the same as zero; where the vendor says there is no floor, we mark it as not applicable. Class-specific rules stay class-specific. [1] [11] [12]
Amazon S3, DigitalOcean Cold, Hetzner, Storj, Telnyx, and Wasabi have a positive billable-size rule in our price table. Amazon also adds 40 KB of archive metadata per object. Backblaze, Akamai, Filebase, Cloudflare R2, and Google Cloud Storage state that there is no positive floor. For the remaining seven vendors the floor is not published. [1] [3] [10] [8] [20] [25] [26] [27]
Show the table (18 vendors)
| Provider | What the price list says | Floor we apply | Source |
|---|---|---|---|
| Amazon S3 | Standard and Express One Zone: no positive floor. Standard-IA, One Zone-IA, and Glacier Instant Retrieval: 128 KB floor. Glacier Flexible Retrieval and Deep Archive: no floor, plus 40 KB metadata per object. Intelligent-Tiering's 128 KB threshold is eligibility, not a billable-size floor | 128 KB by class; 40 KB metadata by class; does not apply where specified | [1] [2] |
| Azure Blob Storage | No minimum billable object size was found in the Retail Prices API or checked tier documentation for Hot, Cool, Cold, or Archive | not published | [11] |
| Google Cloud Storage | Google states that no storage class, Rapid included, has a minimum object size | None | [27] |
| Cloudflare R2 | Cloudflare states that neither Standard nor Infrequent Access has a minimum object size | None | [26] |
| Backblaze B2 | Backblaze states there is no minimum file-size fee | does not apply | [8] |
| Wasabi | Objects smaller than 4 KB are billed as 4 KB | 4 KB | [10] |
| IDrive e2 | No minimum billable object size was found. A statement about minimum upload size does not establish the billing rule | not published | [13] [14] |
| DigitalOcean Spaces | Standard is not published; Cold publishes a 128 KiB minimum billed object and a 128 KiB minimum retrieval charge | 128 KiB for Cold storage and reads; Standard remains not published | [3] |
| Scaleway Object Storage | No minimum billable object size was found for Standard Multi-AZ, Standard One Zone, or Glacier. The recommendation to use objects larger than 1 MB is not a billing floor | not published | [17] |
| OVHcloud Object Storage | No minimum billable object size was found for Standard 3-AZ, High Performance, Infrequent Access, Active Archive, or Cold Archive | not published | [18] |
| Hetzner Object Storage | 64 KB minimum billable object size | 64 KB | [19] |
| Akamai Cloud Object Storage | Akamai states there is no minimum billable object size and objects are billed at actual size | does not apply | [20] |
| Vultr Object Storage | No minimum billable object size was found for Standard, Premium, Performance, Accelerated, or Archive | not published | [21] |
| Storj | 50 KB minimum per object on the Standard price list we checked | 50 KB | [22] |
| Oracle OCI Object Storage | No minimum billable object size was found for Standard, Infrequent Access, or Archive | not published | [23] |
| Tigris | No minimum billable object size was found for Standard, Infrequent Access, Archive, or Archive Instant Retrieval | not published | [24] |
| Filebase | Filebase states there is no minimum object size | does not apply | [25] |
| Telnyx Cloud Storage | 4 KiB minimum billable object size and 4 KiB bucket-consumption granularity for the US and EU offers we checked | 4 KiB | [4] |
Look-alike rules and two floors now settled
The rates, and whether each is published, come from our price table. The DigitalOcean Cold mismatch was resolved on 2026-07-29, so the prices we checked now include the documented 128 KiB storage and read floors. Wasabi's 4 KB floor is settled too: its pricing FAQ bills objects smaller than 4 KB as 4 KB, and our price table uses the same floor. [10] [3]
Upload eligibility, tiering eligibility, and recommended object size do not count as a billable-size rule. They can affect whether an upload or tiering action is supported, but they do not prove how stored bytes are billed. [14] [1] [17]
| Claim or disagreement | What our price table says | Do not assume | How the calculator counts it | Source |
|---|---|---|---|---|
| Wasabi 4 KB | Wasabi's pricing FAQ and our price table both bill objects smaller than 4 KB as 4 KB | Applying the 4 KB floor to objects that are already 4 KB or larger | Each object smaller than 4 KB counts as 4 KB | [10] |
| DigitalOcean Cold 128 KiB | The prices we checked and the official documentation reviewed on 2026-07-29 both publish a 128 KiB storage and retrieval floor for Cold | Applying the Cold floor to Standard or treating it as a request price | 128 KiB for Cold stored objects and reads only | [3] |
| IDrive minimum upload size | Our price table found no minimum billable object size; the FAQ discusses upload eligibility | No minimum upload size means no minimum billing floor | not published | [13] [14] |
| S3 Intelligent-Tiering 128 KB | Objects below 128 KB can be stored but are not auto-tiered | A tiering-eligibility threshold is a 128 KB billable-size floor | does not apply as a billable-size floor; retain the eligibility rule separately | [1] |
| Scaleway objects larger than 1 MB | The checked FAQ recommends larger Glacier objects but our price table found no billing floor | An operational recommendation is a published minimum billable size | not published | [17] |
Sources
Every figure above comes from one of these pages, on the date shown. Each numbered reference in the text links to its entry here. Vendors change prices; if a date looks old, check the source. Three vendors publish a downloadable price feed and the rest are re-checked by hand, which is why the dates are not uniform.
Source pages checked 27 sources
- 1 AWS: Amazon S3 pricing aws.amazon.com · checked 26 July 2026
- 2 AWS price list, US East (S3, version of 20 July 2026) pricing.us-east-1.amazonaws.com · checked 25 July 2026
- 3 DigitalOcean docs: Spaces pricing docs.digitalocean.com · checked 25 July 2026
- 4 Telnyx Cloud Storage docs: Billing developers.telnyx.com · checked 25 July 2026
- 5 AWS: Amazon S3 pricing aws.amazon.com · checked 11 October 2026
- 6 Amazon S3 docs: Restoring an archived object docs.aws.amazon.com · checked 26 July 2026
- 7 Backblaze: B2 API pricing (Class A, B, C, D) www.backblaze.com · checked 25 July 2026
- 8 Backblaze: B2 Cloud Storage pricing www.backblaze.com · checked 25 July 2026
- 9 Cloudflare R2 docs: Pricing developers.cloudflare.com · checked 25 July 2026
- 10 Wasabi: Pay as you go pricing FAQs wasabi.com · checked 12 October 2026
- 11 Azure docs: Access tiers for blob data learn.microsoft.com · checked 25 July 2026
- 12 Google Cloud Storage pricing cloud.google.com · checked 25 July 2026
- 13 IDrive e2: Plans and pricing www.idrive.com · checked 25 July 2026
- 14 IDrive e2: FAQs about pricing www.idrive.com · checked 26 July 2026
- 15 DigitalOcean: Spaces Object Storage pricing www.digitalocean.com · checked 25 July 2026
- 16 DigitalOcean docs: Spaces pricing docs.digitalocean.com · checked 26 July 2026
- 17 Scaleway docs: Object Storage FAQ www.scaleway.com · checked 25 July 2026
- 18 OVHcloud docs: Choosing the right Object Storage class docs.ovhcloud.com · checked 25 July 2026
- 19 Hetzner Object Storage docs: Overview docs.hetzner.com · checked 25 July 2026
- 20 Akamai Object Storage docs: Pricing techdocs.akamai.com · checked 25 July 2026
- 21 Vultr docs: How is Object Storage billed? docs.vultr.com · checked 25 July 2026
- 22 Storj pricing www.storj.io · checked 25 July 2026
- 23 Oracle docs: Object Storage storage tiers docs.oracle.com · checked 25 July 2026
- 24 Tigris pricing www.tigrisdata.com · checked 25 July 2026
- 25 Filebase docs: Pricing filebase.com · checked 25 July 2026
- 26 Cloudflare developer docs: Storage classes developers.cloudflare.com · checked 11 October 2026
- 27 Google Cloud Storage docs: Storage classes docs.cloud.google.com · checked 11 October 2026