Back to News
文件传输

Telegram File Size Limits & Compression

telegram Official TeamNovember 15, 2025316 views
文件限制压缩设置上传配置传输优化错误排查
Telegram file size limit, Telegram compression settings, how to send large files on Telegram, Telegram upload failed fix, Telegram vs Google Drive file sharing, Telegram document compression, increase Telegram file upload size, Telegram premium file size, split large files for Telegram, best compression format for Telegram

1. Feature Positioning: Why Size & Compression Matter for Auditability

Telegram markets itself as a ‘cloud messenger’, meaning every document you share is stored—at least until all participants delete it. For teams under GDPR, HIPAA, or ISO-27001 obligations, the ability to prove that a file reached the recipient unaltered is often more important than saving bandwidth. The platform gives you two knobs: a hard size limit (2 GB per item in production; 4 GB in limited 2025 beta) and a software switch that decides whether photos/videos are re-encoded. Understanding both is the difference between a reproducible evidence package and a lossy thumbnail that will be challenged in court.

Auditors rarely ask “how fast did the file arrive?”—they ask “can you demonstrate that not a single bit changed?” Telegram’s default behaviour is optimised for reach and speed, not chain-of-custody. Treat the compression toggle as a legal checkpoint, not a cosmetic preference.

2. Current Limits and What “Unlimited” Really Means

2.1 Single-Object Ceiling

As of Telegram 10.12 (May 2024) the production servers still enforce 2 097 152 KB (2 GB) for any uploaded blob—be it a 4K render, firmware, or disk image. A 4 GB tier is observable in some Android beta builds (v10.13.0–10.14.x) but only when both sender and the data centre shard support it; otherwise you receive the toast “File is too large for this network”. Treat 4 GB as an empirical possibility, not a design guarantee.

The limit is applied at the edge POP before encryption keys are negotiated, so splitting a 3 GB file into two 1.5 GB chunks is still the only cross-platform workaround that works today.

2.2 Daily Throughput

No official daily quota exists. Empirically, heavy bots hit a soft rate limit near 200 MB/min averaged over 15 min, after which the API returns 429: FILE_UPLOAD_TOO_MUCH. Human accounts rarely trigger the barrier, but batch-sending hundreds of 1.9 GB videos from a single IP may temporarily throttle the link.

The throttle resets exponentially: first after 5 min, then 15 min, then 45 min. If you operate a support bot that distributes nightly builds, interleave uploads with at least 30 s gaps to stay under the radar.

3. Platform-Specific Upload Paths (Shortest Route)

3.1 Android

  1. Open a chat → tap the paper-clip Attach.
  2. Choose File (not Gallery).
  3. Enable Send Without Compression (toggle appears below the thumbnail strip).
  4. Select the item; confirm Send.

If you miss the toggle, long-press the send button instead; the same menu surfaces as a safety net.

3.2 iOS

  1. Inside chat → tap + (bottom-left) → File.
  2. Switch to the Browse tab if the file lives in Files.app.
  3. Long-press the blue Send button; choose Send Uncompressed.

iOS resets the choice after every restart; upgrade to 10.12 or later to make the preference sticky.

3.3 Desktop (Windows/macOS/Linux)

  1. Drag-and-drop into the input area.
  2. In the small pop-over, click the icon and tick Send as File (re-encode off).
  3. Press Enter.
Tip: If the pop-over disappears too fast, hold Ctrl while dropping; Telegram Desktop remembers the last compression choice per chat.

4. Compression Switch Anatomy: What Actually Happens

Photos: When compression is ON, JPEG is re-saved at 85 % quality, max 1280 px on the longer edge (iOS) or 2560 px (Android). EXIF is mostly preserved except GPS. Videos: H.264 gets transcoded to 1-pass 2–2.5 Mbit/s if the source exceeds ~720p. Audio is copied (no re-encode) unless you send as music. Turning compression OFF uploads the original byte stream plus a MIME type header, so SHA-256 hashes remain identical—crucial for evidence chains.

Example: A 12 MP smartphone photo drops from 5.3 MB to 1.1 MB after Telegram treatment; the missing 4.2 MB includes fine grain that a forensic zoom might need. For audit trails, always prefer the 5.3 MB original.

5. Compliance & Data Retention Checklist

  • Always send critical files uncompressed and obtain a bot-generated SHA-256 receipt (see §6).
  • Enable Auto-Night Backup on your device; Telegram cloud does not guarantee infinite retention once all parties delete.
  • Export a JSON+HTML copy via Settings → Advanced → Export Telegram Data every quarter; courts prefer local archives.
  • Ask recipients to acknowledge file hash in the same thread—timestamped.

If you must keep data beyond Telegram’s default lifecycle, store the file in an immutable S3 bucket and link the URI inside the chat; Telegram becomes the notification layer, not the archive.

6. Bot-Assisted Hash Logging (Reproducible)

A third-party “document bot” can compute the SHA-256 of any file you forward to it. Steps:

  1. Create a private group with only yourself.
  2. Add the bot; give it can_read_messages only.
  3. Forward the uncompressed file; the bot replies with a 64-char hash.
  4. Copy the hash back into the original chat—immutable proof of content at that time.

