About this tool
Decode a Base64 string or data URL back into a video file, identify the container from its magic bytes, and read duration, frame size and bitrate.
Base64 to Video decodes a Base64 payload back into a playable video file and tells you exactly which container it is, reading the answer from the file's own magic bytes rather than a declared MIME type. For MP4, MOV and M4V it also reports the running time and frame size, parsed from the `mvhd` and `tkhd` boxes specified in ISO/IEC 14496-12, plus the average bitrate. It is for developers handling clips that arrive inside JSON, a webhook body or a database column.
Open Base64 to Video on AltFTool — it loads instantly in your browser.
Paste the payload into the 'Base64 video data' box — raw or a data:video/…;base64,… URL. MP4, MOV, WebM, MKV, Ogg, AVI, FLV, WMV, MPEG-PS and MPEG-TS are recognised from their magic bytes, and the limit is 60 MB decoded.
There is no Preview button — the decode runs as you type, and the Decoded video panel plays the clip with the browser's own player controls whenever the container is one your browser supports. The panel also reports Container, MIME type, Duration, Frame size, Average bitrate, Decoded bytes, Base64 characters, Encoding overhead, Brand / doctype and the Suggested file name; when the payload carries no mdat box, or the browser cannot play that container inline, it says so instead of showing an empty player.
Click Download video to save it locally as decoded-video.mp4 — the extension follows the container that was detected — or use Copy data URL and Copy summary for the clipboard, and Reset to put the sample header back.
Ten signatures are checked — ftyp brands for MP4/MOV/3GP, the EBML header for WebM and MKV, RIFF for AVI — so a wrong MIME type is caught.
Taken from the mvhd timescale and the 16.16 fixed-point width/height in tkhd, not from a guess or a player callback.
Decoding and playback both use a local blob URL, so unreleased footage is never uploaded.
Paste the string here and press Download — the tool decodes it locally and saves the file with the right extension for its container. Everything after the comma in `data:video/mp4;base64,` is the payload, and you can paste either the whole data URL or just that part.
About 33% bigger: Base64 encodes every 3 bytes as 4 ASCII characters, so a 10 MB MP4 becomes roughly 13.3 MB of text. That overhead is why video is almost always transferred as a binary upload or a signed URL rather than inline in JSON.
Three common reasons. The container may be one browsers do not support — AVI, WMV, FLV and MPEG-TS have no native `<video>` support even though the file is valid. The codec inside a supported container may be unsupported, such as H.265 in an MP4. Or the payload is truncated, so the `mdat` box holding the encoded frames is missing; this tool flags that case explicitly.
For ISO Base Media files it reads the movie header box: `mvhd` stores a timescale (ticks per second, commonly 600 or 1000) and a duration in those ticks, and the length in seconds is duration ÷ timescale. WebM, AVI and MPEG streams store timing differently, so duration is only reported for the MP4 family.
Add the Base64 to Video widget to your blog or website — free, responsive, no signup. Just keep the “Widget by AltFTool” credit link visible.
<iframe src="https://www.altftool.com/embed/widget/base64-to-video"
title="Base64 to Video — free AltFTool widget"
width="100%" height="640" style="border:0;border-radius:12px;overflow:hidden"
loading="lazy" referrerpolicy="no-referrer-when-downgrade" allow="clipboard-write"></iframe>
<p style="font-size:12px;margin:4px 0 0">Widget by <a href="https://www.altftool.com/tools/all/base64-to-video?utm_source=embed&utm_medium=widget" rel="nofollow">AltFTool — free online tools</a></p>