Skip to content

Uploadcare Video CDN

Adaptive bitrate streaming
for web and mobile

On-demand HLS streaming with H.264 and H.265 up to 4K. Upload videos up to 5 TB, deliver via a global CDN with 99.99% uptime. Built for apps with video, images, and files in one pipeline.

MP4Source5 GB
Transcoding…
SD350 MB
HD550 MB
FHD1.2 GB
4K2.8 GB
Bounce logoEverlywell logoReka logoParafin logoZapier logoL'Oréal logoSoundCloud logoFramer logoVSCO logoDocplanner logoShogun logoAnything logoUserTesting logoSamsonite logoAryeo logoPrezly logoRightCapital logoBuffer logoSnorkel logo

Enterprise-grade security and compliance

The same platform healthcare, finance, and education teams have trusted with sensitive files since 2011. The kind of track record that holds up in a security review.

99.99%uptime, proven in production
15YRSon the market

Video uploads and adaptive playback. Handled end to end.

Integrate on-demand video-handling infrastructure in minutes and enable immediate playback for your users. No stuck uploads or long processing times.

Upload.

Add the widget or call the API. Videos up to 5 TB transfer in parallel chunks, so large files move faster.

File uploader

Deliver.

Every project gets its own CDN domain, with files served from the edge closest to each viewer.

CDN delivery

Playback.

One web component streams adaptive video to any device. Bitrate and format resolve per viewer, with nothing to configure.

Video player

Every resolution ready before the first view

Every video is processed on upload, using the resolutions and codecs you set for the project. Renditions above the source resolution are skipped.

One master file

Store the original once and configure the ladder against it. Renditions derive from that file, and you never manage the set by hand.

No encoding infrastructure

No workers to scale, no presets to sync, no encoders sitting idle between uploads. Set the ladder once, 240p to 2160p, H.264 or H.265.

One URL, every rendition

Point the player at a single address and it selects the variant itself. Your application code never branches by device.

Encoding at upload

Videos are processed when they arrive, so the stream is ready before the first viewer asks for it.

Never upscaled

Renditions above the source resolution are skipped. A 900p original stays 900p rather than being stretched, and the skipped rendition isn't produced.

Any device, any connection

4K on a desktop in Munich, 360p on cellular in São Paulo. Same file, resolved per viewer.

Every file type, from upload to delivery

File uploads

Uploads up to 5 TB

Large files transfer in chunks over one API. Video, images, and documents alike.

Upload from anywhere

Device, camera, direct link, Dropbox, Google Drive, OneDrive, and more, all through one widget.

Drop-in uploader

Add a configurable web component, or build your own interface on the upload API.

File validation

Restrict uploads by type, size, and count before anything reaches your storage.

Video encoding and playback

Adaptive bitrate streaming

HLS with H.264 and H.265, 240p to 2160p, matched to each viewer's bandwidth and device.

Encoding on demand

The first request builds the full ladder, and the stream starts while it runs.

Video player component

Add the player for HLS playback and quality selection, or stream to a player of your own.

Video processing API

Convert size, quality, and format through REST. Output MP4, OGG, or WEBM.

Video thumbnails

Pick the exact moment by timestamp, then chain resize and format onto the same URL.

Image processing and delivery

URL-based transformations

Resize, crop, and convert by editing the URL. No re-uploads, no processing step in your app.

Automatic optimization

Every image is served in the best format the browser supports, compressed to match.

Global CDN

Files are delivered from edge nodes worldwide and cached after the first request.

Security and control

Signed uploads

Generate signature tokens server-side to control who can upload and for how long.

Malware scanning

Uploads can be scanned for malware, with infected files blocked or flagged.

Webhooks

Fire custom logic on upload, conversion, or delete. Wire file events into your own flow.

Your storage or ours

Keep files in Uploadcare storage, or connect your own S3, R2, Google Cloud, or Azure bucket.

Built for media-rich workflows in high-volume industries

Student holding a tablet during an e-learning session

Course videos, lecture recordings, and student submissions sit on one pipeline alongside slide decks and course thumbnails. Adaptive playback for every student device and network.

  • Course videos
  • Lecture recordings
  • Student submissions
  • Slide decks
  • Thumbnails
Learn more
Modern house with cantilevered balconies at golden hour

Drone footage, photographer uploads, and mobile agent captures sit on one pipeline alongside listing photos and floor plans. Global delivery and signed URLs for restricted listings.

  • Drone footage
  • Listing photos
  • Floor plans
  • Mobile agent captures
Stacked cosmetic product jars

Brand hero clips, customer videos, and product photography sit on one pipeline alongside product photos and 360° spins. Mobile-optimized delivery for fast product page loads.

  • Hero clips
  • Customer videos
  • Product photography
  • 360° spins
Learn more
Student holding a tablet during an e-learning sessionModern house with cantilevered balconies at golden hourStacked cosmetic product jars

10K+ engineering teams building product, not infrastructure

