A loupe held over 35mm negatives on a lit table beside a camera lens, the pass where you read what you actually shot

All tools / Video File Info

Video File Info.

Everything the file says about itself.

→ Open the inspectorFree, no account, and your video is never uploaded

How it works.

Find out what a file really is, and where it will be accepted.

  1. Step 1

    Drag your file in

    Video or audio. It stays on your device.

  2. Step 2

    Read the report

    Picture, sound, size, and what your browser can open.

  3. Step 3

    Jump to the fix

    Anything that will not play links to the tool that fixes it.

In detail

The information a media inspector gives you, in the browser and without an install. Container and demuxer, codec parameter string parsed into a family with its profile, level, tier, bit depth, and chroma sampling, coded against displayed resolution, the rotation flag, measured frame rate with variable-rate detection and a frame count, per track bitrate, keyframe spacing, colour primaries and transfer with an HDR verdict, every track with its language and name, and the metadata tags that are actually there. Nothing is uploaded: the headers are read in this tab, so it works on a file you would never send to a website.

What it gives you.

  • Codec with profile and level

    Not just "H.264" but H.264 High 4.1, because the profile and the level are what an older TV, a cheap Android phone, or a strict uploader actually checks. HEVC comes with its tier, VP9 and AV1 with their level index and bit depth, AAC with the object type that separates plain AAC-LC from HE-AAC v2. The codec string is parsed rather than guessed, and when we have no reader for one the raw string is printed instead of the word "unknown".

  • Resolution, aspect, and the rotation flag

    The coded size and the displayed size are shown separately when they differ, which is how a 1080x1920 phone recording ends up as a 1920x1080 file with a flag on it. The aspect is named the way people name it, 16:9 or 9:16 or 4:5 or 2.39:1, snapping to the shape a file is plainly meant to be rather than printing 1.77:1 at you.

  • Frame rate, and whether it is honest

    The rate is measured from the packet timestamps rather than read out of the metadata, because metadata lies. If no consistent rate is there, the file is called variable frame rate and flagged, since that is the property that makes a clip drift out of sync once it lands on an editing timeline. A constant-rate file also gets its exact frame count.

  • Colour and HDR, in words

    Primaries, transfer, matrix, and range, turned into one line: SDR BT.709, or HDR10 with a PQ transfer on BT.2020 primaries, or HLG, or Dolby Vision from the sample entry. This is the fact behind the most confusing complaint in online video, which is a bright, punchy phone recording that comes back grey and washed out after a platform re-encodes it.

  • Container layout, every track, every tag

    In an MP4 the index is a box called moov, and a file with moov after the media makes a player download the whole thing before showing a frame. That gets its own line, along with whether the file is fragmented. Below it, every track the container carries with its language and name, and only the metadata tags that are actually present.

  • Will it fit, with a date on it

    Thirty two upload surfaces across social, messaging, email, and work, each one a separate row because a platform's app and its website are separate limits and a free tier and a paid tier are too. Every row carries the date it was last checked, a link to the platform's own help page, and an honest tag when the number is only reported rather than published.

Will it fit?

Every ceiling worth knowing, in one place. A platform's app and its website are separate rows because they are separate limits, and a free account and a paid one are separate rows for the same reason. Open the inspector on any platform name to check your own file against that row.

jump to

socialmessagingemailwork

social

the feeds, where the app and the website almost never agree

Upload limits for social platforms
wheresizelengthformatreviewed
TikTokiOS app287.6 MB1:00:00mp4, mov2026-09-04reported
TikTokAndroid app72 MB1:00:00mp4, mov2026-09-04reported
TikTokwebsite10 GB30:00mp4, mov, webm2026-09-04reported
InstagramReels and feed, app4 GB20:00mp4, mov2026-09-04
InstagramStories, app4 GB1:00mp4, mov2026-09-04reported
YouTubeverified account256 GB12:00:00mp4, mov, webm, mkv, avi2026-09-04
YouTubeunverified account256 GB15:00mp4, mov, webm, mkv, avi2026-09-04
YouTubeShorts256 GB3:00mp4, mov, webm, mkv, avi2026-09-04
Facebookfeed10 GB4:00:00mp4, mov2026-09-04reported
FacebookReels4 GB1:30mp4, mov2026-09-04reported
Xstandard account512 MB2:20mp4, mov2026-09-04
XPremium, website16 GB4:00:00mp4, mov2026-09-04
LinkedInfeed, website5 GB15:00min 3 smp4, mov, webm, mkv, avi2026-09-04
Pinterestpin2 GB5:00min 4 smp4, mov2026-09-04
Threadspost1 GB5:00mp4, mov2026-09-04reported
Redditpost1 GB15:00mp4, mov2026-09-04reported
Blueskypost100 MB3:00mp4, mov, webm2026-09-04reported

messaging

