Video Upload Compatibility Checker for Bluesky

Read a local video or enter its metadata. Optionally paste a stored video embed to diagnose current versus legacy record limits.

Prepare a local compatibility report. No files are uploaded.

How it works

Local metadata reads run one at a time; the file picker is disabled until cleanup finishes. Compare local duration with 600 seconds and file size with 300,000,000 bytes. The publisher’s August 2026 changes removed the ten-minute feature gate and corrected an older 100 MB embed schema. The legacy option changes only the stored-record size test, not the current upload-duration check.

headroom = limit − measured value

Checks use the full measured duration and exact byte count without rounding. MB is decimal. For record-only checks, clear both metadata fields. Paste a stored app.bsky.embed.video object or a post with that embed; API view objects are different.

The selected record checks cover blob shape, MP4 MIME, byte size, optional alt text, aspect-ratio integers and up to 20 WebVTT captions of 20,000 bytes each. CID contents and language-tag validity are not verified. This is not a complete lexicon validator.

Worked examples

Current upload boundary

A 600-second, 300,000,000-byte file passes the duration and size checks with 0 seconds and 0 bytes of headroom.

Legacy schema mismatch

A stored MP4 blob of 200,000,000 bytes passes the current record-size check but exceeds the legacy cap by 100,000,000 bytes. A 120-second local file of that size has 480 seconds and 100,000,000 bytes of current headroom.

Frequently asked questions

Why might a file pass here and fail to upload?
Account quotas, permissions, codecs and server processing are outside these local checks. Read the error in your current client.
Does the record tell me the video duration?
No. The stored embed’s byte size does not establish duration. Read the local media or enter measured seconds.
Why are local and record sizes different?
Processing or transcoding may change the stored blob. A mismatch is a note, not automatic proof of an invalid record.
Can I check a MOV or WebM?
The browser may read its metadata. That does not confirm upload acceptance or codecs. The stored video-blob check expects MP4.
Do my files leave this page?
No. The tool reads one local video through a temporary browser object URL. JSON is capped at 100,000 bytes.

Sources

Last reviewed 2026-11-14; next review due by 2026-12-14. The method is written out above so you can check our math.