Blog
Cost 7 min read

The cheapest video hosting in 2026, calculated at three catalog sizes

What video hosting actually costs at three real catalog sizes, with the arithmetic shown — plus the two crossover points where per-minute billing wins.

rehelios

Engineering

“Cheapest video hosting” is a question with no single answer, which is why every post that tries to answer it lists ten platforms and ranks them by whichever number was easiest to copy off a pricing page. Those numbers aren’t comparable — some are per minute, some are per gigabyte, some are a plan price with a cap attached.

But the question does have a calculable answer, once you fix a catalog and state your assumptions. So that’s what this is: the same arithmetic run three times, at three sizes, with the assumptions written down so you can disagree with them and re-run it.

Bunny Stream is the cheapest option at every catalog size tested, on list rates. Per-GB billing beats per-minute for most catalogs, but the largest single factor is free allowances rather than the model itself — Mux includes 100,000 free delivery minutes a month and free encoding on its basic tier, which makes it cheaper than several per-GB options at small and mid scale. Cloudflare Stream is consistently the most expensive for delivery-heavy workloads because it includes no free delivery.

The two assumptions everything rests on

Video cost math is only as good as the conversion between minutes and gigabytes, so here it is explicitly.

Storage: roughly 5 GB per hour of source video. You’re not storing one file, you’re storing an adaptive ladder — 1080p, 720p, 480p, 360p, 240p. The 1080p rendition runs about 2.25 GB per hour at 5 Mbps, and the smaller rungs add roughly the same again. Depending on your source bitrate and how many rungs you keep, real numbers land between 3 and 8 GB per hour.

Delivery: roughly 1 GB per hour watched. A viewer streams one rendition, not the whole ladder, and adaptive playback usually settles below the top rung. This is why storage and delivery convert at completely different ratios — a detail most cost comparisons quietly get wrong by using one number for both.

If your content is unusual — screen recordings compress far better, high-motion 4K far worse — adjust these and the conclusions shift accordingly. That’s the point of writing them down.

Three catalogs, priced

Small siteCourse libraryLarge catalog
Source video4 hours100 hours1,000 hours
Stored20 GB / 240 min500 GB / 6,000 min5,000 GB / 60,000 min
Delivered / month200 GB / 12,000 min2,000 GB / 120,000 min20,000 GB / 1,200,000 min
Bunny Stream (per-GB)*$1.20$15$150
— storage @ $0.01/GB$0.20$5$50
— delivery @ $0.005/GB$1.00$10$100
rehelios (per-GB)$1.40$20$200
— storage @ $0.02/GB$0.40$10$100
— delivery @ $0.005/GB$1.00$10$100
Mux, basic quality (per-minute)*~$0.72~$38~$1,075
— storage @ $0.003/min$0.72$18~$175
— delivery @ $0.001/min, first 100k free$0$20~$900
— encoding, basic tierfreefreefree
Cloudflare Stream (per-minute)*~$13.20~$150~$1,500
— storage @ $5/1,000 min$1.20$30$300
— delivery @ $1/1,000 min$12.00$120$1,200

*Competitor rates per public pricing at time of writing; verify before budgeting. Bunny figures use its $0.01/GB storage and $0.005/GB Volume-network delivery — the Standard network costs more and varies by region ($0.01/GB in Europe and North America up to $0.06/GB in the Middle East and Africa). Mux figures use basic quality at 1080p and include its 100,000 free monthly delivery minutes; the large-catalog column is approximate because Mux applies volume discounts above 500,000 minutes that aren’t published as a single rate. rehelios figures are our own, with a $1/month minimum.

Three things fall out of this, and two of them are inconvenient for us.

Bunny is cheapest at every size. Its storage rate is half ours and its Volume-network delivery matches ours, so it wins on raw cost across the board. If cost per byte is your only criterion, that’s the answer and you can stop reading. What you trade for it is configuration: you choose a network tier and a region set, and the Standard network’s regional rates run up to 6× the Volume rate.

