{"id":4,"date":"2026-09-20T15:50:00","date_gmt":"2026-09-20T07:50:00","guid":{"rendered":"https:\/\/portraitor.ai\/blog\/?p=4"},"modified":"2026-10-07T20:21:26","modified_gmt":"2026-10-07T12:21:26","slug":"how-to-export-telegram-chat","status":"publish","type":"post","link":"https:\/\/portraitor.ai\/blog\/how-to-export-telegram-chat","title":{"rendered":"How to export your Telegram chat history"},"content":{"rendered":"\n<div class=\"pp-art__short\">\n  <div class=\"pp-art__eyebrow\">Short answer<\/div>\n  <p>You need Telegram Desktop on a computer. Open the chat, click the three dot menu, choose Export chat history, and pick JSON or HTML. The phone apps cannot do this and there is no way around it.<\/p>\n<\/div>\n\n<p>Telegram is one of the few messaging apps that gives you a complete, properly structured export of your own conversations, rather than a folder of screenshots. This guide covers both ways to do it, which format to choose, and what is actually inside the file once you have it.<\/p>\n\n<h2 id=\"can-you-export-from-your-phone\">Can you export Telegram chats from your phone?<\/h2>\n<p>No. Neither the iPhone nor the Android app has an export function, and it is not hidden in a settings menu somewhere. The feature exists only in Telegram Desktop.<\/p>\n<p>The good news is that your Telegram history lives in the cloud rather than on your handset. Install Telegram Desktop on any computer, sign in with the same account, and your full history will be waiting. You do not need the phone that sent the messages.<\/p>\n<p>The workaround people try is forwarding messages to Saved Messages. That works for a handful and falls apart beyond that, because you lose timestamps and you are copying by hand.<\/p>\n\n<h2 id=\"export-a-single-conversation\">How do you export a single Telegram conversation?<\/h2>\n<p>This is what most people actually want. It exports one chat rather than your entire account.<\/p>\n\n<div class=\"pp-art__steps\">\n  <div class=\"pp-art__steps-head\">\n    <div class=\"pp-art__eyebrow\">Single chat export<\/div>\n    <div class=\"pp-art__steps-meta\">Telegram Desktop &middot; 7 steps<\/div>\n  <\/div>\n  <div class=\"pp-art__step\"><span class=\"pp-art__step-num pp-art__step-num--filled\">1<\/span><p>Open Telegram Desktop on a computer and sign in.<\/p><\/div>\n  <div class=\"pp-art__step\"><span class=\"pp-art__step-num pp-art__step-num--filled\">2<\/span><p>Open the conversation you want to export.<\/p><\/div>\n  <div class=\"pp-art__step\"><span class=\"pp-art__step-num pp-art__step-num--filled\">3<\/span><p>Click the three dot menu in the top right of the chat.<\/p><\/div>\n  <div class=\"pp-art__step\"><span class=\"pp-art__step-num pp-art__step-num--filled\">4<\/span><p>Choose Export chat history.<\/p><\/div>\n  <div class=\"pp-art__step\"><span class=\"pp-art__step-num pp-art__step-num--filled\">5<\/span><p>Pick your format, JSON or HTML. See below if you are unsure.<\/p><\/div>\n  <div class=\"pp-art__step\"><span class=\"pp-art__step-num pp-art__step-num--filled\">6<\/span><p>Set a date range if you only want part of it, and untick media if you only need the text.<\/p><\/div>\n  <div class=\"pp-art__step\"><span class=\"pp-art__step-num pp-art__step-num--filled\">7<\/span><p>Click Export and choose where to save it.<\/p><\/div>\n<\/div>\n\n<p>Turning media off is worth doing if you only care about the words. A chat with years of photos and voice notes can run to several gigabytes, and the text itself is a tiny fraction of that.<\/p>\n\n<div class=\"pp-art__ctabanner\">\n  <div class=\"pp-art__ctabanner-text\">\n    <h3>That is the hard part done<\/h3>\n    <p>If the export was the reason you are here, the file is ready to use now. Read the next two sections first if you have not opened it yet.<\/p>\n  <\/div>\n  <a class=\"pp-art__ctabanner-btn\" href=\"\/#home\">Upload your export &rarr;<\/a>\n<\/div>\n\n<h2 id=\"export-everything\">How do you export all your Telegram data at once?<\/h2>\n<p>If you want everything rather than one conversation, there is a separate account wide export.<\/p>\n\n<div class=\"pp-art__steps\">\n  <div class=\"pp-art__steps-head\">\n    <div class=\"pp-art__eyebrow\">Account wide export<\/div>\n    <div class=\"pp-art__steps-meta\">Telegram Desktop &middot; 5 steps<\/div>\n  <\/div>\n  <div class=\"pp-art__step\"><span class=\"pp-art__step-num pp-art__step-num--outline\">1<\/span><p>In Telegram Desktop, open the hamburger menu and go to Settings.<\/p><\/div>\n  <div class=\"pp-art__step\"><span class=\"pp-art__step-num pp-art__step-num--outline\">2<\/span><p>Choose Advanced in the sidebar.<\/p><\/div>\n  <div class=\"pp-art__step\"><span class=\"pp-art__step-num pp-art__step-num--outline\">3<\/span><p>Scroll down and click Export Telegram data.<\/p><\/div>\n  <div class=\"pp-art__step\"><span class=\"pp-art__step-num pp-art__step-num--outline\">4<\/span><p>Tick the chat types you want, choose a format, set a date range, and decide which media to include.<\/p><\/div>\n  <div class=\"pp-art__step\"><span class=\"pp-art__step-num pp-art__step-num--outline\">5<\/span><p>Click Export and pick a destination folder.<\/p><\/div>\n<\/div>\n\n<p>This can take a long time and produce a very large folder. Use the single chat export unless you genuinely want the lot.<\/p>\n\n<h2 id=\"json-or-html\">Should you choose JSON or HTML?<\/h2>\n<p>Pick based on whether a person or a program is going to read it.<\/p>\n\n<div class=\"pp-art__tablewrap\">\n  <table class=\"pp-art__table pp-art__table--format\">\n    <thead>\n      <tr><th><\/th><th class=\"is-primary\">JSON<\/th><th>HTML<\/th><\/tr>\n    <\/thead>\n    <tbody>\n      <tr><td class=\"is-strong\">Best for<\/td><td>Any tool or script that reads the chat<\/td><td class=\"is-muted\">Reading it yourself in a browser<\/td><\/tr>\n      <tr><td class=\"is-strong\">Opens in<\/td><td>A text editor, or any software<\/td><td class=\"is-muted\">Your normal browser, formatted<\/td><\/tr>\n      <tr><td class=\"is-strong\">Structure<\/td><td>Every message tagged with sender, timestamp and type<\/td><td class=\"is-muted\">Laid out visually, harder to parse reliably<\/td><\/tr>\n      <tr><td class=\"is-strong\">Human readable<\/td><td>Awkward but possible<\/td><td class=\"is-muted\">Yes, it looks like the app<\/td><\/tr>\n    <\/tbody>\n  <\/table>\n<\/div>\n\n<p>Keeping a personal archive to read later, choose HTML. Running the conversation through any kind of analysis tool, choose JSON. Almost everything that reads chat exports expects JSON, because the structure is unambiguous.<\/p>\n\n<h2 id=\"what-is-inside-the-file\">What is actually inside the exported file?<\/h2>\n<p>This is the part most guides skip, and it matters before you send the file anywhere.<\/p>\n<p>A Telegram JSON export is not only the words people typed. Depending on the chat and what was shared, it can also contain:<\/p>\n\n<div class=\"pp-art__bullets\">\n  <div class=\"pp-art__bullet\"><span class=\"pp-art__dot\"><\/span><p>Numeric user IDs for everyone in the conversation<\/p><\/div>\n  <div class=\"pp-art__bullet\"><span class=\"pp-art__dot\"><\/span><p>Display names, and in some cases phone numbers, particularly where a contact was shared<\/p><\/div>\n  <div class=\"pp-art__bullet\"><span class=\"pp-art__dot\"><\/span><p>Exact timestamps for every message, down to the second<\/p><\/div>\n  <div class=\"pp-art__bullet\"><span class=\"pp-art__dot\"><\/span><p>The full text of anything ever pasted into the chat, which for many people includes passwords, addresses, booking references and API keys<\/p><\/div>\n  <div class=\"pp-art__bullet\"><span class=\"pp-art__dot\"><\/span><p>Location data from any shared locations<\/p><\/div>\n  <div class=\"pp-art__bullet\"><span class=\"pp-art__dot\"><\/span><p>Filenames and paths for every attachment<\/p><\/div>\n<\/div>\n\n<div class=\"pp-art__warn\">\n  <div class=\"pp-art__warn-eyebrow\">Open it before you upload it anywhere<\/div>\n  <p>A conversation spanning years is a far richer document than people expect, and it contains other people&#8217;s information as well as your own. Two minutes with the file open is worth it.<\/p>\n  <p>The honest test for any service asking for your export is simple: does it tell you what it sends, or only that it is secure? Those are different claims.<\/p>\n<\/div>\n\n<blockquote class=\"pp-art__quote pp-art__quote--display\">An export is a two sided document, and only one of you clicked Export.<\/blockquote>\n\n<p>Worth a thought before it leaves your computer. The other person in that conversation did not choose this, and any service you hand it to inherits their words along with yours.<\/p>\n\n<h2 id=\"what-telegram-does-not-export\">What does Telegram not export?<\/h2>\n<p>Some things are missing by design, and no setting brings them back.<\/p>\n\n<div class=\"pp-art__plaincards\">\n  <div class=\"pp-art__plaincard\"><h3>Secret Chats<\/h3><p>End to end encrypted and stored only on the two devices, so they are never part of a cloud export.<\/p><\/div>\n  <div class=\"pp-art__plaincard\"><h3>Deleted messages<\/h3><p>Once deleted they are gone, for both sides.<\/p><\/div>\n  <div class=\"pp-art__plaincard\"><h3>Self destructing media<\/h3><p>Anything that has already expired is not recoverable through an export.<\/p><\/div>\n<\/div>\n\n<p>If the conversation you want lived in a Secret Chat, the export will come back without it, and that is not a bug.<\/p>\n\n<h2 id=\"why-telegram-warned-your-devices\">Why did Telegram warn your other devices?<\/h2>\n<p>When you request an export, Telegram notifies your other logged in sessions that a data export was requested. This is deliberate. If somebody had gained access to your account, you would find out that they were downloading your history.<\/p>\n<p>The export may also not begin the instant you click. Telegram can hold the request for a period before allowing it to proceed, for the same reason. If nothing seems to happen straight away, that is normal.<\/p>\n\n<h2 id=\"where-the-file-ends-up\">Where does the file end up?<\/h2>\n<p>In the folder you chose, as a directory rather than a single file. Inside you will find <code class=\"pp-art__code\">result.json<\/code> or <code class=\"pp-art__code\">messages.html<\/code> depending on the format, plus subfolders for any media you included. The JSON file is the one an analysis tool will ask for.<\/p>\n\n<p>Once you have the file, <a href=\"\/blog\/what-your-texts-sound-like\">what your texts sound like to everyone else<\/a> covers how to check the tone of your own side of a conversation.<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Can I export Telegram chats on iPhone or Android?<\/summary><p class=\"wp-block-paragraph\">No. Neither mobile app has an export function and it is not hidden in a settings menu. You need Telegram Desktop on a computer. Because your history is stored in Telegram&#8217;s cloud rather than on your handset, you can install Desktop on any computer, sign in, and the full history will be there.<\/p><\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>How long does a Telegram export take?<\/summary><p class=\"wp-block-paragraph\">A text only export of a single conversation usually finishes in seconds to a couple of minutes. Including photos, videos and voice notes can take hours and produce several gigabytes. If you only need the words, untick media before you start.<\/p><\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Why has my export not started?<\/summary><p class=\"wp-block-paragraph\">Telegram can hold an export request for a period before allowing it to proceed, as a security measure against someone who has gained access to your account. Nothing appearing to happen immediately is normal. Leave Telegram Desktop open and it will complete on its own.<\/p><\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Does exporting a chat notify the other person?<\/summary><p class=\"wp-block-paragraph\">No. Telegram notifies your own other logged in sessions that a data export was requested, so you would find out if somebody else were downloading your history. The other participant in the conversation is not told.<\/p><\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Can I export a Secret Chat?<\/summary><p class=\"wp-block-paragraph\">No, and no setting changes this. Secret Chats are end to end encrypted and stored only on the two devices involved, so they never form part of a cloud export. If the conversation you wanted was a Secret Chat, the export will come back without it.<\/p><\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Should I choose JSON or HTML?<\/summary><p class=\"wp-block-paragraph\">Choose HTML if you want to read the archive yourself in a browser. Choose JSON if any tool or script is going to process the conversation, because every message is tagged with its sender, timestamp and type. Most analysis tools expect JSON.<\/p><\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Can I export only part of a conversation?<\/summary><p class=\"wp-block-paragraph\">Yes. Both the single chat export and the account wide export let you set a date range before starting, so you can pull a single year or a single month rather than everything.<\/p><\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Does the export include deleted messages?<\/summary><p class=\"wp-block-paragraph\">No. Once a message is deleted it is gone for both sides and cannot be recovered through an export. The same applies to self destructing media that has already expired.<\/p><\/details>\n\n\n\n<p class=\"wp-block-paragraph\">If your conversations are spread across more than one app, the guide to <a href=\"\/blog\/how-to-export-google-chat-messages\">exporting Google Chat messages<\/a> covers the Google Takeout route, what the archive leaves out, and how long the download link stays alive.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If what you want from the export is a reading rather than an archive, <a href=\"\/blog\/analyse-my-whatsapp-chat-with-ai\">analysing a chat with AI<\/a> sets out what comes back, what it costs, and what leaves your device.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Desktop only, two minutes, JSON or HTML. Here is the exact click path, and what is actually inside the file once you have it.<\/p>\n","protected":false},"author":0,"featured_media":5,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"pp_title_highlight":"Telegram chat history","pp_meta_title":"How to export your Telegram chat history \u00b7 Portraitor","pp_meta_description":"Step by step instructions for exporting a Telegram conversation to JSON or HTML on desktop, why your phone cannot do it, and what is actually inside the file.","pp_sidebar_cta":"{\"variant\": \"dark\", \"heading\": \"Got the file?\", \"bodyHtml\": \"Drop the <code class=\\\"pp-art__code\\\">result.json<\/code> straight in. Anonymized in your browser first, nothing stored.\", \"label\": \"Upload it &rarr;\"}","pp_sources":"[{\"html\": \"Telegram. <em>Chat Export Tool, Better Notifications and More<\/em>. Telegram Blog. States that a chat is exported by opening the menu in any chat and choosing Export chat history, that the result is available as JSON or as HTML, and that Telegram Desktop is required.\", \"href\": \"https:\/\/telegram.org\/blog\/export-and-more\"}, {\"html\": \"Telegram. <em>Telegram FAQ<\/em>. States that the desktop app can be used to export your Telegram data and chats.\", \"href\": \"https:\/\/telegram.org\/faq\"}]","pp_endcard":"{\"h3\": \"You have the file. This is what it was for.\", \"body\": \"Drop the export straight in. It is anonymised in your browser before anything is sent, and nothing is stored on our servers.\", \"label\": \"Upload your export &rarr;\"}","pp_howto":"{\"totalTime\": \"PT5M\", \"steps\": [{\"name\": \"Open Telegram Desktop\", \"text\": \"Open Telegram Desktop on a computer and sign in.\"}, {\"name\": \"Open the conversation\", \"text\": \"Open the conversation you want to export.\"}, {\"name\": \"Open the three dot menu\", \"text\": \"Click the three dot menu in the top right of the chat.\"}, {\"name\": \"Choose Export chat history\", \"text\": \"Choose Export chat history.\"}, {\"name\": \"Pick a format\", \"text\": \"Pick your format, JSON or HTML. See below if you are unsure.\"}, {\"name\": \"Set the range\", \"text\": \"Set a date range if you only want part of it, and untick media if you only need the text.\"}, {\"name\": \"Export\", \"text\": \"Click Export and choose where to save it.\"}]}","footnotes":""},"categories":[2],"tags":[],"class_list":["post-4","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guides"],"_links":{"self":[{"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/posts\/4","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/comments?post=4"}],"version-history":[{"count":4,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/posts\/4\/revisions"}],"predecessor-version":[{"id":54,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/posts\/4\/revisions\/54"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/media\/5"}],"wp:attachment":[{"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/media?parent=4"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/categories?post=4"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/tags?post=4"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}