A video downloader that doesn't watch you back.

Save the videos you're watching — webinars, training sessions, lectures, conference talks, and videos tucked inside embedded players — as one file you can keep and watch offline. Click the icon, pick a video, press Download. Free, no sign‑in, and nothing about what you watch ever leaves your browser.

  • Free & no account
  • Most video sites; excludes YouTube & DRM
  • No tracking
  • Webinars & training
  • Slides too

Save the video,
not just the link.

Most pages don't offer a download button. Video Downloader finds the video anyway — even when it streams in pieces or plays inside another site's player — and hands you one file.

One click shows what's on the page

Open the page, click the toolbar icon, and see every video it found — including ones playing inside a player from another site, and ones that load after the page does.

Webinar, training, and lecture players

Built for the players work and school actually use — Vimeo, Wistia, Panopto, Vidyard, JW Player, Mux, Brightcove, ON24, Cloudflare Stream, and more. If you're signed in and can watch it, it can usually save it.

Pick the quality

Grab the full‑HD version, a smaller file to save space, or just the audio for listening on the go. Picture and sound are combined into one file automatically.

Named after what it is

Files are named after the session or video title — Quarterly All‑Hands.mp4, not stream_8f3a.mpd.

Bring the deck along

If the page links the presentation — PDF, PowerPoint, or Keynote — it's listed right next to the video so you can save both.

Pause, resume, keep going

See progress and time left. Pause a long download and pick it up later. If the connection hiccups it retries on its own, and a moment of missing video won't ruin a two‑hour recording.

Nothing leaves your browser

No account, no analytics, no tracking. The extension only talks to the site you're downloading from — never to us.

Respects copy protection

Movies and shows from services like Netflix or Disney+ are copy‑protected. The extension recognizes that and tells you, instead of trying to break it.

Three steps from
watching to saved.

Nothing to set up or learn. Curious what happens behind the scenes? The FAQ has the technical details.

01

Open the video

Go to the page with the video. On some sites it helps to press play first, so the video starts loading.

02

Click the icon

Click Video Downloader in your toolbar to see each video on the page. For a video inside an embedded player, click Resolve Stream to find it.

03

Choose and save

Pick a quality and press Download. The file lands in your Downloads folder, ready to watch offline.

For anyone who needs a video
to stay reachable.

Students & lifelong learners

Keep lectures, courses, and training sessions after the class portal closes. Review on a plane, on a slow connection, or months later.

Teams at work

Save the all‑hands, the webinar, or the vendor demo — with the slides — so the people who missed it can catch up.

Journalists & researchers

Archive primary‑source video before it disappears behind a paywall, a takedown, or a broken link. Keep a record you can cite and re‑review offline.

Creators

Get your own streams and embeds back as files for editing, captions, highlight reels, and sharing elsewhere. Your content, your archive.

Compliance & legal

Keep webinars, briefings, and public hearings exactly as they were shown, for records and evidence.

Accessibility

Download once, then caption, transcribe, or translate with the tools you prefer — no waiting on a platform to add them.

Installed in
about a minute.

Free, and no account needed. While the Chrome Web Store listing is in review, it's added by hand in four quick steps.

01

Download it

Download the latest release zip file and unzip it.

02

Open your extensions page

Type this into the address bar, then switch on Developer mode in the top‑right corner.

chrome://extensions
03

Add the extension

Click Load unpacked and choose the folder you unzipped. The Video Downloader icon appears in your toolbar — pin it so it's easy to find.

04

Save a video

Go to a page with a video, click the icon, and press Download.

Use it the way it was built.

Video Downloader exists because legitimate video keeps getting harder to save — conferences that vanish, training portals that expire, courses that lock, journalism that gets taken down. It's for video you're allowed to access and have a reason to keep.

It doesn't try to break the copy protection used by services like Netflix, Disney+, or Apple TV — protected video is recognized and left alone. Respect copyright, the site's terms, and the people who made the video. When in doubt, ask permission.

Questions, answered.

Everyday questions first; the technical details follow.

What does Video Downloader do?

It saves videos from web pages as a single file on your computer, so you can keep them and watch offline — webinars, training sessions, lectures, conference talks, and videos playing inside embedded players. Click the toolbar icon, pick a video, and press Download.

Is it really free? Does it track me?

It's free, with no account, no ads, no analytics, and no tracking. Nothing about what you watch is sent anywhere — the extension only talks to the site you're downloading from, and everything else happens inside your browser. There is no server owned by the developer.

Which sites does it work with?

Most sites that play video right in the page, plus the embedded players common at work and school: Vimeo, Wistia, Panopto, Vidyard, JW Player, Mux, Brightcove, ON24, Cloudflare Stream, Microsoft Medius, and others. If you're signed in and can watch it, it can usually save it. YouTube isn't supported.

Can it download Netflix, Disney+, or other copy‑protected video?

No. Those services use copy protection (DRM such as Widevine, PlayReady, and FairPlay). Video Downloader recognizes it and tells you the video can't be saved — it never tries to get around it. It's meant for video you're allowed to access and have a reason to keep.

