Media Info Viewer

See what is actually inside a video or audio file: how long it runs, how big the picture is, and which codec, the method used to squeeze the picture and sound down, it was made with. It is read from the file's own header on your device.

How to use it

Only the first half-megabyte is read, because that is where an MP4's boxes, a WebM's EBML elements and a WAV's RIFF chunks declare their codecs and dimensions.

  1. Drop in the file Video or audio. Nothing is uploaded and the whole file is never even read.
  2. Read the summary Container, duration, overall bitrate, and whether this browser can play it at all.
  3. Check the tracks Each track’s codec, and its resolution or sample rate.
Full instructions

Drop a media file here

MP4, MOV, WebM, MKV, MP3, WAV, FLAC — only the header is read

Choose a file

Opened on your own device. Nothing is uploaded.

In depth

Reading what is really inside a video or audio file

Every row the Media Info Viewer puts on screen, what the four letter codec names mean, two complete readings with real numbers, and how to tell a fault in your file from a limit of the browser you are using.

Screenshot: Reading the container directly
Reading the container directly as it appears when the page opens.

The questions this settles

A media file has two layers. The outer one is the container, which is the box that holds the pieces and knows how long the whole thing runs. Inside sit the tracks, and each track is squeezed with its own codec, which is the method used to shrink the picture or the sound. The name on the end of the file tells you about the box and nothing about what is in it.

That gap is behind most of the trouble people have with video. Something plays on one machine and not another. An upload is refused with no useful reason. A short clip is enormous. All of those are questions about the inside, and the inside is written down near the start of the file in plain form.

  • A clip that plays on your laptop and shows a black screen on the television.
  • A site that says the format is not supported when the file ends in .mp4.
  • A ninety second recording that somehow takes up four hundred megabytes.
  • A voice recording you need to confirm was captured at 48 kilohertz.
  • An old download whose extension may not match what is actually in it.

One drop, and no settings at all

There is nothing to configure here, which is unusual for this kind of tool. The whole input is a single drop area. Drag a file onto it, or press Choose a file and pick one.

It takes one file at a time and expects video or audio. MP4, MOV, M4V, WebM, MKV, MP3, WAV, FLAC, OGG and M4A are all accepted by name, and anything the browser itself labels as video or audio gets in too. Drop something that is neither and it is turned away with a short message.

Once a reading is on screen, Another file takes you back to the drop area. Nothing carries over between files, so each reading stands on its own.

The summary rows, one by one

The top panel lists facts as simple pairs. Rows that do not apply to your file are left out rather than shown empty.

  • File and Size: the name as your system holds it, and the size in kilobytes, megabytes or gigabytes.
  • Type reported by the browser: the label your system attaches to the file, which is guessed from the extension and can be wrong. When it disagrees with the Container row below it, believe the Container row.
  • Container: the box, named from the actual bytes. Expect MP4 and QuickTime, WebM and Matroska, RIFF WAVE, FLAC, MPEG audio or Ogg.
  • Brand: four letters an MP4 uses to declare which flavour of the format it follows. It is a good clue about what wrote the file.
  • Duration: minutes, seconds and hundredths, with hours in front when there are any.
  • Overall bitrate: the size in bits divided by the seconds, in kilobits per second. This is the number that explains a large file.
  • Tag: present for MP3, naming the version of the tag block that carries the title and artist.
  • Plays in this browser: a real answer, from actually asking the browser to load it.
  • Frame size (from the decoder): the picture size the browser measured, kept separate from anything the container claimed.

The tracks table

Below the summary, when the container gave up its track list, a second panel appears with one row per track. The first column says what kind of track it is: video, audio, subtitles or other. The second names the codec. The third holds the details that matter for that kind of track.

For a video track the details are the width and height in pixels. For an audio track you get the sample rate in hertz, then mono, stereo or a channel count, then the bit depth where the format states one, and the bitrate for MP3.

The codec names are short and look cryptic until you have seen them once. In an MP4, avc1 is the common one usually called H.264. The pair hvc1 and hev1 are the newer H.265. av01 is AV1 and vp09 is VP9, both of them free formats. On the audio side mp4a is nearly always AAC, and Opus appears under its own name. In a WAV the codec is spelled out in words instead, most often PCM, which means the sound is not compressed at all.

Why two files ending in .mp4 behave differently

Take two clips, both named .mp4, both the same length, both looking identical when they play. One goes onto an older television and the other shows a black screen with sound. Nothing about the name explains it.

Read them here and the reason is in one cell of the tracks table. The first says avc1. The second says hvc1. Older hardware was built with a decoder for the first and not the second. The container is the same box in both cases; the contents are not, and only the contents decide whether a given device can cope.

The lesson carries further than that one pair. A file ending in .mkv can hold nearly any combination, which is exactly why it is popular and exactly why it is unpredictable. When a site lists what it accepts, it is really listing codecs, and this page is how you check yours against that list before you spend an hour on an upload that gets rejected.

A phone clip, read end to end

A file called beach-walk.mp4 is dropped in. The status line under the panel reads that 524 KB of header was read, and that is all it needed no matter how big the file is.

