How to Compress Video for Telegram (Without Letting Telegram Do It)

By Hieu Dinh

How to Compress Video for Telegram (Without Letting Telegram Do It)

Telegram is unusually generous with file sizes. 2 GB per file on a free account, 4 GB with Premium — limits that make WhatsApp's 16 MB video cap look almost quaint, and that most people will never hit.

So the reason to compress for Telegram is not the limit. It is that Telegram compresses your video for you, using settings tuned for fast delivery rather than for looking good, and the result is frequently worse than what you would produce in thirty seconds yourself.

There are two ways to avoid that. Understand which one you want before you send.


The Limits, Precisely

AccountPer-file limit
Free2 GB
Telegram Premium4 GB

These apply per file, not per message, and Telegram does not impose a monthly transfer cap. Cloud storage for your chat history is unlimited on both tiers.

For comparison against other platforms: WhatsApp caps in-chat videos at 16 MB, Discord at 10 MB for free accounts, and Twitter/X at 512 MB with a duration limit. Telegram is the outlier by a wide margin.


The Part That Actually Matters: Video vs File

Telegram treats the same MP4 differently depending on how you attach it.

Sent as a video (via the gallery or media picker) — Telegram re-encodes it. Bitrate drops, resolution is often reduced, and quality goes with them. In exchange you get an inline thumbnail, streaming playback, and a much faster upload.

Sent as a file (via the paperclip → File, or dragging with "Compress video" unticked on desktop) — Telegram transfers your exact bytes. Nothing is re-encoded. The recipient gets precisely what you sent, though on some clients it arrives as a document to download rather than a video to tap and play.

How to send as a file

  • iOS / Android — paperclip icon → File → browse to the video, rather than choosing it from Gallery.
  • Desktop / Web — drag the file into the chat, then untick "Compress video" in the dialog before sending.
  • macOS app — same drag-and-drop, with the compression checkbox in the send dialog.

This one distinction resolves the overwhelming majority of "why does my Telegram video look terrible" complaints.


Why Compress at All, Then?

If sending as a file preserves quality perfectly, why compress first?

Upload and download time. Transfer time is proportional to file size. A 2 GB video on a 10 Mbps upstream connection takes around 27 minutes — and your recipient then waits on their own connection to download it. The same content compressed to 300 MB moves in four minutes each way.

Mobile data. A 2 GB send-and-receive is a meaningful chunk of most data plans, twice over.

Practical playability. Very large files can be slow to seek and awkward to open on older phones, even when they transfer successfully.

The sensible workflow: compress deliberately, then send as a file. You control the quality trade-off instead of Telegram guessing at it.


Settings That Work

For a video that will be watched on a phone — which describes most Telegram traffic:

SettingValue
ContainerMP4
Video codecH.264
Audio codecAAC, 128 kbps
Resolution1080p, or 720p for long recordings
Frame rateSame as source (30fps for screen content)
Quality (RF/CRF)22–23

H.264 rather than HEVC is the recommendation despite HEVC being more efficient, because H.264 previews and plays inline on every Telegram client, including older Android devices. HEVC saves 30–50% but occasionally fails to generate a thumbnail or play without downloading. The comparison is in HEVC vs H.264.

Resolution is the strongest single lever. Going from 4K to 1080p removes 75% of the pixels; the recipient is watching on a 6-inch screen and cannot tell. Downscaling to 720p for anything long — a lecture, a full match, a multi-hour recording — is usually invisible and roughly halves the file again.

If you want to hit a specific size rather than a quality level, the video file size calculator turns a target size and duration into the bitrate you need. Concrete HandBrake configurations for this are in best HandBrake settings.


Rough Size Expectations

At 1080p H.264 with the settings above:

ContentApprox. size per minute
Talking head, interview8–15 MB
General phone footage15–25 MB
High motion (sport, action)25–40 MB
Screen recording4–8 MB

Screen recordings compress far harder than camera footage because most of the frame is static — see reduce screen recording file size for that case specifically.

A one-hour 4K phone video that arrives at 8 GB — which is already over Telegram's limit — typically lands around 900 MB–1.2 GB at 1080p RF 22. Comfortably sendable, and visually near-identical on a phone.


Common Problems

"My video was sent but has no preview." The container or codec is not one Telegram generates thumbnails for. Remux or re-encode to MP4/H.264/AAC. MKV and MOV are the usual culprits.

"It looked fine on my phone and terrible for them." You sent via the gallery, so Telegram re-encoded. Send as a file.

"It says the file is too large." Above 2 GB on a free account. Either compress it, upgrade to Premium for the 4 GB limit, or split the video — Telegram will not split it for you.

"Upload keeps failing partway." Usually connection instability rather than Telegram. Telegram resumes interrupted uploads, so leaving the app open often completes it. Compressing first reduces the exposure window considerably.

"Audio is out of sync after sending." Almost always variable frame rate source footage, common in screen recorders and some phone cameras. Re-encoding to constant frame rate before sending fixes it permanently.


The Faster Route on Mac

Everything above is a handful of decisions — codec, resolution, quality target — repeated for every video you send. That is exactly the kind of repetitive judgment call worth handing off.

Compresto does it on macOS. Drop the video in, choose a target size or quality level, and it picks the codec, resolution and quality settings for you, defaulting to the MP4/H.264/AAC combination that plays inline everywhere on Telegram. It runs on Apple's media engine, so a multi-gigabyte 4K file compresses in a couple of minutes rather than an hour, and everything happens locally — no upload to a compression service, which matters when the video is personal.

It batches, so a folder of clips is one drag, and it handles images and PDFs the same way.

Download Compresto for Mac →


Frequently Asked Questions

What is the maximum video size on Telegram?

2 GB per file for free accounts, 4 GB with Telegram Premium. There is no cap on how many files you send or how much you store.

How do I stop Telegram from compressing my video?

Send it as a file rather than as a video. On mobile use paperclip → File; on desktop untick "Compress video" before sending. Telegram then transfers your original bytes untouched.

Why does my video look worse after sending on Telegram?

Because it went through the gallery picker, which triggers Telegram's own re-encoding. Its compression prioritises delivery speed and can be aggressive on detailed footage. Sending as a file avoids it.

What is the best resolution for Telegram videos?

1080p for most content, 720p for anything long. Recipients almost always watch on a phone, where the difference between 4K and 1080p is invisible but the difference in upload time is substantial.

Can I send a video longer than an hour on Telegram?

Yes — Telegram has no duration limit, only the 2 GB or 4 GB file size cap. A one-hour video compressed to 1080p typically fits well within it.

Does Telegram reduce quality on files sent to channels?

The same rule applies: media posted through the gallery picker is re-encoded, and files attached as documents are not. Channel posts are no different from chat messages in this respect.

Is it better to compress before sending or let Telegram do it?

Compress first. Telegram's encoder optimises for delivery speed with no knowledge of your content or intent. Doing it yourself lets you choose the resolution and quality target, and pairs with sending as a file so nothing is re-encoded twice.

Ready to compress your files? Join thousands of creators using Compresto ⚡