Overview / Blog / Chat export
Scraping  ·  22 Sep 2026  ·  8 min read

Telegram export chat history lives on desktop, and some chats switch it off

Telegram export chat history is a Telegram Desktop feature: open the chat on a computer, click the three-dot menu, choose Export chat history, then pick media types, a file size limit and HTML or JSON. The Android, iPhone and web apps have no such option, and a chat where saving or sharing is restricted hides it on desktop too. Excel, CSV and PDF come afterwards, by converting the JSON or printing the HTML.

You will see the question typed a dozen ways — can we export chat from telegram, can you export telegram chat on phone, how to export telegram chat on iphone, telegram export chat history android, export telegram chat without desktop — and each gets the same first answer: not from a phone, because the export lives in one desktop app.

The Export Chat button some people remember from a phone is WhatsApp's, for moving a conversation into Telegram. That is an import, and it runs one way.

How to export Telegram chat history on a computer

Telegram added the tool to Telegram Desktop in August 2018, and Desktop, on Windows, macOS or Linux, is still the only official app with it.

  1. Install Telegram Desktop from desktop.telegram.org and sign in by scanning its QR code from Settings › Devices on your phone.
  2. Open the chat, group or channel, click the three-dot menu at the top right and choose Export chat history (Export topic history inside a forum topic).
  3. Tick the media types you want, set the Size limit slider, and pick Human-readable HTML, Machine-readable JSON or Both.
  4. Check the download path and the date range, which runs from the oldest message to present.
  5. Click Export, keep Telegram open until Data export completed appears, and press Show my data.

The telegram export chat history mac question hides a trap: a Mac can run two Telegrams. The native Telegram for macOS has no export command, while Telegram Desktop for macOS, from the Windows build's download page, has the menu above.

For the whole account, Settings › Advanced › Export Telegram data adds your profile, a Contacts list of everyone you saved as a contact (synced from your phone, which is why a deleted contact can reappear) and a tick per kind of chat. Two defaults catch people out. Private groups and channels start with Only my messages ticked, and for public groups and channels that box is ticked and greyed out, so only the per-chat menu takes a public group's full history.

What does each export option actually save?

Less than the window suggests, because the defaults are frugal.

OptionChoicesDefaultWhat the default leaves out
Media typesPhotos, Videos, Voice messages, Video messages, Stickers, GIFs, FilesPhotos onlyEvery other type, replaced by "Not included"
Size limit1 MB to 4,000 MB8 MBAny larger photo or file, marked "Exceeds maximum size"
FormatHuman-readable HTML, Machine-readable JSON, BothHTMLThe JSON file a spreadsheet needs
Date rangeAny start and endThe oldest message to presentNothing
Download pathAny folderThe app's download folderNothing, each run gets a new folder

Those defaults are in Telegram Desktop's source as of September 2026, where the 8 MB limit sits on a 100-step slider that tops out at 4,000 MB.

The folder is named ChatExport_ plus the date, with (1) added on a second run that day. HTML arrives as messages.html, messages2.html and onward, 1,000 messages to a file, beside folders called photos, video_files, voice_messages, round_video_messages, stickers and files.

JSON arrives as one result.json, laid out in Telegram's own export schema. Each message carries an id, a date, the sender's display name under from and a from_id such as user123456, the numeric ID behind every sender. Names are display names, not @usernames, and what a username lookup can resolve is another matter.

Why is there no Export chat history button?

Usually the app, sometimes the chat.

Two kinds of reason sit behind telegram export chat history not showing and telegram no export chat history button. Phones and Telegram Web never had the command, as the next section shows; the chat kind is checked in Telegram Desktop's code before the menu is drawn.

The main chat reason is protection. Switching on Restrict saving content removes the export from a group or channel, and since March 2026 a one-to-one chat can carry the same lock through Disable Sharing, a Premium option that leaves a line saying who turned it on. Desktop reads both as a chat that refuses forwarding, the same switch that turns a forward away, and drops the export with it.

The rest are narrower. Secret chats never reach Desktop, since Telegram's FAQ keeps them on the two devices that started them. The item also hides in an empty chat, in the Replies and Verification Codes service chats, and in a private channel you are only previewing until you join through an invite link or an approved join request.

None of that has a setting on your side; with a protected group, the route that respects the switch is its owner.

Can you export a Telegram chat without a computer?

No, not with Telegram's own apps.