Which browsers does it work in?

Google Chrome and Microsoft Edge (version 114 or newer), plus Brave, Arc, Vivaldi, Opera, and other Chromium‑based browsers. Firefox and Safari aren't supported yet.

How do I install it?

Download the latest videodownloader-vX.Y.Z.zip from GitHub Releases and unzip it. Open chrome://extensions, turn on Developer mode, click Load unpacked, and choose the unzipped folder. The Video Downloader icon appears in your toolbar. A Chrome Web Store listing is in review.

My video saved as a .ts file. How do I turn it into an MP4?

Some streams save as MPEG‑TS (.ts); most players, such as VLC, open them as‑is. Other streams, including DASH and fMP4/CMAF HLS, save straight to MP4. To convert a .ts file without losing quality, run ffmpeg -i input.ts -c copy output.mp4 — it repackages the file in seconds without re‑encoding.

Technical: which streaming formats are supported?

HLS (.m3u8) master and media playlists, including fMP4/CMAF playlists with #EXT-X-MAP init segments (saved as MP4) and #EXT-X-BYTERANGE segments fetched with HTTP Range requests. DASH (.mpd) with SegmentTemplate, SegmentTimeline, SegmentList, and SegmentBase — the chosen video representation and the best audio track are muxed into a single fragmented MP4 in the browser, with no re‑encoding and no ffmpeg. Direct files (MP4, WebM, and others) download as‑is. For live HLS, the segments currently in the playlist window are captured.

Technical: can it download AES‑128 encrypted HLS streams?

Yes. When a playlist declares #EXT-X-KEY METHOD=AES-128, the extension fetches the key, takes the IV from the playlist or derives it from the media sequence number, and decrypts each segment with AES‑CBC through the browser's Web Crypto API (crypto.subtle) — no WASM, no server. SAMPLE‑AES, FairPlay skd:// keys, PlayReady/Widevine KEYFORMATs, and Adobe Access (#EXT-X-FAXS-CM) are treated as DRM and refused.

Technical: how does it handle cross‑origin iframe embeds and sign‑ins?

The content script runs in every frame and classifies each <iframe> by domain (Medius, ON24, Vimeo, Mux, Wistia, Brightcove, JW Player, Cloudflare Stream, Vidyard, Panopto, and more) and by path (/embed/, /video/, /player/). For Vimeo, Wistia, JW Player, Mux, Cloudflare Stream, Vidyard, and Panopto it asks the platform's own public player API for the manifest — the approach the open‑source yt‑dlp project uses — fetched from inside the embed's frame so the platform sees its own cookies and origin. Otherwise it falls back to manifests captured from network traffic, then to parsing the embed page's HTML. JWT tokens from the iframe URL and session cookies (chrome.cookies) are forwarded on manifest, segment, and key requests; tokens stay in memory only.

Technical: how does it find videos on a page?

In layers: network interception (chrome.webRequest) of video MIME types and .m3u8/.mpd manifests; <video>, <source>, <object>, and <embed> elements; og:video (including extension‑less URLs typed by og:video:type), twitter:player:stream, and JSON‑LD VideoObject contentUrl/embedUrl; data-* attributes; media URLs in inline player setup code (JW Player, Video.js, Flowplayer) and framework data (Next.js __NEXT_DATA__, Nuxt); and <mux-player> elements. A MutationObserver re‑scans single‑page apps and lazy‑loaded players.

Technical: how does it cope with long or flaky downloads?

Segments download six at a time through a fetch‑strategy chain (page context, content script, then service worker). Each segment retries up to five times with exponential backoff capped at 20 seconds. A segment that stays unavailable is skipped and reported instead of failing the whole file — never the first segment or an init segment, and at most 10% of a download. When a CDN signs only the playlist URL, its query‑string token is carried onto segment and key requests. Anvato and Uplynk ad segments are dropped. Downloads can be paused, resumed, and cancelled.

Technical: how is it built?

A Chrome Manifest V3 extension in plain JavaScript ES modules — no build step, no npm dependencies. A content script detects media in every frame; the service worker intercepts network traffic, resolves embeds, parses HLS and DASH manifests, and orchestrates downloads; a segment downloader fetches, decrypts, and assembles; a small JS muxer combines DASH video and audio into one MP4; chrome.downloads saves the result. See ARCHITECTURE.md for the full design.

Who built this?

Video Downloader was built by Rich Crane, a Microsoft Most Valuable Professional, Founder and Chief AI Officer of MILL5, and host of the Inventing Fire with AI podcast. It is part of the Inventing Fire with AI initiative exploring what can be built with AI‑assisted development.

Inventing Fire with AI

Built by Rich Crane — Microsoft MVP, MILL5.

Part of the Inventing Fire with AI initiative. The same workshop behind MacEdgeLight and Cut & Move.

Save what you're
actually watching.

Free. No account. No tracking. Works in Chrome, Edge, and other Chromium browsers.