File: beach-walk.mp4. Size: 412.6 MB. Type reported by the browser: video/mp4. Container: MP4 and QuickTime. Brand: isom. Duration: 2:14.00. Overall bitrate: 24,633 kbps. Plays in this browser: Yes. Frame size from the decoder: 3840 x 2160.

The tracks table has two rows. Video, avc1, 3840 x 2160. Audio, mp4a, 48,000 Hz, stereo.

Now read those numbers together. Two and a quarter minutes, four hundred megabytes, and roughly twenty five megabits every second. Nothing is wrong with the file. It is simply 4K footage at a generous quality setting, and the bitrate row is the one that says so. If you need it smaller, that is the number to attack, not the length.

The same reading for a voice recording

A file called standup.mp3 gives a shorter list, because sound files carry less to describe.

File: standup.mp3. Size: 8.4 MB. Type reported by the browser: audio/mpeg. Container: MPEG audio. Tag: ID3v2.4. Duration: 8:45.00. Overall bitrate: 128 kbps. Plays in this browser: Yes. The single track row reads Audio, MP3 in the layer 3 form, 44,100 Hz, stereo, 128 kbps.

Under the summary sits a short note warning that the length assumes the bitrate never changes. That warning is there for a reason, explained next.

When a number is missing or looks odd

  • The MP3 length is slightly out. MP3 files do not record their own length. It is worked out from the size and the bitrate of the first frame, which is exact only when the bitrate never varies. Many recordings vary it deliberately to save space.
  • An Ogg file gives almost nothing. Its innards are not unpicked here, so only what the browser volunteers appears, and the track table stays hidden.
  • The container says Not recognised. The first few bytes matched none of the known signatures. The file may be damaged, may be a rarer format, or may not be media at all.
  • Plays in this browser says No. That is a statement about this browser on this machine, not a verdict on the file. A different browser, or a proper media player, may open it happily. The test also gives up after five seconds.
  • The frame size is missing but the video plays. The container gave its size and the decoder did not, or the other way round. The two rows are kept apart on purpose, so you always know which one you are reading.

Taking the answer with you

Download as text writes everything on screen into a small file called media-info.txt: every summary row as a labelled line, then one line per track with its kind and codec.

That file is worth keeping. Paste it into a support ticket instead of describing the problem in words, attach it to a bug report, or keep one beside each master recording so that in two years you still know what was captured. It is plain text, so it opens anywhere and takes up almost nothing.

Where this tool stops

It reads and reports. It does not convert, trim, repair or re-encode anything, and it will not make your file smaller. If the bitrate row has just told you the file is too heavy, the next step is a converter, not this page.

It also only reads the front of the file, so it cannot find a fault in the middle, count exact frames, or tell you that the last ten seconds are corrupt. For that you need a tool that walks the whole file, and it will take a great deal longer than this does.

A large file that never goes anywhere

Only the first half megabyte of your file is pulled into memory, because that is where the description lives. That is the reason a four gigabyte film is inspected as fast as a voice note, and it is also a real limit on what the page ever holds.

The browser is also asked to load the file so the playable question can be answered honestly, and it does that from your own disk. No part of the file crosses your connection, there is no upload step waiting in the background, and nothing is stored once you close the tab.

Help

Reading the container directly

Only the first half-megabyte is read, because that is where an MP4's boxes, a WebM's EBML elements and a WAV's RIFF chunks declare their codecs and dimensions. A four-gigabyte film therefore reports as quickly as a voice memo. The browser's own decoder is asked the same questions afterwards, as a cross-check on what the header claims.

Drop in the file

Video or audio. Nothing is uploaded and the whole file is never even read.

Read the summary

Container, duration, overall bitrate, and whether this browser can play it at all.

Check the tracks

Each track’s codec, and its resolution or sample rate.

What is read, and what is not

MP4/MOV, WebM/MKV, WAV, FLAC and MP3 are parsed directly. Ogg and less common containers fall back on what the browser reports. Where a figure comes from the decoder rather than the container, the row says so — mixing the two silently is how these tools end up lying.

Good to know

"Will this play?" is answered directly

The summary says whether your browser could decode the file. If a video will not play somewhere, an unsupported codec is the usual reason — and now you know which one.

The extension is not the format

A .mp4 can hold H.264, H.265 or AV1, and .mkv can hold almost anything. The container and the codec are different questions, and this answers both.

Overall bitrate explains the size

File size divided by duration. If a short clip is enormous, that number tells you whether it is the bitrate or the length that did it.

Common questions

What codec is my video?
The tracks table names it — avc1 is H.264, hvc1 or hev1 is H.265, av01 is AV1, vp09 is VP9. Audio is usually mp4a (AAC) or Opus.
Why is the duration missing for some MP3s?
MP3 has no header stating its length. The estimate assumes a constant bitrate; a variable-bitrate file will differ, and the note says so. The browser’s decoder usually supplies the true figure.
Is the whole file read?
No — only the first half-megabyte, which is where the header lives. That is why the answer is instant even on very large files.
Is anything uploaded?
No. The parsing happens entirely in your browser.