chat apps, where the ceiling is a subscription tier

Upload limits for messaging platforms
wheresizelengthformatreviewed
Discordfree account10 MBno stated capanything common2026-09-04reported
DiscordNitro Basic50 MBno stated capanything common2026-09-04reported
DiscordNitro500 MBno stated capanything common2026-09-04reported
WhatsAppchat2 GBno stated capmp4, mov2026-09-04
WhatsAppStatus2 GB1:00mp4, mov2026-09-04reported
Telegramfree account2 GBno stated capanything common2026-09-04
TelegramPremium4 GBno stated capanything common2026-09-04
iMessageiMessage100 MBno stated capmp4, mov2026-09-04unverified
Signalchat100 MBno stated capmp42026-09-04unverified

email

mail, where the number has not moved in a decade

Upload limits for email platforms
wheresizelengthformatreviewed
Gmailattachment25 MBno stated capanything common2026-09-04
Outlook.comattachment25 MBno stated capanything common2026-09-04
iCloud Mailattachment20 MBno stated capanything common2026-09-04

work

the places a deck or a cut gets shared internally

Upload limits for work platforms
wheresizelengthformatreviewed
Slackupload1 GBno stated capanything common2026-09-04
Notionfree plan5 MBno stated capanything common2026-09-04
Notionpaid plans5 GBno stated capanything common2026-09-04

Limits last reviewed on 2026-09-04. A row marked reported is a number we could only find second hand; a row marked unverified is one the platform does not publish at all. The dates link to the page we checked. They change often, so check your own file rather than trusting the table: open the inspector.

Straight answers.

How do I see the codec and resolution of a video file?

Drop it here. The report reads the container's own headers and prints the codec family with its profile and level, the coded and displayed resolution, the aspect, the rotation flag, the measured frame rate, the bitrate, the colour tags, and every track the file carries. On a desktop you can get some of this from the file properties panel, but properties panels tell you the resolution and stop: they will not tell you that the codec is H.264 High 4.1 rather than Baseline, that the frame rate is variable rather than 30, that the index sits after the media, or that the transfer curve is PQ. Those are the four facts that actually explain a failed upload or a file that will not import, and they are what this page is for.

Why did my upload fail?

Almost always one of five things, and the report names which. Size is the common one and it is rarely the number you expect: TikTok's iOS app stops around 287 megabytes and its Android app around 72, while the website takes ten gigabytes of the same footage, and Discord's ten megabytes is a free-account limit rather than a Discord limit. Length is next, and it is per surface rather than per platform, so a sixty second cap on a story sits next to a three minute cap on a Short. Then container and codec, which is what refuses a WebM or an AVI at a door that only opens for MP4 and H.264. Then the shape, where a landscape clip simply is not a Short. Then colour, where an HDR recording is either refused or quietly flattened. Drop the file here and the row that is red tells you which one it was, and the link next to it opens the bench that changes it.

Why is my file so big?

Bitrate times length, and nothing else. A file's size is its bitrate multiplied by its duration, so a minute of 4K at 100 megabits weighs about 750 megabytes no matter what you do to the container. The report prints the overall bitrate next to the picture and sound bitrates so you can see where the weight sits: a 60 megabit picture with 128 kilobit sound is a picture problem, and no amount of touching the audio will help. Phone footage is heavy for a reason worth knowing, which is that phones encode in real time and spend bitrate rather than time; re-encoding the same footage properly often halves it with no visible difference. That is what the compressor does, and the size row here links straight to it with the right ceiling already selected.

What is HDR, and why does my video look washed out after uploading?

HDR is a different rule for turning stored numbers into light. An SDR file uses the BT.709 curve every screen has assumed for thirty years; an HDR10 file uses PQ, and HLG uses a third curve again, both on the wider BT.2020 primaries. A player that reads a PQ file as though it were BT.709 shows you a flat, grey, low-contrast picture, which is exactly what happens when a platform strips the colour tags during a re-encode, or when an editor imports the file without recognising them. The report names the transfer and the primaries and says HDR10, HLG, Dolby Vision, or SDR in plain words, so you know before you upload whether you are handing a platform something it is going to mishandle. If it is, converting to SDR yourself, where you can see the result, beats letting an uploader do it out of sight.

How current are these limits?

Every row carries the date it was last checked and a link to the page it was checked against, and the table footer says the most recent of those dates. That is deliberate, because these numbers move constantly and most of the pages you will find quoting them carry no date at all. Where a platform publishes a number on its own help page, the row is marked verified and links to it. Where the figure is real but only reported second hand, which is most app-specific file size ceilings, the row says reported. Where a platform publishes nothing at all, which is the case for iMessage and for Signal, the row says unverified and you should treat it as a hint. The limits live in one editable file in the repository, and anything wrong in it is a bug worth telling us about.

Other tools