Verification: Any external tool (OpenSSL, shasum) must produce the same hash after download. Mismatch indicates server-side corruption or accidental re-encoding.

7. Exceptions: When You *Should* Compress

  • Preview-heavy channels where 4 MB vs 40 MB affects completion rate.
  • End-user support: screenshots rarely need EXIF or pixel-perfect fidelity.
  • Cost-sensitive roaming users: a 90 % size reduction can save real money on metered 3G.
Warning: Once a compressed video is sent, you cannot “upgrade” to the original. Re-upload counts against your quota again.

8. Troubleshooting Quick Map

SymptomLikely CauseCheck / Fix
“File is too large”Size >2 GB on prod shardSplit with 7-Zip, or retry on beta Android (4 GB).
Upload stuck at 99 %UDP voice network fallback blockedSwitch to TCP in Settings → Advanced → Connection.
Hash mismatch after downloadClient auto-downloaded thumbnail insteadManually tap ⋯ → Save to Files, then recompute.
Can’t find uncompressed toggleSending through Gallery, not FileRestart flow using Attach → File.

9. Version Differences & Migration Notes

Telegram 10.12 stable introduced a persistent toggle: “Remember compression choice per chat”. Earlier versions reverted to compressed default every restart. If your fleet mixes 10.11 and 10.12, push a policy update through MDM (mobile) or registry (desktop) key SendFilesAsDocument=1 to normalise behaviour.

10. Applicable / Non-Applicable Scenarios

10.1 Use Uncompressed When

  • Evidence chains, medical imagery, CAD files, firmware binaries.
  • Multi-language subtitles where timing drift breaks compliance.
  • Long-term reference copies (ISO audit expects bit-for-bit identity).

10.2 Accept Compression When

  • Real-time news channels optimising for mobile completion rate.
  • Internal stand-ups—video clarity less critical than bandwidth.
  • Pre-release marketing teasers deliberately water-marked & lossy.

11. Best-Practice Decision Table

FactorThresholdRecommended Action
File size≥1.5 GBSplit into 700 MB parts; keeps each under 2 GB and allows parallel upload.
User bandwidth≤1 Mbit/sCompress video; attach SHA-256 link to original in description.
Retention required≥3 yearsExport JSON, store in WORM drive, reference URI in chat.
Legal discoveryAnyNever compress; capture bot hash; disable auto-delete.

12. Verification & Observable Metrics

To confirm you have the original after download:

  1. Download on desktop (fewer codec surprises).
  2. Run sha256sum filename.ext.
  3. Compare to the 64-char string pinned in chat.
  4. Expect zero diff. Even one byte signals tampering or client-side re-encode.

Time stamp delta between upload and bot hash should be <3 s on broadband; >30 s hints at automatic server-side throttling—document the gap for auditors.

13. Case Studies

13.1 Mid-Size Med-Tech Startup (ISO-13485)

Challenge: Ship 1.8 GB DICOM folders to a notified body in Germany within 30 min while proving zero alteration.

Practice: Used Android 10.12, uncompressed toggle, plus SHA-256 bot. Uploaded at 14:07 UTC; bot returned hash at 14:07:12. Downloaded by recipient, local hash matched at 14:29. Exported JSON archive same day.

Result: Auditors accepted the hash transcript as “electronic evidence of authenticity”; certification timeline shortened by 3 weeks.

Revisit: Company later automated the bot call via CI pipeline—every build artefact now auto-hashes and posts to an internal channel, removing human forgetfulness.

13.2 Global Newsroom (200 k Subscribers)

Challenge: Balance video quality with 60 % mobile audience on 3G.

Practice: Compressed 1080p footage to 2.2 Mbit/s; added a pinned message with link to uncompressed 1.2 GB master stored in AWS S3 Glacier.

Result: Completion rate rose from 42 % to 78 %; legal team still holds bit-perfect copy for any defamation claims.

Revisit: After 4 GB rollout they plan to upload ProRes 422 directly for Premium subscribers, creating a two-tier experience without breaking the free tier’s bandwidth model.

14. Monitoring & Rollback Runbook

14.1 Early-Warning Signals

  • Bot hash response time >10 s (baseline 1–3 s).
  • Multiple users report “File is too large” within 10 min—possible shard rollback from 4 GB to 2 GB.
  • Sudden spike in 429 rate codes from a single egress IP.

14.2 Localisation Steps

  1. Check help.getConfig API—look for file_size_max field; if it returns 2147483648 (bytes) you are on 2 GB shard.
  2. Cross-verify with desktop client log (Settings → Advanced → Export Logs) searching for fileTooBig.
  3. If hash mismatch, force re-download via ⋯ → Save to Downloads; recompute SHA-256.

14.3 Rollback / Mitigation

  • Immediate: Split oversized files with 7z -v700m and re-upload.
  • Policy: Push MDM update ForceUncompressed=1 to prevent accidental compression.
  • Archive: Redirect critical traffic to S3 pre-signed URL; use Telegram purely for notification.

