How to play Base64 video
- Paste the Base64 into Base64 or data URI, or load it from a text file with Open .txt file. A two-second H.264 sample loads when the page opens.
- The player shows the first frame. Duration and Dimensions appear once the browser has read the file’s metadata, for example
0:02.0and96 × 64 pxfor the sample. - Extension and MIME type follow the detected container:
.mp4andvideo/mp4,.webmandvideo/webm,.movandvideo/quicktime. - Press Download file to save the video.
Playback uses your browser’s own decoder, and the page’s Content Security Policy blocks network requests other than Cloudflare’s page-view count, so a private recording stays on the device.
Container and codec
A video file has two layers: the container (MP4, WebM, MOV, MKV), which the tool detects from the first bytes, and the codecs for picture and sound inside it, which only the browser’s media engine reads. Playback depends on the codec:
| Video codec | Usual container | Chrome, Edge | Firefox | Safari |
|---|---|---|---|---|
| H.264 (AVC) | MP4, MOV | Yes | Yes | Yes |
| VP8, VP9 | WebM | Yes | Yes | WebM since Safari 16 on macOS, 17.4 on iOS |
| AV1 | MP4, WebM | Yes | Yes | Only on devices with hardware AV1 decoding |
| HEVC (H.265) | MP4, MOV | Where the system provides a decoder | Limited, depends on platform | Yes |
| Theora | Ogg | No | No | No |
H.264 in MP4 is the safe choice when you control the encoding. When the browser cannot decode the file, Duration and Dimensions show n/a and the note “Your browser can’t play this MP4 file. Download it and open it in a media player.” appears above the player. The downloaded file itself is intact, and VLC or ffmpeg can read every codec in the table.
What the detection tells you
| Detected | Note on this page |
|---|---|
| MP4, MOV, 3GP, WebM, MKV, AVI, OGV | Accepted as video, with the matching extension |
| WebM or MP4 without a picture | Plays, and Dimensions says audio only |
| M4A, MP3, WAV | “This looks like M4A, not video.” with Download as .m4a and so on |
| GIF | “This looks like GIF, not video.”; animated GIFs are images |
| Binary | “This doesn’t look like video”, often a truncated download or raw stream data |
A WebM file recorded by a browser’s MediaRecorder with only a microphone is still WebM, so it passes as video and plays as audio. For the details of the MP4 family, see Base64 to MP4.
Where Base64 video comes from
Video generation APIs can return the clip as a Base64 field in JSON instead of a download URL. Screen and camera recordings made in the browser are often posted to a server as Base64. Test suites embed short clips as strings, and some web pages inline a muted background video as a data:video/mp4 URI, a practice explained, with its costs, in data URI performance. To produce such a string, use Video to Base64.
Check the codec and convert with ffmpeg
To see which codec a clip uses, decode it and ask ffprobe:
base64 -d clip.b64 > clip.mp4
ffprobe -v error -select_streams v:0 -show_entries stream=codec_name,width,height -of csv=p=0 clip.mp4
For an HEVC clip this prints hevc,320,240. Re-encoding to H.264 with AAC audio gives a file every browser plays, and +faststart moves the index to the front so playback can begin before the whole file has loaded:
ffmpeg -i clip.mp4 -c:v libx264 -pix_fmt yuv420p -c:a aac -movflags +faststart clip-h264.mp4
More command-line recipes are on Base64 in Bash.
FAQ
How do I play a Base64 video?
Paste the Base64 or the data:video/…;base64, URI into the box above; a player appears with the video loaded. Download file saves it with the extension that matches the detected container.
Why do I hear sound but see no picture?
The browser can read the container but not the video codec, or the file has no video track at all; the Dimensions row then says audio only. HEVC video in a browser without HEVC support is the usual cause.
Why does a video from my iPhone not play?
iPhones record HEVC (H.265) by default, often in a MOV file. Safari plays it; Chrome, Edge and Firefox play it only where the operating system and hardware provide an HEVC decoder. Converting to H.264 makes it play everywhere.
How large a Base64 video can the player handle?
Only your device’s memory. A 50 MB clip is about 70 million characters of Base64; inputs over 4 MB are decoded without being shown in the text box, and the page pauses briefly for very large ones.