Neither the Android nor the iPhone app has an export command, and neither version of Telegram Web has one either. The iPhone app even says so: its account-deletion warning sends you to Settings › Advanced › Export Telegram data in Telegram Desktop to save your data first.

So the phone's whole part in an export is signing a computer in. Borrow any Windows, Mac or Linux machine you trust, install Desktop, scan its QR code from Settings › Devices, export, then end that session from the same screen. Any app or browser extension promising a phone export needs your signed-in session to do it, which hands over the whole account, every chat in it, rather than the one you wanted.

Export Telegram chat to Excel, CSV or PDF

None of the three is an export format.

Telegram export chat to pdf, export telegram chat to csv and export telegram chat to excel all mean converting one of the two files Telegram does write. For a spreadsheet, export with JSON or Both, then in Excel choose Data › Get Data › From File › From JSON and open result.json; Power Query flattens JSON into a table on its own, and the messages list gives one row per message.

The text column is where it breaks. Telegram's schema makes text a plain string for an unformatted message and a list of pieces once it holds a link or bold type, so those rows read List. Switch to text_entities, always a list, and add a custom column with Text.Combine(List.Transform([text_entities], each [text])) to rebuild each message in one cell.

CSV is then a save as CSV UTF-8 (Comma delimited), since plain CSV writes your system code page and turns anything outside it into question marks. PDF skips Excel: open messages.html in a browser and print each file.

How big can a Telegram chat export get?

There is no documented total, only a per-file cap.

The telegram export chat size limit people ask about is that slider, and it works file by file: anything above it is skipped with a note while the export carries on. The method that starts an export takes a maximum file size and names no other cap, so the real ceilings are disk space and time.

Time is what large chats cost. Desktop reads history 100 messages per request, so a group with 200,000 messages means at least 2,000 requests for the text alone, plus a download for every file it keeps, all over the app's own connection, including any proxy Telegram Desktop is set to use.

An export can also refuse to start. That same method may answer TAKEOUT_INIT_DELAY with a wait in seconds, which Desktop words as "For security reasons, you will be able to begin downloading your data in" a number of hours, with a date to repeat the request from the same device. Telegram publishes no fixed length for that wait, so the date in the message is the one to trust.

Group and channel history, from one export to many

Groups take the same five steps, and a telegram export group chat history run from the chat's menu takes every member's messages your account can see.

Channels add one wrinkle. To export Telegram channel chat in full takes two runs, one from the channel for its posts and one from its linked discussion group, which holds the comments.

A bot cannot page back through a chat. The Bot API has no history method, and messages.getHistory is marked users-only. So a bot added today receives new messages rather than old ones, the bot-token and user-session split at its plainest.

Group Content Scraper in our panel is the account-side route: it reads messages, photos, videos, documents and member profiles through sessions from your pool and writes Excel and HTML on your machine, with no JSON step, backing off when Telegram answers with a flood wait. It still needs an account inside each private group, and the joined-chat cap that stops a blaster applies to it too.

Group Content Scraper listed under Data Scraping beside Member Scraper, a route to export telegram chat to excel directly

Member profiles turn a history export into data about a crowd. Reading who is inside a group rather than what they said is its own subject, a phone number shows only where its owner's privacy setting allows, and a list like that invites a bulk add run somewhere else. An exported history is other people's words and names, personal data under laws such as GDPR, so keeping it, and above all messaging those people, needs a lawful basis no software supplies.

What this guide and our panel will not do

This page stops at the owner's switch, because Telegram's documentation tells every client to disable downloads, copying and forwards in protected chats and we will not describe a way around that. Our software reads only what a signed-in account can open, never reaches a secret chat, raises no Telegram limit and makes no account undetectable; you bring the accounts and proxies, and the account doing the reading answers to Telegram's Terms of Service.

Questions

Exports, formats and the chats that refuse them

