fileformer
search⌘KtranslateENexpand_moreupload_fileConvert
Converters8 file families · 44 direct conversions
What changes in a conversionarrow_forward
home/tools/video-tools

A video that won't play is usually the wrong codec, not a broken file.

The file extension is just the box. Inside are a video codec and an audio codec, and each device only opens some combinations. Pick the kind of file you have to see what's inside, where it plays, and the one tool that fixes it.

phone_iphoneFrom an iPhoneIMG_2231.MOV
downloadA downloaded filmfilm.2024.1080p.mkv
screen_recordA screen recordingmeeting.webm
videocamAn old camcorder clipMOV00041.AVI
gif_boxA big GIFreaction.gif
inside IMG_2231.MOV
container · QuickTime MOV
movieHEVC (H.265)Apple’s efficient codecmodern
graphic_eqAAC stereoplays everywhereuniversal
size182 MBlength1:24picture4K · 30 fps
phone_iphonecheck_circleiPhoneplaysphone_androidchange_circleAndroidnewer onlydesktop_windowschange_circleWindowsneeds add-onlaptop_maccheck_circleMacplaystvchange_circleSmart TVmodel-dependentlanguagechange_circleWeb browserSafari onlychatcheck_circleWhatsAppauto-convertsslideshowchange_circlePowerPointMac only
buildthe fixThe HEVC video inside is the problem, not the .mov box. Converting to MP4 with H.264 makes it play on every Windows PC, browser and TV.MOV to MP4IMG_2231.MOV 182 MB → .mp4 H.264 · 96 MBarrow_forward
~/open-the-box

See what's really inside your video, and whether this browser can play it.

Drop in an MP4, MOV, MKV, WebM or AVI. Your browser reads the container's own structure: MP4 boxes, Matroska elements or AVI chunks. From that it gets the exact codecs, where the index sits, and the codecs string a player asks about. It then asks this browser three separate questions about playback. Everything happens on your device. Or record a short clip with one of your browser's own encoders and inspect that.

or record 2 seconds with this browser's encoder
WebM · VP8WebM · VP9WebM · AV1MP4 · H.264MP4
Greyed-out formats have no built-in encoder in this browser. Clips are 640 × 360, video only, at 1.5 Mbit/s.
recording-webm-vp8.webm276.7 KB · EBML DocType “webm” · written by ChromeWebMfirst bytes 1A 45 DF A3 9F 42 86 81 01 42 F7 81
durationnot storedsize276.7 KBoverall bitrate-top-level parts4
file map · byte 0 on the left
EBML header36 B · @0Info30 B · @48Tracks67 B · @78Clusters276.5 KB · @145
header, index of tracksaudio and video dataseek indexother
tracks
movieVP8CodecID V_VP8640 × 360 · variable frame ratevp8
No tracks listed for this file.
asked this browser
canPlayType()check_circleprobablyAsked about video/webm; codecs="vp8"
MediaSourcecheck_circleyesWhether a streaming player could feed this to the decoder in chunks.
actual loadcheck_circleloadedDecoded 640 × 360, and the player reports a duration of Infinity, so it can’t show a seek bar.
what we foundwarningNo Duration in the Info element. Players show the length as 0:00 or Infinity until they’ve read the whole file. This is typical of recordings made in a browser.warningNo Cues seek index. Seeking means scanning clusters one by one, which is slow, and some players refuse to seek at all. Remuxing writes a proper index.next stepWebM to MP4: adds a seek indexarrow_forward
~/the-trade-off

Smaller files or plays everywhere: pick where you need to be.

Newer codecs squeeze the same picture into fewer megabytes, but older devices can't decode them. Each dot is a common format for one minute of 1080p video. Click one for the details and the converters that go to and from it.

MP4 · H.264MP4 · HEVCMOVWebM · VP9AV1MKVAVIGIF
plays on more devices →smaller file for the same quality →
plays almost anywheresome devicesneeds specific apps
MP4 · H.264≈ 60 MB / minThe safe default since 2010. Every phone, computer, TV, browser and editing app plays it. If you don’t know what to pick, pick this.
plays oneffectively everythingbest forsharing, uploading, editing
converters for MP4
~/fit-under-a-limit

File size is bitrate × duration. Everything else follows.

To hit a size limit, a compressor has to work backwards: limit ÷ length gives the total bitrate, and the audio takes its share first. What's left, spread over every pixel of every frame, decides how good the video can look. You can then record a few seconds at that bitrate with this browser's own encoder and see how close it lands.

