<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: David Galstyan</title>
    <description>The latest articles on DEV Community by David Galstyan (@david_galstyan_b1da54e1e9).</description>
    <link>https://dev.to/david_galstyan_b1da54e1e9</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4226292%2Fb38914e3-ea5a-4a65-802c-a06fe84020d4.png</url>
      <title>DEV Community: David Galstyan</title>
      <link>https://dev.to/david_galstyan_b1da54e1e9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/david_galstyan_b1da54e1e9"/>
    <language>en</language>
    <item>
      <title>How to export a ChatGPT conversation (Markdown, PDF and more)</title>
      <dc:creator>David Galstyan</dc:creator>
      <pubDate>Sun, 08 Nov 2026 21:46:19 +0000</pubDate>
      <link>https://dev.to/david_galstyan_b1da54e1e9/how-to-export-a-chatgpt-conversation-markdown-pdf-and-more-56mf</link>
      <guid>https://dev.to/david_galstyan_b1da54e1e9/how-to-export-a-chatgpt-conversation-markdown-pdf-and-more-56mf</guid>
      <description>&lt;p&gt;You had a great conversation with ChatGPT: a working script, a plan, a long explanation you'll want again next month. Now you want it out of the chat window and into a file you control.&lt;/p&gt;

&lt;p&gt;There are five ways to do it. They differ a lot in what you get back.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. ChatGPT's built-in data export
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Where:&lt;/strong&gt; Settings → Data controls → Export data.&lt;/p&gt;

&lt;p&gt;ChatGPT emails you a link to a zip with &lt;strong&gt;all&lt;/strong&gt; of your conversations, as a &lt;code&gt;chat.html&lt;/code&gt; file and a &lt;code&gt;conversations.json&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good for:&lt;/strong&gt; backups. If you want an archive of everything, this is the official way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not good for:&lt;/strong&gt; saving one chat. You get every conversation in one big file, the email can take a while to arrive, and the HTML isn't something you'd paste into notes or share.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Copy a single reply
&lt;/h2&gt;

&lt;p&gt;Every ChatGPT reply has a copy button under it. It copies that one answer as Markdown, which is handy for grabbing a single code snippet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not good for:&lt;/strong&gt; whole conversations. You copy one message at a time, and your own questions aren't included, so the context is lost.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Select all and paste
&lt;/h2&gt;

&lt;p&gt;Selecting the page and pasting it into a document works in a pinch. Expect to clean up: code blocks lose their language, tables often turn into loose lines of text, math shows up twice (once as formula, once as rendered text), and buttons like "Copy code" end up in the middle of your text.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Print to PDF
&lt;/h2&gt;

&lt;p&gt;Press &lt;strong&gt;Ctrl+P&lt;/strong&gt; (&lt;strong&gt;Cmd+P&lt;/strong&gt; on a Mac) and choose &lt;strong&gt;Save as PDF&lt;/strong&gt;. This works for short chats. On long ones the sidebar and input box often get printed too, and code blocks can be cut off at the page edge.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. An exporter extension
&lt;/h2&gt;

&lt;p&gt;Browser extensions read the conversation from the page and rebuild it as a clean file. This is the option to use when you want one chat, formatted properly, in a few seconds.&lt;/p&gt;

&lt;p&gt;We built &lt;strong&gt;&lt;a href="https://chatgrab.netlify.app/" rel="noopener noreferrer"&gt;ChatGrab&lt;/a&gt;&lt;/strong&gt; for this. Open a chat, click the icon, and choose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Copy Markdown&lt;/strong&gt; or &lt;strong&gt;Download .md&lt;/strong&gt;: free, with code blocks that keep their language, real Markdown tables, and LaTeX math kept as &lt;code&gt;$...$&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PDF, HTML or JSON&lt;/strong&gt; (Pro): a clean, readable document with your questions and the answers clearly marked.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It works the same way on Claude and Gemini, and everything happens inside your browser. The conversation is never uploaded anywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which one should you use?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;You want to…&lt;/th&gt;
&lt;th&gt;Use&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Back up every chat you've ever had&lt;/td&gt;
&lt;td&gt;Built-in data export&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Grab one code snippet&lt;/td&gt;
&lt;td&gt;The copy button under the reply&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Save one chat to Obsidian, Notion or a repo&lt;/td&gt;
&lt;td&gt;Markdown export (ChatGrab)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Send a chat to someone who doesn't use ChatGPT&lt;/td&gt;
&lt;td&gt;PDF export&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Feed chats into your own scripts&lt;/td&gt;
&lt;td&gt;JSON export&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  A small tip for Markdown exports
&lt;/h2&gt;

&lt;p&gt;If you keep notes in Obsidian, turn on &lt;strong&gt;frontmatter&lt;/strong&gt; when exporting. Each file then starts with the title, source, original link and date, so you can search and sort your saved chats like any other note.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>ai</category>
      <category>productivity</category>
      <category>markdown</category>
    </item>
    <item>
      <title>How to paste a web page into ChatGPT or Claude without the clutter</title>
      <dc:creator>David Galstyan</dc:creator>
      <pubDate>Sun, 08 Nov 2026 20:48:53 +0000</pubDate>
      <link>https://dev.to/david_galstyan_b1da54e1e9/how-to-paste-a-web-page-into-chatgpt-or-claude-without-the-clutter-2cej</link>
      <guid>https://dev.to/david_galstyan_b1da54e1e9/how-to-paste-a-web-page-into-chatgpt-or-claude-without-the-clutter-2cej</guid>
      <description>&lt;p&gt;You find a useful article, documentation page or product comparison. You want ChatGPT or Claude to summarize it, answer questions about it or compare it with something else. So you press Ctrl+A, Ctrl+C and paste.&lt;/p&gt;

