article

How to host videos on a Webflow site and why Bunny.net wins

Webflow can't really host video natively. YouTube and Vimeo are a compromise. Here's a better solution — and how to wire it into Webflow in an afternoon.

13.4.2026
7
minut
Updated:
24.7.2026
Content
Quick Summary (TL;DR)

Bunny.net is a CDN and video-hosting platform built purely for performance and price, and it's what I reach for when a Webflow project needs real video. Webflow doesn't handle video natively — uploading files to its asset CDN kills your Core Web Vitals, YouTube adds third-party branding and competitor recommendations, and Vimeo gets expensive fast. Bunny solves this with two products: Bunny Stream, dedicated video hosting with HLS streaming, automatic encoding to 360p through 4K, a custom brandless player, and per-video analytics; and Bunny CDN, a global network that serves each video from the location closest to your user. Pricing is pay-as-you-go, so you pay only for data actually transferred, not storage or video count — usually far cheaper than Vimeo Pro or Wistia. Connecting Stream to Webflow takes an afternoon: create a library, upload, copy the iframe embed, and drop it into a Webflow Embed element. On my projects, LCP improved noticeably.

Video is one of those things where Webflow just doesn't cut it natively. Sure, you can add a video through the VideoLink field in the CMS or embed YouTube, but the moment you want your own player, fast loading, or a clean look with no third-party branding, you hit a wall. That's where Bunny.net comes in.

Why you shouldn't put video straight into Webflow

Webflow stores assets on its own CDN. That works fine for images, but for video it's a bad choice. Large files slow the site down, you can't set up your own player, and you have no control over how the video loads and streams. The file either loads in full or doesn't load at all. The result: poor Core Web Vitals, frustrated users, and needlessly expensive hosting.

YouTube and Vimeo are better than a raw file in the CMS, but they come with their own trade-offs. YouTube means third-party branding, ads, and recommended videos from your competitors at the end of playback. Vimeo gets expensive the moment you need more space or bandwidth. Neither one gives you full control over the player.

What Bunny.net is and why I use it

Bunny.net is a CDN and video hosting platform focused purely on performance and price. It's not a YouTube alternative for building an audience — it's infrastructure for developers and sites that want their video under control.

Two products matter for Webflow projects:

Bunny Stream is dedicated video hosting with HLS streaming. The video loads progressively, so the user sees the first frame within a second even on a slow connection. It automatically encodes to multiple resolutions (360p, 720p, 1080p, 4K), gives you your own player via an embed code or API, and provides analytics for every video.

Bunny CDN is a global network with PoPs in hundreds of locations. Videos are served from the server nearest to the user, not from a single data center somewhere in the US.

Pricing is pay-as-you-go — you pay for the data actually transferred, not for storage or the number of videos. For most sites it works out significantly cheaper than Vimeo Pro or Wistia.

How to wire Bunny Stream into Webflow

The whole workflow takes an afternoon at most.

1. Create an account on Bunny.net. Signing up is free — you only pay for the data you actually transfer.

2. Create a Stream library in the Bunny dashboard under Stream. Pick a name and a region — for Czech clients I recommend Frankfurt or Amsterdam.

3. Upload a video by dragging it in or via API upload. Bunny automatically encodes it into every resolution; it takes a few minutes depending on file size.

4. Copy the embed code from the video's detail view. It looks like this:

<iframe src="https://iframe.mediadelivery.net/embed/LIBRARY_ID/VIDEO_ID" loading="lazy" allow="autoplay" allowfullscreen></iframe>

5. Drop it into Webflow. For static pages, put the embed code straight into an Embed element on the canvas. For CMS pages, add a Plain Text or Embed field to the collection, store the iframe code in it, and paste it onto the page through an Embed element.

Setting up the player

Bunny Stream lets you customize the player visually so it fits the site's design. In the dashboard under Stream → your library → Player Settings you can set the player color, a custom thumbnail, autoplay and loop behavior, the visibility of the controls, and chapters or subtitles.

The result is a player with no third-party branding that looks like part of the site, not an embedded YouTube.

Performance in practice

On the projects where I've deployed Bunny.net, Core Web Vitals improved mainly on LCP. The video stopped blocking the rest of the page from loading; Bunny Stream loads the player asynchronously and lazy-loads the video itself only once the user scrolls close to the element.

Compared with embedding an MP4 file straight from a Webflow asset, the difference is noticeable — especially on mobile and slower connections. And compared with a YouTube embed, you drop the unnecessary JavaScript and tracking pixel that YouTube injects into every page carrying an embed.

The cost — what you'll really pay

Bunny.net runs with no monthly flat fee. Storage costs $0.01/GB/month, bandwidth starts at $0.005/GB depending on the region, and encoding to the basic resolutions is free.

A site with 10 videos of average length (3 minutes) and 1,000 plays a month works out to roughly $2 to $5 a month. Vimeo Pro costs $20/month, Wistia starts at $19/month and caps the number of videos.

When to use Bunny.net and when not to

Bunny Stream makes sense if you need your own player with no third-party branding, have several videos or videos on CMS pages, care about performance and Core Web Vitals, or don't want to pay a Vimeo flat fee for bandwidth you won't use.

If you publish videos primarily for a YouTube audience and want organic reach through YouTube search, Bunny isn't a replacement. In that case, put your videos on YouTube and embed them on the site via YouTube — but hide the recommended videos by adding the ?rel=0 parameter to the end of the URL.

For every other case — your own showreel on the homepage, videos on product pages, or testimonial videos in the CMS — Bunny.net is the best option I've tried so far.

What is Bunny.net?

Bunny.net is a CDN and video-hosting platform focused purely on performance and price. It's infrastructure for developers and websites that want full control over their videos, not a YouTube-style platform for building an audience.

Why shouldn't I just upload videos to Webflow directly?

Webflow stores assets on its own CDN, which is fine for images but bad for video. Large files slow the site, you can't set a custom player, and the file either loads fully or not at all — hurting Core Web Vitals and driving up hosting cost.

How much does Bunny.net cost compared to Vimeo or Wistia?

Bunny is pay-as-you-go: you pay only for data actually transferred, not for storage or the number of videos. For most websites that works out significantly cheaper than Vimeo Pro or Wistia.

How do I connect Bunny Stream to a Webflow site?

Create a free Bunny account, set up a Stream library and pick a region (Frankfurt or Amsterdam for European clients), upload your video, then copy the iframe embed code. Paste it into a Webflow Embed element on static pages, or store the iframe in a Plain Text or Embed CMS field for template pages.

Can I customize the video player?

Yes. In the Bunny dashboard under your library's Player Settings you can set the player color, custom thumbnail, autoplay and loop behavior, control visibility, and chapters or subtitles. The result is a brandless player that looks like part of your site.

Does Bunny.net actually improve site performance?

In my experience, yes — mainly LCP. Because Bunny Stream loads progressively via HLS, the first frame appears within about a second even on slow connections and the video stops blocking the rest of the page.

Planning a new website or redesign in Webflow?

Write to me briefly,

Jan Vodvárka
Designer & Webflow vývojář
Webflow premium partner badge

Webflow Premium Partner

Webflow premium partner badge
Webflow Premium Partner