Gemini Exporter – Save Chats Directly to Notion, Docs, Word, and PDF

Posted by backrun 3 hours ago

Counter4Comment3OpenOriginal

Comments

Comment by backrun 3 hours ago

I built Gemini Exporter because I use Gemini daily for research and coding, but getting the formatted output—especially complex markdown, tables, and code blocks—into my workspace was a frustrating copy-paste exercise that often broke the formatting.

It's a browser extension that injects export options directly into the Gemini UI, allowing you to push conversations to Notion, Google Docs, or download them as Word/PDF files with a single click.

How it works: > Under the hood, it parses the chat DOM to extract the raw markdown and context. For local exports (PDF/Word), the file generation is handled entirely client-side. For cloud exports (Notion/Google Docs), it connects to their respective APIs, ensuring the markdown syntax is properly converted into Notion blocks or Google Docs formatting.

A note on privacy: > Since chat history can contain sensitive data, privacy was a priority. The extension does not collect, track, or route your conversations through any middleman servers. Everything is processed locally in your browser, and API keys (like your Notion integration token) are stored strictly in your local browser storage.

I'd love for you to try it out. I’m currently looking for feedback on how it handles complex code snippets or edge-case formatting. Happy to answer any technical questions about building it or the DOM parsing process!

Comment by quysala1 3 hours ago

Gemini Exporter looks quite practical, especially the local-first privacy model. I’m curious how Gemini Exporter handles long-term DOM changes and tricky formatting cases like nested markdown, large tables, and complex code blocks, because that is usually where these tools win or lose.

Comment by backrun 8 minutes ago

Good question — that is exactly where tools like this either become useful or fall apart.

For DOM changes, I try not to couple the parser too tightly to fragile selectors. The extraction layer leans more on structural patterns in the rendered chat tree, and I keep the export pipeline separate from the Gemini-specific parsing so I can update that layer without rewriting the whole exporter.

For tricky formatting cases:

nested markdown is normalized into an intermediate representation first, then mapped to Word, PDF, Google Docs, or Notion

code blocks are preserved as their own block type so they do not get flattened into regular paragraph text

large tables are probably the weakest area right now, especially when Gemini renders them inconsistently or with wrapped cells

I am also building a small regression set from real chats, so when Gemini changes something in the UI I can catch breakage faster instead of fixing issues one by one.

Still early, so I would not claim every edge case is solved yet. The goal is to fail gracefully: preserve the content first, then keep as much structure as possible.

If you have a nasty sample with nested markdown, wide tables, or code-heavy output, I would genuinely love to test against it.