Getting a Telegram conversation out of the app
Install Telegram Desktop on a computer, open the chat, click the three-dot menu at the top right and choose Export chat history. Pick what to include, choose HTML if you want to read it or JSON if it is going into other software, and it saves a folder to your machine. There is no export in the phone apps, so if you have been hunting through iPhone or Android settings for it, that is why you cannot find it. One thing to know before you plan around this: if you have only just signed in on that computer, Telegram can block the export for up to 24 hours as an anti-takeover measure.
You need the desktop app
The export tool is a Telegram Desktop feature. Download it from telegram.org for Windows, macOS or Linux, sign in with your phone number, and let it sync.
On a Mac there is more than one Telegram application in circulation, and they are not identical builds. If the app you have does not show an export option anywhere, install the one from telegram.org rather than concluding the feature is gone.
Syncing a large account takes a while on first sign-in. Let it settle before exporting, because an export run against a half-synced client gives you a half-synced result and no warning that it did.
Exporting one chat, or everything
For a single conversation: open the chat, click the three-dot menu at the top right, and choose Export chat history.
For the whole account: Settings, then Advanced, then Export Telegram data. That version also covers your contacts, your account information and whichever chats you tick.
Either way you get a dialog with three decisions on it: what to include, a date range, and the format. There is also a cap on how large the media may be, which exists so that a request for everything does not quietly start a forty gigabyte download. If you want the photos, raise it. If you want the words, leave the media out entirely and the export finishes in seconds.
The 24 hour wait, and how to skip it
Telegram treats a data export as a sensitive action, because it is exactly what someone who had just stolen your account would do first. So a session that has only just signed in can be blocked from exporting for up to a day.
If you have another device already signed in, the request usually pops up there for confirmation, and approving it clears the wait. If the computer is your only signed-in device, you wait.
This is the thing to know in advance rather than at the moment you need the file. If you are exporting because you are about to lose something, sign in on the computer first and start the clock, even if you do not run the export until tomorrow.
HTML or JSON
HTML gives you a set of web pages you open in a browser. The conversation reads roughly as it did in the app, with the photos in place, and for most people this is the right choice and the end of the job.
JSON gives you one file called result.json, which is complete, structured, and unreadable by a person. Choose it when the export is going into other software, or when you want the most faithful copy of the data rather than a rendering of it.
If you are not sure, run it twice. The export is free and you can have both.
What the folder contains
An export is a folder, not a file. Inside are the message data and a set of subfolders: photos, video_files, voice_messages, files, and so on, depending on what the chat contained.
The message records name the media files by path, which means the folder only works as a unit. Copying result.json or messages.html out on its own leaves every image behind, and people do this constantly and then wonder why the pictures are missing.
Zip the whole folder if you are moving it or sending it anywhere.
Why free converters mangle it
There is one specific thing in Telegram's JSON that breaks naive converters. A message's text is sometimes a plain string, and sometimes a list of pieces, with each formatted or linked fragment as its own object carrying a type.
Anything that assumes the first shape produces sentences with fragments like a type marker sitting in the middle of the words wherever somebody used bold, italics, a link or a mention. If a converter's sample output has stray braces or the word bold in the middle of a sentence, that is what you are looking at.
Putting the sentence back together is not difficult, it is just work that has to be done deliberately, and free tools often skip it.
What is not in the export
Secret chats. They exist only on the two devices that created them and are not part of your cloud account, so they are not part of an export. There is no setting that changes this.
Anything deleted. Telegram deletions are real deletions, on both sides where delete for everyone was used.
Messages outside the date range you picked. Obvious, and worth double checking, because the dialog remembers what you chose last time.
When the export finishes, open it and look at the earliest message. If it does not go back as far as the conversation does, you capped something without meaning to.
Reading it for free
The HTML export is genuinely readable. Open the first page in a browser and scroll. For a lot of people that is the whole requirement and there is no reason to do anything else.
What it is not is a document. It paginates badly or not at all when printed, the styling is Telegram's rather than anything you would hand to another person, and the pages split in ways that make a long conversation awkward to reference. The gap between a readable web page and a document you can send someone is where the remaining work lives.
Upload the export and it comes back as a paginated transcript with the formatted text rebuilt into proper sentences and the photos placed with their messages.
Open Telegram to PDF →