Free tool · No upload
Video bitrate calculator
Enter a target file size and how long your clip is, and this works out the exact bitrate the video can use to land on that size — plus the highest resolution that still looks good. The same math VidKit's compressor uses, on its own so you can plan before you encode.
You don't type this bitrate into VidKit — just compress to your target size and it's worked out and applied for you. The number is here for other encoders like OBS, HandBrake or ffmpeg, which do ask for a bitrate.
Ready to compress?How the math works
File size is just bitrate multiplied by time. Flip that around and the bitrate you can afford is the target size (converted from bytes to bits — multiply by 8) divided by the clip's length in seconds. Whatever the audio track uses comes off the top first, and a small slice goes to container overhead — the index tables and headers an MP4 needs to be seekable. What's left is your video bitrate.
Bitrate alone doesn't tell you how good it looks — that depends on how many pixels it has to cover. The telling number is bits per pixel: video bitrate divided by (width × height × frame rate). Above roughly 0.1 the picture stays crisp; below about 0.045 H.264 starts to smear. That's why this calculator recommends a resolution instead of just handing you a number: 2 Mbps is plenty for 480p, tight for 720p, and soft for 1080p. When a bitrate is too low for a resolution, dropping to the next size down looks better than keeping the resolution and starving it of data.
A note on units: this uses decimal megabytes (1 MB = 1,000,000 bytes), the same way upload limits are usually quoted. If you need to hit a limit exactly, aim a little under — email attachments in particular add about a third in encoding overhead. Not sure which platform allows what? See our video upload size limits reference.
Ready to compress?
This tells you the target; VidKit hits it for you. The compressor takes a size in MB, works out this exact bitrate, picks the right resolution automatically, and checks the result lands under the limit — all in your browser, nothing uploaded.