LENGTH2:30
SIZE LIMIT
Discord free · 10 MB8 MBGmail · 25 MB100 MB
RESOLUTION
480p720p1080p1440p4K
FRAME RATE
24 fps30 fps60 fps
VIDEO CODEC
H.264HEVCVP9AV1
AUDIO
none64 kbit/s96 kbit/s128 kbit/s192 kbit/s
video bitrate to aim for426 kbit/s
■ video 8.0 MB■ audio 1.8 MB■ container overhead 212.5 KB
total bitrate523 kbit/s10 MB ÷ 2:30, less 2% overheadbits per pixel0.0071920 × 1080 × 30 fpsH.264-equivalent0.007baseline codec
warningToo few bits for 1080p: expect blocky motion and smeared detail. Even 480p is starved; shorten the clip. (Rule of thumb: about 0.07 bits per pixel in H.264 terms looks clean for typical footage.)
# two-pass H.264ffmpeg -y -i input.mov -vf scale=-2:1080,fps=30 -c:v libx264 -preset slow -b:v 426k -pass 1 -an -f null /dev/nullffmpeg -i input.mov -vf scale=-2:1080,fps=30 -c:v libx264 -preset slow -b:v 426k -pass 2 -c:a aac -b:a 96k -movflags +faststart out.mp4
Check it in this browserrecords 4 s of animation at 1920 × 1080 with video/mp4;codecs=avc1radio_button_checkedRecord 4 s
The browser’s live encoder is asked for exactly this bitrate. Your settings above change what gets recorded.
~/reference

Nine video codecs, tested in the browser you're using.

The last three columns are asked live. canPlayType answers “probably”, “maybe” or nothing. Media Source support is what streaming players need. Recording uses MediaRecorder. Efficiency is the rough bitrate needed for the same quality as H.264, and varies a lot with content and encoder.

codecstandard · yearcodecs stringvs H.264plays hereMSErecords
H.264 / AVCITU-T H.264 · ISO/IEC 14496-10 · 2003avc1.6400281×probablyyesyes
HEVC / H.265ITU-T H.265 · ISO/IEC 23008-2 · 2013hvc1.1.6.L120.90≈ 0.5-0.6×nonono
VVC / H.266ITU-T H.266 · ISO/IEC 23090-3 · 2020vvc1≈ 0.35-0.45×nonono
VP8RFC 6386 · Google · 2010vp8≈ 1×probablyyesyes
VP9VP9 bitstream spec · Google · 2013vp09.00.40.08≈ 0.6-0.7×probablyyesyes
AV1AOMedia AV1 · 2018av01.0.08M.08≈ 0.45-0.55×probablyyesyes
MPEG-4 Part 2ISO/IEC 14496-2 · 1999mp4v.20.9≈ 1.4-1.6×nonono
TheoraXiph.Org · 2004theora≈ 1.5×nonono
ProRes 422 HQApple · SMPTE RDD 36 · 2007apch≈ 15-25× (editing)nonono

Containers, and how to recognise them

containerMIMEmagic bytesstandardwhere the index lives
MP4video/mp4.. .. .. .. 66 74 79 70 (“ftyp”) + brandISO/IEC 14496-12 and -14moov box: at the front with faststart, otherwise at the end.
MOVvideo/quicktime.. .. .. .. 66 74 79 70 71 74 20 20 (“ftypqt ”)Apple QuickTime File Formatmoov atom, the same structure MP4 was based on.
MKVvideo/x-matroska1A 45 DF A3 + DocType “matroska”RFC 9559 (2024)Cues element, located through the SeekHead.
WebMvideo/webm1A 45 DF A3 + DocType “webm”WebM project (Matroska subset)Cues element; often missing in browser recordings.
AVIvideo/x-msvideo52 49 46 46 .. .. .. .. 41 56 49 20 (“RIFF…AVI ”)Microsoft RIFF, 1992idx1 chunk after the media, or OpenDML indx.
MPEG-TSvideo/mp2t47 every 188 bytesISO/IEC 13818-1None: built for broadcast, players read it as it arrives.
FLVvideo/x-flv46 4C 56 01 (“FLV”)Adobe FLV specOptional keyframes list in onMetaData.
WMV / ASFvideo/x-ms-asf30 26 B2 75 8E 66 CF 11Microsoft ASFSimple Index object at the end.
3GPvideo/3gpp.. .. .. .. 66 74 79 70 33 67 70 (“ftyp3gp”)3GPP TS 26.244moov box, as in MP4.

From QuickTime to AV1

1991QuickTime 1.0Apple’s atom-based container: the structure MP4 later grew from.
1992AVIMicrosoft builds Video for Windows on its RIFF chunk format.
2002MatroskaAn open container begins as a fork of the Multimedia Container Format.
2003H.264 and MP4H.264 is approved, and ISO/IEC 14496-14 defines the MP4 file.
2010WebM and VP8Google open-sources VP8 inside a Matroska subset for the web.
2013HEVC and VP9Two successors to H.264 arrive within months of each other.
2018AV1 1.0The Alliance for Open Media releases a royalty-free codec.
2024Matroska RFCRFC 9559 finally makes Matroska an IETF standard.

All video tools 10