{"id":82,"date":"2026-10-04T05:54:03","date_gmt":"2026-10-03T21:54:03","guid":{"rendered":"https:\/\/portraitor.ai\/blog\/which-chat-export-files-can-be-analysed"},"modified":"2026-11-04T11:37:39","modified_gmt":"2026-11-04T03:37:39","slug":"which-chat-export-files-can-be-analysed","status":"publish","type":"post","link":"https:\/\/portraitor.ai\/blog\/which-chat-export-files-can-be-analysed","title":{"rendered":"Which chat export files can be analysed, and which cannot"},"content":{"rendered":"\n<p class=\"pp-short wp-block-paragraph\">The uploader takes a .txt, .html, .json or .zip file, and the four apps it guides you through produce exactly those: WhatsApp gives a .txt or .zip, Telegram a .json, and Messenger and Instagram a .zip each. Those are the formats listed on the <a href=\"https:\/\/portraitor.ai\/\">Portraitor<\/a> home page today.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The question that stops most people is not what a portrait says. It is whether the file sitting in their downloads folder is the right one at all. This page answers that, app by app, and says plainly what happens when the answer is no.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What each app actually hands you<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The home page names four platforms and the file each produces. WhatsApp, exported from the phone or the desktop app, gives a .txt or a .zip. Telegram, exported from the desktop app, gives a .json. Messenger gives a .zip through Export your info. Instagram gives a .zip the same way.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The uploader accepts .txt, .html, .json or .zip. That is a wider list than the four apps produce, which is why an export from somewhere else can still work if it comes out in one of those shapes. It is also why a screenshot, a PDF or a spreadsheet does not: none of them is on the list.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Export the conversation from the app it lives in.<\/li><li>Leave the file exactly as the app produced it, zipped or not.<\/li><li>Drop it into the uploader, or paste the text instead if you have no file.<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">There is no step where the file is renamed, converted or unzipped first. A .zip goes in as a .zip.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why a zip is fine, and what is inside it that never gets read<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A chat export is usually a zip because the app has bundled the attachments in with the text. That matters more than it sounds. The <a href=\"https:\/\/portraitor.ai\/privacy\">privacy policy<\/a> says chat exports often contain photographs, videos and voice recordings, that the service never opens them and never transmits them, and that only the written messages are read, on your device, and only their masked text is sent.<\/p>\n\n\n\n<p class=\"pp-aside wp-block-paragraph\">So the zip is a container that gets opened on your own machine, the words are taken out of it, and the rest stays where it is. You are not uploading your photo library by accident. That is a property of how the thing is built, not a setting you have to find.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before any of those words leave the device, the policy says your browser replaces names, email addresses, telephone numbers, postal addresses and credentials with placeholders, that the list matching each placeholder back to a real detail never leaves your device, and that if the masking does not complete then no data is transmitted and the payment is refunded automatically.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">If your conversation is somewhere else<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Four apps are guided. Plenty of conversations are not in those four. The honest answer is that it depends on what you can get out, not on what the app is called: if the export lands as a .txt, .html, .json or .zip, the uploader will take it, and if it does not, it will not.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Google Chat is the worked example of the gap. You can get a clean archive out of it, and the guide to <a href=\"\/blog\/how-to-export-google-chat-messages\">exporting Google Chat messages<\/a> walks through Google Takeout, but Google Chat is not one of the four the product guides you through, so that export is a file to keep rather than a file to analyse. Telegram is the opposite case: the <a href=\"\/blog\/how-to-export-telegram-chat\">Telegram export guide<\/a> produces the .json the uploader expects.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">When you have no file at all<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The home page also offers a paste text route, for the case where exporting is impossible or not worth it. You paste the conversation in rather than uploading anything. The same masking runs on the same device before anything is sent, because that step happens in the browser and does not care whether the words arrived by file or by paste.<\/p>\n\n\n\n<p class=\"pp-warn wp-block-paragraph\">A pasted conversation is only as complete as what you paste, which is the obvious limit and worth saying out loud. A thin selection produces a thin reading.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What happens to a very large export<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The policy is specific about size rather than vague about it. A very large conversation arrives in parts and is held in a temporary file on the server until the analysis request is assembled, at which point it is consumed and deleted. An upload that is abandoned part way becomes unreadable after fifteen minutes and is removed by daily maintenance. Conversation text is never written to the database, the backups or the logs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The practical reading of that: a long export is expected, and an interrupted one does not sit around.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Whether it is worth it for you<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If your conversation is in WhatsApp, Telegram, Messenger or Instagram, the file you already have is almost certainly the right one, and the only question left is whether the output is worth $10 for a single portrait or $19 a month for ten. The page on <a href=\"\/blog\/analyse-my-whatsapp-chat-with-ai\">analysing a chat with AI<\/a> sets out what comes back, and the page on <a href=\"\/blog\/chat-analysis-without-an-account\">buying without an account<\/a> covers what the checkout asks for.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What the analysis will not tell you is published as well. The page on <a href=\"\/blog\/what-chat-analysis-cannot-tell-you\">what a chat analysis cannot tell you about someone<\/a> sets out what stays outside a portrait, starting with anything that was never written down: the policy says chat exports often contain photographs, videos and voice recordings, that the service never opens them and never transmits them, and that only the written messages are read.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The other half of an archive is the part that is not read at all. <a href=\"https:\/\/portraitor.ai\/blog\/what-happens-to-photos-in-a-chat-export\">What happens to the photos in a chat export<\/a> follows the attachments rather than the transcript.<\/p>\n\n\n\n<p class=\"pp-closing wp-block-paragraph\">If it is somewhere else and will not export into one of those four formats, this is not the tool for that conversation, and no amount of converting will make it one. Saying so is cheaper for both of us than a refund.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Size is one way to keep an upload manageable and the time period control is the other. <a href=\"\/blog\/analyse-only-part-of-a-chat\">Analysing only part of a chat<\/a> covers the presets, the custom range, and what narrowing the window does not promise about the messages you leave out.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instagram is the one platform where the export can be narrowed to the messages by themselves, by choosing Specific types of information in Accounts Centre rather than taking the whole account. <a href=\"\/blog\/how-to-export-instagram-messages\">How to export Instagram messages<\/a> covers that route and the window you have to collect the download.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently asked questions<\/h2>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>What file formats does the uploader accept?<\/summary>\n<p class=\"wp-block-paragraph\">It accepts .txt, .html, .json or .zip. The home page lists those four.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Do I need to unzip my WhatsApp export first?<\/summary>\n<p class=\"wp-block-paragraph\">No. A .zip goes in as it is. WhatsApp produces either a .txt or a .zip depending on how you export, and both are on the accepted list.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>What happens to the photos and voice notes inside my export?<\/summary>\n<p class=\"wp-block-paragraph\">Nothing. The privacy policy says photographs, videos and voice recordings are never opened and never transmitted, and that only the written messages are read, on your device.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Can I analyse a chat from an app that is not supported?<\/summary>\n<p class=\"wp-block-paragraph\">Only if its export comes out as .txt, .html, .json or .zip. The four platforms the product guides you through are WhatsApp, Telegram, Messenger and Instagram.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>What if I cannot export at all?<\/summary>\n<p class=\"wp-block-paragraph\">You can paste the conversation in instead. The same masking runs in your browser before anything is sent.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Is there a size limit I should worry about?<\/summary>\n<p class=\"wp-block-paragraph\">The policy says a very large conversation arrives in parts and sits in a temporary file until the request is assembled, then is consumed and deleted. An abandoned upload becomes unreadable after fifteen minutes.<\/p>\n<\/details>\n","protected":false},"excerpt":{"rendered":"<p>Which chat export files can be analysed: the four apps Portraitor guides you through, the formats its uploader accepts, and what happens to the attachments inside.<\/p>\n","protected":false},"author":6,"featured_media":81,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"pp_title_highlight":"can be analysed","pp_meta_title":"","pp_meta_description":"Which chat export files can be analysed: Portraitor takes .txt, .html, .json or .zip, and never opens the photos or voice notes inside a chat export.","pp_sidebar_cta":"{\"variant\": \"light\", \"heading\": \"Zip files are fine\", \"bodyHtml\": \"The attachments inside are <strong>never opened and never transmitted<\/strong>. Only the written messages are read, on your device.\", \"label\": \"See how Portraitor works &rarr;\"}","pp_sources":"[{\"html\": \"Portraitor. <cite>Privacy Policy<\/cite>, version 1.3, 30 September 2026.\", \"href\": \"https:\/\/portraitor.ai\/privacy\"}, {\"html\": \"Portraitor. <cite>Home page<\/cite>, the uploader, the supported platforms and the export file each one produces.\", \"href\": \"https:\/\/portraitor.ai\/\"}]","pp_endcard":"{\"h3\": \"You probably already have the right file.\", \"body\": \"WhatsApp, Telegram, Messenger and Instagram all export into a format the uploader takes. $10 for a single portrait.\", \"label\": \"See how Portraitor works &rarr;\"}","pp_howto":"{\"totalTime\": \"PT3M\", \"steps\": [{\"name\": \"Export the conversation from the app it lives in.\", \"text\": \"Export the conversation from the app it lives in.\"}, {\"name\": \"Leave the file exactly as the app produced it, zipped or not.\", \"text\": \"Leave the file exactly as the app produced it, zipped or not.\"}, {\"name\": \"Drop it into the uploader, or paste the text instead if you have no file.\", \"text\": \"Drop it into the uploader, or paste the text instead if you have no file.\"}]}","footnotes":""},"categories":[3],"tags":[],"class_list":["post-82","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-understanding-yourself"],"_links":{"self":[{"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/posts\/82","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"}],"author":[{"embeddable":true,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/comments?post=82"}],"version-history":[{"count":4,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/posts\/82\/revisions"}],"predecessor-version":[{"id":281,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/posts\/82\/revisions\/281"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/media\/81"}],"wp:attachment":[{"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/media?parent=82"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/categories?post=82"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/tags?post=82"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}