Media Downloader
mdown — media downloader for video and audio
Not connected — to download.
this link — download as
This page needs to be served over http — the media engine can't start from a double-clicked file.
From this folder run python3 -m http.server 4331 and open http://127.0.0.1:4331.
Media Downloader
Not connected — to download.
this link — download as
Repackage a file without touching the encoded audio or video. Use it when a player refuses to open something, seeking is broken, or you need a different container.
Drop files here
MP4 · MOV · WebM · M4A · MP3 · OGG · OPUS · WAV
choose filesFiles are processed on this device. Nothing is uploaded, and nothing is kept after you leave the page.
No files yet.
A file that won't seek, shows the wrong length, or gets rejected by an editor or an older player. It rebuilds the packaging, not the media.
The encoded audio and video are copied into a fresh container. Nothing is re-encoded, so the quality is identical to the original.
In this tab, on your device. No upload, no queue, no account — and no server to wait on.
Think of it like a box. The container (MP4, WebM) is the box; the codecs inside (H.264, AAC, VP9) are the contents. Remuxing puts the same contents in a new box. Nothing inside is touched, so nothing gets worse.
It can move existing streams into a compatible container, rebuild the index so seeking works, and recalculate missing durations and timestamps.
It can't change codecs. If the target container won't accept a codec, that needs a re-encode, which this tool doesn't do — you get an explanation instead of a quietly degraded file. It also can't repair damaged frame data: if the media itself is corrupt, a new container won't save it.
Good to know — a file whose extension lies (a WebM named .mp4) is detected by its actual bytes, not its name. Your original file is never modified.
Pull the subtitle tracks out of a video as separate .srt files. Text tracks convert cleanly; image-based ones (PGS, VobSub) can't be turned into text without OCR. The .cc in the domain is for closed captions — this is that tool.
Drop a video file
MKV · MP4 · MOV · WebM
choose fileRead in this tab. Nothing is uploaded, and nothing is kept.
Remove titles, comments, creation dates and location tags from a file. The audio and video are copied untouched, so nothing is re-encoded.
Drop a media file
MP4 · MOV · MKV · WebM · M4A · MP3 · OGG · WAV
choose fileRead and rewritten on this device. Nothing is uploaded.
Container tags only. Watermarks, burned-in text, and data inside the encoded frames are outside its reach.
A downloader with no server of its own. It hands the link to an API you point it at, streams the file back, and keeps nothing.
mdown.cc/<link>. Both start fetching on their own.
Because this page has no server. A browser can’t fetch video from most sites by itself, so it borrows an API server that can. Paste that server’s address in Settings → Connection, press check, and it’s done once. If the API needs a key, it will tell you.
Into your browser's normal downloads. Nothing is stored on a server, and the queue disappears when you close the tab.
Video as mp4, webm or mkv depending on the codec you pick. Audio as mp3, wav, ogg or opus. The mode row sets it per download.
Yes — same page, same queue. You can also skip the paste step: put the media link after the domain, mdown.cc/<link>, then bookmark or message that URL. Opening it starts the download straight away, and refreshing won't fetch it twice.
Closed captions. It's the country code for the Cocos Islands, but here it's a nod to the subtitle extractor — the tool that pulls captions out of a file.
Your settings and a short list of recent links, in this browser only. No account, no cookies, no analytics.
The list is whatever the connected API supports, not a marketing page — open Settings → Connection and it's right there as a row of names. With the reference API that's about thirty: YouTube, Vimeo, TikTok, Instagram, Reddit, Twitch, SoundCloud, Bandcamp, Mixcloud, Bilibili, Dailymotion and more. Paste a link and the composer tells you if the service isn't on that list before you fetch.
No — and neither can anything else without breaking encryption. Spotify, Deezer, Tidal and Apple Music encrypt their audio, so the downloader refuses them and says so. The same track is usually on YouTube or SoundCloud, which do work.
Usually one of three things: the post is private, region-locked or age-gated; the API doesn't support that service; or it's rate limiting. The error on the row says which, and retry re-sends it.
Respect copyright. mdown saves files; it doesn't grant rights to them. Use it for content you own, content that's licensed for reuse, or where the service's terms allow it.