| Parameter | Video Mode Limit | Document Mode Limit |
|---|
| File size | 2 GB | 2 GB |
| Duration | No hard limit | No hard limit |
| Resolution | Up to 3840×2160 (4K) | Unlimited |
| Codec (video) | H.264, H.265 | Any |
| Codec (audio) | AAC, MP3 | Any |
| Container | MP4, MOV, AVI | Any |
For reliable video mode playback on all Telegram clients (desktop, iOS, Android), use MP4 with H.264 and AAC audio. H.265 works on newer devices but older Telegram clients or devices without H.265 decode fall back to downloading the original rather than streaming.
The video circle format — circular, autoplay, loop, no sound — is one of Telegram's distinctive features. It looks like a circular GIF but is actually a silent MP4 with a specific aspect ratio and duration.
Technical requirements for video circles:
- Aspect ratio: 1:1 (square)
- Duration: Up to 60 seconds
- Format: MP4, preferably H.264
- The circle shape is applied by the Telegram client — the actual file is a square MP4
To create a video circle from existing footage, you need to:
- Square-crop the video (1:1 ratio, centered on the subject)
- Trim to under 60 seconds
- Export as MP4 H.264
Using FFmpeg to prepare a video circle:
ffmpeg -i input.mp4 \
-vf "crop=min(iw\,ih):min(iw\,ih),scale=480:480" \
-t 60 \
-c:v libx264 -crf 23 -preset fast \
-an \
video_circle.mp4
crop=min(iw\,ih):min(iw\,ih) — Square crop (uses the shorter dimension)
scale=480:480 — Resize to 480×480 (Telegram's optimal circle size)
-t 60 — Limit to 60 seconds
-an — Remove audio (circles are silent)
In the Telegram app, send as Video to trigger circle format. If you send a square silent MP4 via attachment → Video, Telegram recognizes it and displays it as a circle.
The 2 GB limit sounds generous until you are trying to send a 4K recording from a modern camera, which can run 200+ MB per minute. For reliable upload and download on mobile connections, target 30–50 MB per minute of video.
ffmpeg -i input.mp4 \
-c:v libx264 -crf 26 -preset fast \
-vf "scale=1280:720" \
-c:a aac -b:a 128k \
-movflags +faststart \
compressed_for_telegram.mp4
This targets roughly 10–20 MB per minute at 720p — comfortable for mobile sharing.
For recordings over 15 minutes, use the video compressor for a web-based option, or use a lower bitrate CRF:
ffmpeg -i long_recording.mp4 \
-c:v libx264 -crf 28 -preset slow \
-vf "scale=1920:1080" \
-c:a aac -b:a 96k \
-movflags +faststart \
compressed_1080p.mp4
CRF 28 at 1080p produces roughly 5–8 MB per minute for typical screen recordings and talking-head videos.
If a video is over 2 GB (or you want to split a long recording into episodes for sequential sharing), FFmpeg handles segment splitting precisely:
# Split into 30-minute segments
ffmpeg -i long_video.mp4 \
-c copy \
-map 0 \
-segment_time 1800 \
-f segment \
-reset_timestamps 1 \
segment_%02d.mp4
For a visual approach to splitting at specific timestamps, the video trimmer handles the cut points without re-encoding.
Telegram treats audio files differently based on format:
- MP3, M4A, AAC files sent as files → appear as inline audio players with waveform
- OGG voice messages → appear as voice message bubbles with transcription option
- Other audio formats → sent as document downloads
To optimize an audio file for Telegram's inline player:
# Convert to MP3 for universal compatibility
ffmpeg -i audio.wav -c:a libmp3lame -b:a 128k telegram_audio.mp3
# Or FLAC for lossless archiving sent as document
ffmpeg -i audio.wav -c:a flac lossless_archive.flac
For compressing audio files before sending, the MP3 compressor reduces file size while maintaining acceptable quality. To extract audio from a video to send as standalone audio, the extract audio tool outputs MP3 or AAC directly.
When sending files for someone to edit or work with rather than just view:
| File Type | Best Format for Telegram | Notes |
|---|
| Spreadsheets | XLSX or CSV | XLSX preserves formatting |
| Presentations | PPTX or PDF | PDF for view-only, PPTX for editing |
| Documents | DOCX or PDF | PDF for guaranteed rendering |
| Images | JPG (compressed by Telegram) or PNG (as document) | Send as File to prevent recompression |
| RAW photos | As document | Telegram does not process RAW |
Important: Telegram automatically compresses images sent as photos. To send a full-quality PNG or JPG without compression, send it as a File (document mode), not as a Photo. This is critical for images that need to be printed or used in design work.
If you are building a Telegram bot that sends media, the API has specific requirements:
Photos: 10 MB
Videos (via URL): 20 MB
Videos (local upload): 50 MB
Documents: 50 MB
Animation (GIF): 1 MB
Voice: 1 MB
Audio: 50 MB
For sending large video files, the bot must upload to Telegram's servers first and use the resulting file_id for subsequent sends. Direct URL sending only works for files under 20 MB.
For video content sent via bot, target under 20 MB if using URL delivery:
ffmpeg -i source.mp4 \
-c:v libx264 -crf 30 -preset fast \
-vf "scale=640:360" \
-c:a aac -b:a 64k \
-movflags +faststart \
bot_video_small.mp4
This produces roughly 2–5 MB per minute at 360p — well under the URL delivery limit for short clips.
Telegram converts GIF files to silent MP4 for playback efficiency. A GIF you upload is re-encoded to MP4 on Telegram's servers and plays as a "GIF" (actually a muted looping video). This means:
- Send the GIF as-is and Telegram handles conversion
- Or pre-convert to MP4 for more control over quality: the GIF to MP4 converter handles this cleanly
- Use the video converter to create a silent looping MP4 if you want to control the compression yourself
For creating GIFs from video clips to share on Telegram, the GIF maker tool produces optimized GIFs. Keep them under 1 MB for the best performance in the bot API context.
The video is likely in a format Telegram does not stream natively (MKV, WebM, AVI, or H.265 on older clients). Convert to MP4 H.264 and re-send, or send as a document if you want recipients to have the original file.
Yes — Telegram supports 4K video in both video and document modes. For reliable streaming on the recipient's end, keep the bitrate reasonable (30–60 Mbps maximum). Very high-bitrate 4K files are better sent as documents.
When you send a file via the Video attachment type, Telegram re-encodes it for streaming at lower quality. To avoid this, send as a File (document mode) instead. The file will be downloaded rather than streamed but quality is preserved.
In the Telegram mobile app: press and hold the microphone icon in the chat compose bar, then drag it to the camera icon. This switches to video note mode. Alternatively, send a prepared square MP4 via attachment → Video. You cannot currently send pre-made video circles through the desktop app's interface.
Telegram Premium increases the upload limit to 4 GB per file, compared to 2 GB for free accounts.
Telegram is generous with file formats and sizes compared to other messaging apps, but a few practical conversions make a significant difference. Converting to H.264 MP4 ensures inline streaming on all clients. Compressing before upload ensures reliable transfer on mobile connections. For the video circle format, the square-crop and 60-second limit are the only real constraints. Use the video compressor for fast compression, the video trimmer to cut content to Telegram-friendly lengths, and check the best video format for WhatsApp guide for comparison with another major messaging platform's requirements.