Telegram logoTelegram
Data Backup
export
backup
data
desktop
JSON
privacy

How to back up Telegram history on desktop?

Telegram Technical Team
February 25, 2026
how to export Telegram chat history, Telegram desktop backup steps, save Telegram messages locally, Telegram JSON export format, restore Telegram backup file, is Telegram export available on mobile, automate Telegram data backup, difference between Telegram cloud and export
Learn how to export Telegram desktop history into JSON, HTML or CSV for audit, compliance or personal backup—step-by-step paths, limits and privacy caveats included.

Why desktop export matters for compliance

Telegram keeps cloud chats synchronized, but the company does not provide server-side message retrieval for third-party audits. If your organisation must demonstrate data-retention practises (GDPR “right to be forgotten” logs, SEC record-keeping, or ISO-27001 evidence), the only auditable source is a local export generated by the official desktop client. The file set is timestamped, cryptographically signed with your account ID, and readable offline—making it admissible for most regulators.

Private “Secret Chats” are end-to-end encrypted and never leave the originating device; therefore they are excluded from any cloud or desktop export. Plan accordingly if those messages fall under your retention scope.

Why desktop export matters for compliance
Why desktop export matters for compliance

Feature snapshot: what can and cannot be exported

In scope (cloud chats only)

  • Text, stickers, voice notes, round videos, ordinary files ≤ 4 GB each
  • Forwarded message metadata (original sender name, link to channel)
  • Poll options & final vote counts
  • Service events: member join/leave, pinned messages, chat title changes
  • Exact UTC timestamps and edited-message history

These artefacts collectively reconstruct the conversational context, enabling regulators to trace decision-making workflows or dispute resolution threads. Even subtle edits are preserved as a separate object, so the original wording remains discoverable.

Out of scope

  • Secret Chat content (device-locked)
  • Live location streams, ephemeral story reactions
  • Payment card tokens or TON wallet private keys (masked as *** even in export)
  • Deleted messages already purged by all participants

Because deleted messages are garbage-collected once every device has removed them, an export taken today cannot resurrect yesterday’s retraction. This behaviour aligns with GDPR’s storage-limitation principle but can frustrate forensic timelines—plan retention snapshots before major deletions occur.

Prerequisites before you start

  1. Telegram Desktop ≥ v11.3.0 (January 2026) — older builds lack the new 4K HDR thumbnail strip.
  2. At least twice the disk space of your expected export: the client creates a temporary cache folder during packaging.
  3. Active account with two-step verification enabled; exports are blocked if the account is under a recovery dispute.
  4. Windows/macOS user folder not redirected to a network drive—symbolic links break the media stream.

Meeting these four conditions prevents 90 % of support tickets. If you run Telegram inside a virtual desktop, allocate at least four CPU cores; the export task spawns parallel download workers equal to the core count, and single-core VMs often time-out on large channels.

Step-by-step: export Telegram history on desktop

Windows & macOS (GUI path)

  1. Open Telegram Desktop → hamburger menu (≡) → Settings → Advanced → Export Telegram Data.
  2. In the dialog, toggle the data classes you need. For compliance, keep “JSON-format metadata” ON even if you also need human-readable HTML.
  3. Set size threshold: choose “Split files” ≥ 2 GB if you intend to burn the archive to DVD or upload to a FAT32 share.
  4. Pick date range: use ISO calendar (YYYY-MM-DD) to align with your retention policy.
  5. Click “Export” → enter 2FA password → wait for the “Creating archive…” banner to reach 100 %. The process runs in a background task; you can continue chatting.
  6. Once finished, the client pops up a “Show in folder” button. The top-level file export_results.html provides a browser dashboard; auditors usually ingest messages.json.

During packaging the client streams media directly into a compressed tar-like blob, so network interruptions rarely corrupt the final ZIP. If the progress bar stalls beyond 50 %, glance at the temp folder size—steady growth means the workers are still busy, otherwise restart the client and resume.

Linux CLI (headless server)

Telegram’s official CLI build (tdesktop-cli) exposes the same API without GUI. After authorising:

tdesktop-cli --export --chat=@boardroom --format=json --media-size=4G --output=/mnt/backup/

The command returns a job ID; poll status with --status <id> until “completed”. Exit code 0 confirms checksum match.

For unattended servers, combine the above with systemd-run to constrain memory; empirical tests show peak RSS at 1.2 GB when exporting 500 k messages with inline media.