You end up forgetting about uploads entirely, and that’s exactly what we need from a tool like this.

Read story

You could divert an engineer or two for a month to build your own equivalent solution. We can build the system, but we can’t continuously spend resources to make it work 100% of the time.

Read story

For a company like marko, where every engineering hour counts, having a reliable media layer that we don’t have to think about lets us focus on building the features that differentiate us.

Read story

Quick start

Stream your first HLS video

Install

npm install @uploadcare/uc-video

Add player to markup

import '@uploadcare/uc-video';
import '@uploadcare/uc-video/style'

// ...

<uc-video
  cdnCname="https://demo.ucarecd.net/"
  uuid="fd21c85b-10de-4f69-847c-31627fa7cdf9"
  controls
/>

That's it. Sign up to upload your first video.

FAQ

What is Uploadcare Video CDN?
Uploadcare Video CDN is an on-demand video delivery and adaptive bitrate streaming service. It accepts uploads up to 5 TB from a wide range of sources, transcodes to a customer-configured HLS rendition ladder (up to 4K, with H.264 and H.265 codec choice per rendition), and delivers playback through a global CDN with SOC 2, HIPAA, and GDPR compliance built in.
What video formats and codecs does Uploadcare Video CDN support?
Uploadcare accepts video files in all popular formats. For HLS adaptive bitrate streaming, video is transcoded to H.264 and H.265 on upload. For asynchronous, full-file conversions via the REST API, output containers are MP4, WEBM, or OGG, with options to adjust quality, change dimensions, cut out video fragments, and generate thumbnails. The maximum input file size is 5 TB.
What is the maximum video file size I can upload?
Up to 5 TB per file. Large files are split into chunks and uploaded in parallel, so big transfers move faster. Files can be sent directly from the browser, through the Upload API, or pulled in from end-user cloud accounts like Dropbox, OneDrive, Google Drive, and Google Photos. Amazon S3 is supported through a native storage integration, and Cloudflare R2, Google Cloud Storage, and Azure Blob Storage connect through webhooks.
Does Uploadcare Video CDN support live streaming?
Uploadcare Video CDN is currently optimized for on-demand (VoD) video uploads, transcoding, and HLS delivery for content that is recorded once and played back many times.
Which video players work with Uploadcare Video CDN?
Any HLS-compatible HTML5 player works with Uploadcare Video CDN. Uploadcare ships its own plug-and-play player, but the m3u8 manifest URL also drops cleanly into Video.js, hls.js, Plyr, Shaka Player, and the native <video> tag in Safari and iOS. No proprietary SDK is required.
Is Uploadcare Video CDN HIPAA, SOC 2, and GDPR compliant?
Yes. Uploadcare is SOC 2 audited, HIPAA-eligible (signed BAAs available on Enterprise plan), and GDPR-compliant. The platform offers 99.99% uptime SLA, encryption in transit and at rest, signed-URL access control, and antivirus scanning on every upload.
How does pricing work?
Uploadcare bills in operations rather than credits, drawn from a single monthly allowance that covers uploads, transformations, and delivery. There's a free plan with no card required. Full details are on the pricing page.
How does Uploadcare Video CDN compare to Cloudflare Stream, Mux, and Bunny Stream?
Cloudflare Stream, Mux, and Bunny Stream are video-first platforms. They're the right fit when video is the core of your product, and they offer deeper video-specific tooling like live streaming, low-latency delivery, and DRM. Uploadcare Video CDN is for teams whose apps handle video alongside images, documents, and other files. Same platform, same APIs, same delivery layer for every media type.
How is the cost of adaptive bitrate streaming calculated?
The cost is based on the resolutions and codecs you choose, and the duration of the video. Each rendition is billed separately. The base rate is 10 operations per 10 seconds, multiplied by a resolution factor (×1 for 240p–576p, ×2 for 720p–1080p, ×4 for 1440p–2160p) and a codec factor (×1 for H.264, ×2 for H.265). The duration is rounded up to the nearest 10 seconds. For example, a 52-second video with three H.264 renditions (360p, 720p, 1080p) requires: 60 + 120 + 120 = 300 operations.
What resolution options are available for videos?
Eight resolution options are available: 240p, 360p, 480p, 576p, 720p, 1080p, 1440p and 2160p (4K). You also choose between H.264 and H.265 codecs. The resolution is based on the smaller side of the video. Videos are never upscaled; if the original video is 900p, the highest resolution will remain 900p. Selected resolutions larger than the source are skipped.
What happens if my video duration doesn't align with 10-second intervals?
We round video durations up to the nearest 10-second increment, then bill from that rounded number. So, if your video is 52 seconds, it's billed as 60 seconds.
Are all resolution options always generated?
No. Only the renditions you select are generated. Selected resolutions that exceed the original video's resolution are automatically skipped (e.g., a 900p source will not generate 1080p, 1440p, or 2160p renditions). This ensures no unnecessary upscaling.

Ship video playback.
Skip the encoding pipeline.