Mux is much cheaper than its reputation at small and mid scale. Free encoding on the basic tier plus 100,000 free delivery minutes a month means the small-site column costs under a dollar and the course library beats both per-minute expectations and one per-GB option. Basic quality is a genuine tradeoff — a reduced ladder aimed at “simpler video use cases” — so it suits screen recordings better than high-production video. On the plus tier, 1080p encoding is $0.03125/min.

Cloudflare Stream is the expensive one for delivery-heavy work, because it has no free delivery allowance and meters every minute watched at a flat rate regardless of resolution.

Vimeo and Wistia charge a plan price rather than usage, which beats everything at the small end and stops being competitive once you outgrow the tier’s storage cap.

Where per-minute actually wins

Per-GB isn’t universally cheaper, and a comparison that claims it is isn’t worth trusting. Comparing rehelios against Cloudflare Stream — the clearest per-GB versus per-minute pair, since neither has a free allowance muddying it — there are two crossover points, and both are calculable independently of the assumptions above.

Storage crosses over at 15 GB per hour of source. Cloudflare’s per-minute storage is a flat $0.30 per hour (60 min × $5/1,000). Per-GB storage is your ladder size × $0.02. Equal at 15 GB per hour — so if you keep an unusually fat ladder, or store high-bitrate masters alongside the renditions, per-minute storage becomes the cheaper meter.

Delivery crosses over at 12 GB per hour watched. Cloudflare’s per-minute delivery is $0.06 per hour watched (60 × $1/1,000). Per-GB delivery is your stream bitrate × $0.005. Equal at 12 GB per hour — roughly 27 Mbps sustained, which in practice means real 4K. Delivering 4K to an audience that watches a lot of it makes per-minute delivery genuinely cheaper.

Those crossovers don’t transfer to Mux, whose per-minute rates are an order of magnitude lower and come with a free tier attached. Which is the real lesson: the billing model sets the shape of your bill, but the rates and allowances decide the number, and you can’t infer one from the other.

Per-minute billing is a bet that your content is bitrate-heavy relative to its runtime. Per-GB is a bet that it isn’t. Most catalogs aren’t — but check the free allowance before you conclude anything, because it can outweigh the model entirely.

What about free?

“Where can I host my videos for free” is the same search with the budget set to zero, and it has real answers.

Unlisted YouTube is free and stays free. It’s the correct answer for a free course, a demo reel, or anything where access control genuinely doesn’t matter. The costs are non-monetary and worth naming: YouTube’s branding sits on your lesson, recommendations pull viewers away at the end, unlisted URLs are shareable by anyone holding them with no way to revoke per viewer, and you get no completion data tied to your own records.

Vimeo’s free tier gives you a clean player with a storage cap. Fine for a handful of videos, and the cap is the thing you’ll eventually hit.

Free tiers on developer platforms are trial allowances, not a business model. Building on one means planning a migration you haven’t scheduled yet. We wrote about that pattern specifically in “free video hosting API” — what the free tier actually costs.

Rolling your own — object storage with cheap egress, plus your own ffmpeg pipeline — looks cheapest on a spreadsheet and often isn’t. You can absolutely generate an HLS ladder with ffmpeg, and it’s worth doing once to understand what you’d be buying. The recurring cost is the job queue, the retry logic, the failure handling and the person who gets paged. The real cost of self-hosting video does that accounting honestly.

Running your own numbers

The table above is a worked example, not a quote. Three inputs decide your actual bill: hours of source video, gigabytes stored across your ladder, and gigabytes delivered per month. Put yours into the video cost calculator and you’ll get a real figure in less time than reading another comparison post takes.

If the number comes out close between two platforms, stop optimising cents and pick on the other axes — whether you need live, whether playback must be revocable, whether uploads come from code. Those are covered in best video hosting for developers, and the underlying logic on why the billing models diverge is in video hosting API pricing, compared by billing model.

Our rates are on the pricing page, as plain text at /pricing.md, and vendor-by-vendor detail is on the compare hub.

Put your first video live today

Create an account, upload a file, and have a fast, embeddable video live in minutes. Pay only for what you store and stream.