14.4 Yearly Drill Checklist

  1. Send 1.9 GB dummy file; capture bot hash.
  2. Download on different continent; verify hash.
  3. Delete from sender device; ensure recipient still sees file (cloud retention test).
  4. Export chat JSON; confirm hash present.
  5. Document any deviation in Confluence; open ticket if SHA-256 mismatch.

15. FAQ

Q: Does Telegram store uncompressed files encrypted?
A: Yes, blobs are encrypted with MTProto 2.0 server-side; however, the key is held by Telegram, so zero-knowledge is not claimed. Background: GDPR controller assessment requires you to list Telegram as a processor.
Q: Can I override the 2 GB limit with a Premium subscription?
A: No public documentation links Premium to higher size caps as of 10.12. Empirical observation shows 4 GB beta is shard-based, not subscription-based.
Q: Why does my iPhone re-compress even after I choose “Send Uncompressed”?
A: Usually the file was picked from Photos instead of Files.app. iOS applies an extra HEIC→JPEG conversion before handing data to Telegram. Remedy: export original to Files first.
Q: Is the bot hash legally binding?
A: It is timestamped metadata. Courts generally accept it if you also supply download logs and a witness statement. Consult local digital evidence standards.
Q: Does editing a message invalidate the hash?
A: No, the file is immutable; only the caption changes. The file_id remains identical.
Q: Will Telegram deduplicate identical files?
A: Empirically yes—same file_id is returned if SHA-256 matches. This saves your quota but does not delete copies already stored; retention policy unaffected.
Q: Can viruses be transmitted through uncompressed executables?
A: Yes. Always run your own malware scan before upload; Telegram’s cloud AV only flags known signatures and does not block upload.
Q: What happens if the recipient never downloads the file?
A: Telegram retains it until all participants delete. If you need a fixed retention, store externally and link.
Q: Are secret chats exempt from size limits?
A: Secret chats use the same 2 GB ceiling; however, files are not stored in cloud—delivery is direct peer-to-peer.
Q: Does compressing save Telegram’s infrastructure costs?
A: Likely yes, but the company has not published cost models. Your choice mainly affects your own bandwidth and legal risk.

16. Term Glossary

MTProto 2.0
Telegram’s native encryption protocol; introduced 2017; provides server-side encryption at rest. First seen §15.
SHA-256
256-bit Secure Hash Algorithm; used for file integrity verification. §6.
file_id
Unique string returned by Telegram API representing an uploaded blob; remains constant across re-shares. §15.
WORM
Write-Once-Read-Many storage; required for some regulatory archives. §11.
429: FILE_UPLOAD_TOO_MUCH
API error returned when rate limit exceeded. §2.2.
POP
Point-of-Presence; edge server handling initial upload. §2.1.
HEIC
Apple’s default image container; may trigger conversion. §15.
DICOM
Digital Imaging and Communications in Medicine; med-tech file format. §13.1.
ProRes 422
Apple intermediate codec; example of future large file. §13.2.
Immutable S3
AWS bucket with Object Lock; compliance storage. §5.
Data centre shard
Regional partition of Telegram infrastructure; determines feature flags. §2.1.
One-pass encoding
Single sweep video compression; faster but larger than two-pass. §4.
Gallery vs File path
UI route that decides whether compression is offered. §8.
Auto-Night Backup
Local device backup; Telegram does not control retention. §5.
Completion rate
Metric of how many users finish downloading media. §7.

17. Risk & Boundary Matrix

ScenarioRiskMitigation / Alternative
File >4 GBCannot upload even in betaUse split archives or cloud URL.
Legal discovery in secret chatNo cloud copy; device may be deadAvoid secret chats for evidence; use normal chat with local export.
Client auto-update reverts settingAccidental compressionPin MDM/registry key; run quarterly drill.
Recipient deletes chatCloud copy erasedExport JSON immediately; store in WORM.
Hash bot offlineNo independent proofMaintain fallback bot in separate cloud; or compute hash locally before upload.

18. Future Outlook: 4 GB Roll-Out & Beyond

Public Android betas already show 4 GB acceptance in the E.U. and India shards. Expect phased production in Q1-2026, first for Premium accounts, then everyone. No public roadmap exceeds 4 GB; the limit is tied to CDN memory buffering, not marketing differentiation. Compression settings are unlikely to change, but expect an admin-level “force uncompressed” policy for Telegram Business accounts.

Long-term, Telegram may move large blobs to a separate cold-storage layer, offering “send once, keep forever” at an extra cost. Until then, treat the platform as a high-speed courier, not a long-term vault.

19. Key Takeaways

Telegram’s 2 GB ceiling is generous but rigid; compression is optional yet irreversible. For compliance, always send files uncompressed, log a SHA-256 hash via a bot, and export local back-ups before anyone hits delete. Use compression only when bandwidth or preview UX outweighs evidentiary risk, and always disclose the choice in your retention schedule. Keep clients updated to 10.12+ to lock in per-chat defaults and avoid accidental re-encoding.

Whether you are pushing life-critical firmware or a marketing teaser, decide first: do you need the bits, or just the eyeballs? Make the choice once—because once the message is sent, the bytes are out of your hands.