Tools
Free tool / no signup

Media File Size Checker

Drop an image, GIF or video and compare its file size to the upload caps of X, Instagram, Threads, Bluesky, Mastodon and more. See how much to shrink it.
Choose a file to see which network caps it fits.

How to use the Media File Size Checker

  1. Drop a file. Choose an image, an animated GIF or a video. Your browser reads the size, type and dimensions on your device, and for a GIF it counts the frames.
  2. Check the summary line. The top of the result shows how many caps the file passes and how many it misses, so you know at a glance whether it is ready.
  3. Read each row that fails. A failing row gives the overage in megabytes and the percentage the file must shrink by. For video it also gives an average bitrate that would fit.
  4. Compress and drop the new file in. Re-export at the target, then drop the smaller file back in to confirm every row you need now says fits.

What this file size checker measures, and where its caps come from

What it checks

For each file it reads the type from the file itself, the byte size, and the pixel dimensions (images, GIFs and video). For GIFs it parses the frame count. Then it compares those with every cap that applies to that type: byte caps, pixel caps, frame caps and required formats such as JPEG for Instagram API images and MP4 for Bluesky video.

A failing row states the exact overage and a target. For byte caps that is the percentage the file must shrink by. For video it adds the highest average bitrate that fits your clip length. For pixel caps it gives the size to scale down to.

Sources for the caps

X: docs.x.com media best practices. Instagram and Threads: the Meta developer documentation. Bluesky: the AT Protocol image and video lexicons. Mastodon and Pixelfed: their open source code. Pinterest: its product specs page, which is an ad spec that may differ for organic pins, so that row is marked not verified. LinkedIn: the Images and Videos APIs on Microsoft Learn. Telegram: the Bot API. The rest were fetched in October 2026. Discord could not be verified and gives no verdict.

Limitations

Caps from developer documentation can differ from the app, and some networks re-encode what you upload, so a file that fits can still be refused for its codec. Mastodon and Pixelfed servers can set their own limits. Where a network lists only an image limit, a GIF is checked against that image cap, which is the conservative reading. Browsers cannot read every format, such as HEIC or some HEVC video, and the tool says when it could not read dimensions.

Frequently asked questions

How is this different from the video length checker and the image resizer?

This tool judges file weight only, for images, GIFs and videos in one place: bytes, pixel counts, GIF frames and required formats. It gives no verdict on video duration or aspect ratio, which the Video Length and Size Checker handles, and it does not resize, which the Social Image Resizer does. Use this first to see whether a file is too heavy, then the others to fix the shape or length.

What does 1 MB mean here?

One megabyte is 1,000,000 bytes and one gigabyte is 1,000,000,000 bytes. Some operating systems show 1,048,576 bytes as a megabyte, which makes the same file look smaller. Using the stricter figure means a file that passes here cannot fail on a smaller definition.

How does it count GIF frames?

It reads the GIF file structure and counts image descriptor blocks, which is one per frame, without decoding any pixels. If the file ends early, the tool says the number is a minimum. X lists a 350 frame limit for animated GIFs and LinkedIn lists 250.

Why is Discord shown without a verdict?

Discord upload limits depend on the server boost level and the sender subscription, and the official figure could not be retrieved in October 2026. The row is shown so you know it is not covered, rather than guessing a number.

Are the limits the same in the app and through the API?

Not always. Most figures here come from developer documentation, which describes what the API accepts. The Instagram JPEG-only rule, for example, applies to API publishing, and the Telegram 50 MB figure is the bot limit. Each row names its source and any such caveat. Apps sometimes accept more and convert it.

Is my file uploaded?

No. The browser reads the file locally to find its size, type and dimensions. Nothing is sent to TimeToPost or anyone else, so unreleased media stays on your device.