Can you export a Telegram chat on your phone?
No. Telegram's Android and iPhone apps have no command that exports a chat, and neither version of Telegram Web has one, so every attempt to export a Telegram chat on a phone ends at a computer. The iPhone app says as much itself: its account-deletion warning points you to Settings › Advanced › Export Telegram data in Telegram Desktop. The practical route is short. Install Telegram Desktop on any Windows, Mac or Linux machine, sign in by scanning its QR code from Settings › Devices on the phone, run the export, then end that desktop session from the same Devices screen. The Export Chat button some phones show belongs to WhatsApp, which uses it to move a chat into Telegram rather than out of it. Treat any app that promises a phone export with suspicion, because it needs your signed-in session to read anything at all.
Why can't I find Export chat history in a group I am in?
Because the group is protected, empty, only previewed, or open in an app that never had the command. When its owner switches on Restrict saving content, Telegram Desktop hides Export chat history from members along with forwarding and saving, because Telegram's documentation asks every app to treat a protected chat that way. Right-clicking a message confirms it: the menu notes that copying and forwarding is not allowed from this group. A chat with no messages yet has nothing to export, and a private group or channel you are only previewing through an invite link offers no export until you join it. The item also never appears on a phone or in Telegram Web, whatever the group's settings are. When protection is the cause, the only route that respects it is the owner, who can switch it off for everyone; nothing on your side of the chat changes the outcome.
Is there a size limit when you export a Telegram chat?
Only per file. The Size limit slider in the export window runs from 1 MB to 4,000 MB and starts at 8 MB, and any photo or file larger than the setting is left out with a note saying it exceeds the maximum size. Nothing documented caps the export as a whole, so a long group with plenty of media can fill as much disk as its history holds. What grows instead is time. Telegram Desktop fetches history 100 messages per request and then downloads every file it is allowed to keep, so a large export can take a long time, and the app has to stay open until the window reports that the data export is completed. If one file stalls, Skip this file moves past it. Set the slider before you start, because changing it afterwards means running the whole export again from the beginning.
Can I export a Telegram channel I have not joined?
A public one, usually; a private one, no. Telegram Desktop refuses the export in a private channel you are only previewing through an invite link, and Telegram's history method answers that you have not joined when an account outside a private channel asks for its messages. A public channel you can open and read is treated like any other chat with messages in it. Either way, the export holds the channel's posts and not its comments. Comments live in the linked discussion group, a separate chat, so the whole conversation needs a second export from inside that group. Protection applies here as well: a channel whose owner restricted saving content offers subscribers no export at all. Join a private channel through its invite link first, and check that saving is not locked before you plan any work around the export.
How do I export a Telegram chat to PDF?
Through the HTML export and a browser. Telegram Desktop has no PDF option, so export the chat as Human-readable HTML or Both, open messages.html from the ChatExport folder in any browser and print it to PDF. Long chats arrive as several files, because the export puts 1,000 messages in each, so messages.html is followed by messages2.html, messages3.html and onward, and each prints to its own PDF unless you merge them afterwards. Photos appear in the printout only if Photos was ticked and they fitted under the size limit, while videos, voice messages and files appear as entries rather than playable media, which a PDF could not hold anyway. Printing keeps the dates, sender names and layout of the chat, so it suits a record you need to read or hand over. For anything you need to sort or count, convert the JSON export to a spreadsheet instead.
Does the other person know when you export a Telegram chat?
Telegram documents no such notice. The one export notice it does describe goes to your own devices: when an export request has to wait for security reasons, Telegram tells every device signed in to your account, so you can react if the request was not yours. Nothing in the export tools marks the chat for anyone else, and the method that reads the history is the same one every Telegram app uses when you scroll back through a conversation. Being able to take a copy is a separate question from being allowed to keep or share it, though. An exported chat holds other people's words, names and photos, which data protection laws such as GDPR treat as personal data, and a group export multiplies that by everyone who ever posted there. Keep exports of other people's conversations only while you have a real reason to hold them.
Can I get a Telegram group's chat history into Excel with names and dates?
Yes, from the JSON export. Export the group with Machine-readable JSON or Both, open result.json in Excel through Data › Get Data › From File › From JSON, and expand the messages list into rows. Each row carries the message id, the date, the sender's display name and a from_id such as user123456, which stays the same when someone changes their name. The text needs one repair, because it arrives as plain text in some rows and as a list in others, and a custom column built from text_entities joins each message back into one cell. Save as CSV UTF-8 if another tool needs the file. That covers one group per export. For many groups, or member profiles next to the messages, a user-session tool such as our Group Content Scraper writes Excel directly, and the lawful-basis question about other people's data comes with either route.

Group history straight into Excel, from your own sessions

Group Content Scraper sits under Data Scraping and writes a group's messages, photos, videos, documents and member profiles to Excel and HTML on your machine, paced by the same engine as the other twenty-four modules. Support runs through Telegram.