&lt;p&gt;What the AI actually receives looks more like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Accept all cookies  Manage preferences
Home  News  Tech  Subscribe  Sign in  Menu
ADVERTISEMENT
How context windows changed in 2026
Share  Tweet  Email
Models now read whole repos in one go. See the benchmark for details.
Model Tokens A 1M B 2M
Related stories · Newsletter · Share · Tweet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The navigation, the cookie banner and the "related stories" are all in there. The table has collapsed into one line, so the AI can't tell which number belongs to which model. The link to the benchmark is gone. And every one of those extra words uses up part of the AI's context window.&lt;/p&gt;

&lt;p&gt;Here are three ways to fix it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 1: Select only the part you need
&lt;/h2&gt;

&lt;p&gt;The simplest fix is to highlight just the article text with your mouse and copy that instead of the whole page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Works well when:&lt;/strong&gt; you need a few paragraphs from one page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Falls short when:&lt;/strong&gt; the page has tables, code or links you want to keep. Plain copy-paste usually turns tables into a jumble of words and drops the link addresses. On long pages, selecting exactly the right part is also tedious.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 2: Paste the link and let the AI read it
&lt;/h2&gt;

&lt;p&gt;Many AI chats can open a web address themselves. You paste the URL and ask your question.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Works well when:&lt;/strong&gt; the page is public and simple.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Falls short when:&lt;/strong&gt; the page is behind a login (your company wiki, a course platform, a paywalled article you subscribe to), blocks automated visitors, or loads its content with JavaScript. You also can't see exactly what the AI read, so you don't know whether it got the whole page or just the menu.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 3: Convert the page to Markdown first
&lt;/h2&gt;

&lt;p&gt;Markdown is a plain-text format that keeps the structure of a page: &lt;code&gt;#&lt;/code&gt; for headings, &lt;code&gt;[text](link)&lt;/code&gt; for links, &lt;code&gt;|&lt;/code&gt; pipes for tables and fenced blocks for code. Language models are trained on huge amounts of it, so they read it very reliably, and it uses far fewer tokens than raw HTML.&lt;/p&gt;

&lt;p&gt;The same page as Markdown:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# How context windows changed in 2026&lt;/span&gt;

Source: https://news.example.com/context-windows

Models now read &lt;span class="gs"&gt;**whole repos**&lt;/span&gt; in one go. See the
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;benchmark&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://news.example.com/bench&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; for details.

| Model | Tokens |
| --- | --- |
| A | 1M |
| B | 2M |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The menus and banners are gone, the table still works and the link survives. This is the version you want the AI to see.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Works well when:&lt;/strong&gt; you care about tables, code, links, or long pages, or the AI can't open the page itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to do it in one step with MarkGrab
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://chromewebstore.google.com/detail/markgrab-%E2%80%93-copy-any-page/dppafmammmmndlnikkngbjaeegmdlacp" rel="noopener noreferrer"&gt;MarkGrab&lt;/a&gt; is a free Chrome extension I built for exactly this.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install MarkGrab from the Chrome Web Store.&lt;/li&gt;
&lt;li&gt;Open the page you want.&lt;/li&gt;
&lt;li&gt;Press &lt;strong&gt;Alt+Shift+M&lt;/strong&gt; (⌥⇧M on a Mac), or right-click and choose &lt;strong&gt;Copy page as Markdown&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Paste into ChatGPT, Claude, Gemini, Notion or Obsidian.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It strips navigation, ads and citation clutter, keeps links as full URLs, preserves code blocks with their language and converts HTML tables into Markdown tables. It also tells you roughly how many tokens you're about to paste. Everything happens locally in your browser; the page content is never sent to a server.&lt;/p&gt;

&lt;p&gt;To copy just a section, highlight it first and choose &lt;strong&gt;Copy selection as Markdown&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tips for better answers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Trim before you ask.&lt;/strong&gt; If you only need one section, copy only that section. Less noise means more focused answers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch the token count.&lt;/strong&gt; Very long pages can push older parts of your conversation out of the AI's memory. If a page is huge, paste it in parts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep the source line.&lt;/strong&gt; MarkGrab adds the page title and URL at the top, so the AI can cite where the information came from.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comparing several pages?&lt;/strong&gt; Open them in tabs and copy them all into one document (a MarkGrab Pro feature), separated by &lt;code&gt;---&lt;/code&gt;, then ask the AI to compare.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is Markdown better than plain text for AI?&lt;/strong&gt;&lt;br&gt;
For anything with structure, yes. Plain text loses headings, tables and links. Markdown keeps them in a compact form models handle well.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can't I just paste the HTML source?&lt;/strong&gt;&lt;br&gt;
You can, but HTML is full of tags, scripts and styling that waste tokens and distract the model. Markdown carries the same content in a fraction of the size.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does MarkGrab work on pages that need a login?&lt;/strong&gt;&lt;br&gt;
Yes. It reads the page as you see it in your browser, so it works on anything you can open, including internal tools and subscription sites.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://markgrab.netlify.app/paste-web-page-into-chatgpt" rel="noopener noreferrer"&gt;markgrab.netlify.app&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>chatgpt</category>
      <category>productivity</category>
      <category>markdown</category>
    </item>
  </channel>
</rss>