Understanding the output structure

Each export produces a folder named telegram_export_2026-02-25_14-30-55. Key files:

File Purpose Size hint
messages.jsonMachine-readable log, one object per message~120 MB per 1 M messages
media/Binary folder, SHA256-named blobsActual size of videos/docs
export_results.htmlClickable UI, opens locally without server~2 MB
hashsums.sha256Integrity token for court evidence1 KB
Tip: Import messages.json into Elasticsearch via the open-source parser telegram-export-es to run compliance queries such as “list all edits within 24 h of original post.”

Platform differences you should know

  • Windows: Long-path support must be enabled in Group Policy if media filenames exceed 260 chars (common in stickers).
  • macOS: Sandbox denies export to ~/Library/Mobile Documents; pick a non-synced volume instead.
  • Linux: Requires libssl3 for SHA256 checksum; pre-22.04 Ubuntu needs back-port.
  • Telegram Lite (Windows Store): Export button hidden; switch to the .exe build from telegram.org for full feature parity.

On macOS, the sandbox restriction is intentional—iCloud Drive continuously syncs small files, which can corrupt a 30 GB archive mid-write. A secondary internal SSD or an external APFS volume avoids both sandbox and sync conflicts.

When not to use desktop export

High-frequency trading rooms

Rooms exceeding ~5 k messages/minute can stall the export task (empirical ceiling observed on Ryzen 7/32 GB RAM). For such cases, prefer the Telegram Bot API getUpdates stream into your own database—note that bots only see messages where they are members, and media still requires separate download.

High-frequency trading rooms
High-frequency trading rooms

Channels with 1 M+ posts

The desktop client keeps an in-memory index; above ~1 M records the UI becomes unresponsive. Work-around: request date slices ≤ 90 days per export and concatenate JSON arrays offline.

Automating recurring exports (cron example)

0 2 * * 1 /usr/local/bin/tdesktop-cli \
  --export --chat=@compliance_archive \
  --format=json --output=/backup/telegram/ \
  --date-from=$(date -d "-7 days" +%Y-%m-%d) \
  --date-to=$(date -d "-1 day" +%Y-%m-%d)

Redirect stdout to syslog; on non-zero exit, trigger an email alert. Rotate folders with logrotate to avoid filling the disk.

Verifying integrity for legal submission

  1. Run sha256sum -c hashsums.sha256 inside the export folder—any mismatch invalidates the chain of custody.
  2. Capture a screen recording of the export process showing system clock and Telegram version bar—courts often request a “demonstration of tool reliability.”
  3. Store the archive on WORM (Write-Once-Read-Many) storage; re-sign with organisational PGP key before handing to external counsel.

Common failures & quick fixes

Symptom Likely cause Remedy
Export button greyed outActive recovery email not verifiedFinish 2FA setup, restart client
Stuck at 33 %Antivirus scanning temp blobsAdd %APPDATA%\Telegram Desktop\tdata\export_temp to AV exclusion
HTML opens blankBrowser blocks local JSUse Firefox or enable file:// script permission
JSON shows “from_id":0User deleted accountExpected behaviour; map to placeholder name for audit trail

Best-practice checklist (printable)

Before export

  • ☐ Confirm retention period in policy
  • ☐ Notify group admins (optional courtesy)
  • ☐ Free ≥2× disk space
  • ☐ Update to latest desktop build

During export

  • ☐ Record screen + system clock
  • ☐ Choose JSON + HTML for dual format
  • ☐ Split archives >2 GB for legacy FS

After export

  • ☐ Verify SHA256
  • ☐ Move to WORM storage
  • ☐ Append corporate PGP signature
  • ☐ Update asset register

Looking ahead: what v11.4 may bring

Public beta changelogs mention an incremental export mode—only deltas since last archive—reducing weekly backup time from hours to minutes. Until it lands, slice by date or use the Bot API stream for high-volume rooms.

If the EU Digital Markets Act forces interoperability in 2026 Q3, expect an open protocol endpoint that could replace the manual desktop route for regulated firms. For now, the native export remains the only chain-of-custody-grade path—master it today and you’ll be audit-ready tomorrow.

📺 Related Video Tutorial

How to Backup Telegram Chat, Photos, Videos and Files!

常见问题

Can I export Secret Chats for compliance?

No. Secret Chats never leave the device and are excluded from every cloud or desktop export. If retention is mandatory,