<?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: mdgd</title>
    <description>The latest articles on DEV Community by mdgd (@md2gd).</description>
    <link>https://dev.to/md2gd</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%2F4101931%2F408f48fc-a9e3-480f-9c69-f2844e9c4974.png</url>
      <title>DEV Community: mdgd</title>
      <link>https://dev.to/md2gd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/md2gd"/>
    <language>en</language>
    <item>
      <title>Google Docs to Obsidian: Import as Clean Markdown</title>
      <dc:creator>mdgd</dc:creator>
      <pubDate>Thu, 17 Sep 2026 13:15:00 +0000</pubDate>
      <link>https://dev.to/md2gd/google-docs-to-obsidian-import-as-clean-markdown-30o0</link>
      <guid>https://dev.to/md2gd/google-docs-to-obsidian-import-as-clean-markdown-30o0</guid>
      <description>&lt;p&gt;You have a Google Doc, maybe shared notes, a spec, or a draft someone sent you, and you want it in your Obsidian vault as a proper Markdown note. There are a few ways to do this, and they differ mostly in how much cleanup you are left with afterward. Here are the options from fastest to cleanest, what each one gets wrong, and what to do when the Doc keeps changing after you import it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The fast way: native export
&lt;/h2&gt;

&lt;p&gt;Google Docs can export Markdown directly:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the Doc.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;File&lt;/strong&gt;, then &lt;strong&gt;Download&lt;/strong&gt;, then &lt;strong&gt;Markdown (.md)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Move the downloaded &lt;code&gt;.md&lt;/code&gt; file into your Obsidian vault folder.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That is the quickest route and it needs no add-ons. It handles headings, emphasis, lists, and links well. The catches: tables and some structure do not round-trip cleanly, images are not pulled into your vault as attachments, comments are not carried over, and you get no control over the output style or front matter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cleaner conversions, compared
&lt;/h2&gt;

&lt;p&gt;If the native export leaves too much cleanup, these are the common alternatives:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Handles well&lt;/th&gt;
&lt;th&gt;Leaves you with&lt;/th&gt;
&lt;th&gt;Best for&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;File, Download, Markdown&lt;/td&gt;
&lt;td&gt;Headings, lists, links&lt;/td&gt;
&lt;td&gt;Table and image cleanup&lt;/td&gt;
&lt;td&gt;A quick one-off import&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Docs to Markdown add-on&lt;/td&gt;
&lt;td&gt;Headings, lists, links&lt;/td&gt;
&lt;td&gt;Tables as HTML, fixed syntax&lt;/td&gt;
&lt;td&gt;People already using the add-on&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;a href="https://md2gd.com/tools/google-doc-to-markdown" rel="noopener noreferrer"&gt;Google Doc to Markdown&lt;/a&gt; tool&lt;/td&gt;
&lt;td&gt;Inline formatting, no install&lt;/td&gt;
&lt;td&gt;Manual image handling&lt;/td&gt;
&lt;td&gt;A clean browser conversion&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pandoc via .docx&lt;/td&gt;
&lt;td&gt;High structural fidelity&lt;/td&gt;
&lt;td&gt;Non-native styling, manual steps&lt;/td&gt;
&lt;td&gt;Batch or scripted conversion&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The Docs to Markdown add-on is popular but &lt;a href="https://md2gd.com/blog/convert-google-doc-to-markdown" rel="noopener noreferrer"&gt;outputs tables as HTML&lt;/a&gt; rather than Markdown table syntax, which is awkward inside a Markdown vault. Pandoc gives the best structural fidelity but the round trip through &lt;code&gt;.docx&lt;/code&gt; leaves styling to tidy up. For a no-install conversion, the &lt;a href="https://md2gd.com/tools/google-doc-to-markdown" rel="noopener noreferrer"&gt;Google Doc to Markdown&lt;/a&gt; tool covers most content in the browser. There is a fuller walkthrough in &lt;a href="https://md2gd.com/blog/convert-google-doc-to-markdown" rel="noopener noreferrer"&gt;how to convert a Google Doc to Markdown cleanly&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Handling images, tables, and front matter
&lt;/h2&gt;

&lt;p&gt;A few things always need attention when a Doc lands in Obsidian:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Images.&lt;/strong&gt; Native export does not save images as vault attachments. Download them from the Doc separately and place them in your attachments folder, then fix the links.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tables.&lt;/strong&gt; Check every table after import. This is where all the methods struggle most.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Front matter.&lt;/strong&gt; Obsidian works best when a note has YAML front matter for tags and metadata. No export adds this, so you add it by hand or with a template.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The catch: import is a one-time copy
&lt;/h2&gt;

&lt;p&gt;Every method above produces a snapshot. It is correct the moment you export and stale the moment anyone edits the Doc again. That is fine for a document that is finished, and a problem for one that is not:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Doc is a shared, living document your team keeps editing.&lt;/li&gt;
&lt;li&gt;You want your vault to reflect the latest version without re-exporting.&lt;/li&gt;
&lt;li&gt;You also edit the note locally and want those edits to show up in the Doc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In those cases you are back to exporting and re-importing by hand, and reconciling changes yourself. The conversion is easy; keeping the two copies in agreement is the actual work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keeping a Doc and a vault note in sync
&lt;/h2&gt;

&lt;p&gt;The alternative to re-exporting is two-way sync: the Google Doc stays a real, shareable Doc that people comment in, the note stays a Markdown file in your vault, and edits flow both directions automatically.&lt;/p&gt;

&lt;p&gt;That is what &lt;a href="https://md2gd.com/" rel="noopener noreferrer"&gt;md2gd&lt;/a&gt; does. You keep the Doc your collaborators already use, your vault gets a live Markdown copy instead of a stale export, and you stop re-downloading the file every time it changes. If the Doc you are importing is one that keeps evolving, sync is what turns a one-time import into a note that stays current. It fits naturally alongside &lt;a href="https://md2gd.com/blog/obsidian-vs-google-docs" rel="noopener noreferrer"&gt;Obsidian, which is the better home for the writing&lt;/a&gt; while Google Docs stays the place for review.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;How do I convert a Google Doc to Markdown for Obsidian?&lt;/strong&gt;&lt;br&gt;
Use &lt;strong&gt;File&lt;/strong&gt;, then &lt;strong&gt;Download&lt;/strong&gt;, then &lt;strong&gt;Markdown (.md)&lt;/strong&gt; and move the file into your vault. For cleaner output, use the &lt;a href="https://md2gd.com/tools/google-doc-to-markdown" rel="noopener noreferrer"&gt;Google Doc to Markdown&lt;/a&gt; tool or the Docs to Markdown add-on, then check tables and images.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does Google Docs export Markdown natively?&lt;/strong&gt;&lt;br&gt;
Yes. Since 2024 you can download a Doc as a &lt;code&gt;.md&lt;/code&gt; file directly. It handles most inline formatting but does not preserve tables reliably, does not save images as attachments, and does not carry comments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why do tables break when I import a Google Doc into Obsidian?&lt;/strong&gt;&lt;br&gt;
Google's export and the common add-ons do not map Doc tables to Markdown table syntax reliably; the add-on outputs HTML instead. Review and fix tables after any import.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I keep an Obsidian note in sync with a Google Doc?&lt;/strong&gt;&lt;br&gt;
Not with export alone, since it produces a static copy. &lt;a href="https://md2gd.com/" rel="noopener noreferrer"&gt;md2gd&lt;/a&gt; provides two-way sync so the note and the Doc stay current with each other automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;p&gt;For a finished document, download it as Markdown and drop it in your vault, then fix tables, images, and front matter. For a document that keeps changing, a one-time import goes stale fast, and &lt;a href="https://md2gd.com/" rel="noopener noreferrer"&gt;two-way sync&lt;/a&gt; is what keeps your vault note and the Google Doc in agreement. Start with the &lt;a href="https://md2gd.com/tools" rel="noopener noreferrer"&gt;free tools&lt;/a&gt; for the conversion itself.&lt;/p&gt;

</description>
      <category>obsidian</category>
      <category>markdown</category>
      <category>googledocs</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to Keep Markdown and Google Docs in Sync (Two-Way)</title>
      <dc:creator>mdgd</dc:creator>
      <pubDate>Tue, 15 Sep 2026 13:15:15 +0000</pubDate>
      <link>https://dev.to/md2gd/how-to-keep-markdown-and-google-docs-in-sync-two-way-5g3h</link>
      <guid>https://dev.to/md2gd/how-to-keep-markdown-and-google-docs-in-sync-two-way-5g3h</guid>
      <description>&lt;p&gt;Most people who search for a way to move Markdown into Google Docs are not looking for a converter. They are looking for a converter for the second time. They pasted the Markdown last week, someone edited the Doc, they changed the Markdown, and now the two have drifted apart. A one-time conversion is a snapshot, and a snapshot is out of date the moment either side changes. This post is about the thing you actually want when the same document keeps moving back and forth: two-way sync between a Markdown file and a genuine Google Doc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a one-time conversion never stays in sync
&lt;/h2&gt;

&lt;p&gt;Converting is a copy. Whether you paste Markdown into a Doc or export a Doc back to Markdown, you produce a new artifact that has no connection to the original. From that instant there are two documents, and every edit on either side widens the gap between them.&lt;/p&gt;

&lt;p&gt;The workarounds all have the same shape and the same failure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Re-paste every time.&lt;/strong&gt; Fast for one edit, miserable as a habit, and it silently discards any changes made on the other side.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pick a winner and re-export.&lt;/strong&gt; Declaring one side authoritative and regenerating the other throws away real edits made on the loser.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reconcile by hand.&lt;/strong&gt; Diffing two documents by eye is exactly the manual work you were trying to avoid.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you only need the content in the other format once, a converter is the right tool. Our &lt;a href="https://md2gd.com/tools" rel="noopener noreferrer"&gt;free tools&lt;/a&gt; cover both directions: &lt;a href="https://md2gd.com/tools/markdown-to-google-docs" rel="noopener noreferrer"&gt;Markdown to Google Docs&lt;/a&gt; and &lt;a href="https://md2gd.com/tools/google-doc-to-markdown" rel="noopener noreferrer"&gt;Google Doc to Markdown&lt;/a&gt;. The point of this post is what to do when "once" turns into "again," and then "again."&lt;/p&gt;

&lt;h2&gt;
  
  
  What two-way sync actually means
&lt;/h2&gt;

&lt;p&gt;Two-way sync makes the Google Doc a live view of the Markdown file rather than a copy of it. You link a local &lt;code&gt;.md&lt;/code&gt; file to a specific Doc once. After that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Edit the Markdown in your editor and the Doc updates.&lt;/li&gt;
&lt;li&gt;Edit the Doc in the browser and the Markdown file updates.&lt;/li&gt;
&lt;li&gt;Neither side is a lossy import artifact. The Doc stays a real, native Google Doc with comments, suggestions, and the mobile app, and the Markdown stays a plain file with full history in git.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nobody copies content back and forth, and there is no second version quietly going stale. That is the difference between converting and syncing: a conversion ends, a sync keeps running.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the sync stays sane: block by block
&lt;/h2&gt;

&lt;p&gt;The naive version of sync, replacing the whole Doc whenever the file changes, would stomp on anyone editing the Doc at the same time. Real two-way sync works at the level of blocks (a paragraph, a heading, a list item, a table) rather than the whole document. Non-overlapping edits on the two sides simply both land: you rewrite the intro in your editor while a reviewer fixes a typo in section three, and both changes survive.&lt;/p&gt;

&lt;p&gt;The only genuinely hard case is when both sides change the &lt;em&gt;same&lt;/em&gt; block between syncs. That needs a defined rule instead of a guess. In &lt;a href="https://md2gd.com" rel="noopener noreferrer"&gt;md2gd&lt;/a&gt; the Doc wins and your local version is set aside as a diff you can inspect, so nothing is silently lost. You run a resolve step to keep either side or hand-merge. The important property is that a conflict is surfaced and preserved, never overwritten in the dark.&lt;/p&gt;

&lt;h2&gt;
  
  
  One-time convert versus two-way sync
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concern&lt;/th&gt;
&lt;th&gt;One-time convert&lt;/th&gt;
&lt;th&gt;Two-way sync&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;What it produces&lt;/td&gt;
&lt;td&gt;A fresh copy&lt;/td&gt;
&lt;td&gt;A live link between two documents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stays current&lt;/td&gt;
&lt;td&gt;No, stale on the next edit&lt;/td&gt;
&lt;td&gt;Yes, both sides track each other&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Edits on the other side&lt;/td&gt;
&lt;td&gt;Lost on re-convert&lt;/td&gt;
&lt;td&gt;Merged block by block&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Source of truth&lt;/td&gt;
&lt;td&gt;Ambiguous, two versions&lt;/td&gt;
&lt;td&gt;The Markdown file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Doc&lt;/td&gt;
&lt;td&gt;An import artifact&lt;/td&gt;
&lt;td&gt;A genuine native Doc&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Right when&lt;/td&gt;
&lt;td&gt;You need the content once&lt;/td&gt;
&lt;td&gt;The same doc keeps moving&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  When you need sync, and when you do not
&lt;/h2&gt;

&lt;p&gt;Reach for a converter when the job is genuinely one-off: a colleague sends you a Doc and you want it as Markdown, or you have a finished README you want to drop into a Doc once and never touch again. There is no reason to link files you will not edit again.&lt;/p&gt;

&lt;p&gt;Reach for sync when the same document lives in two places at once and both keep changing. Common cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A spec or PRD written in Markdown that non-engineers need to review and comment on in a Doc. This is the docs-as-code review loop, covered in depth in &lt;a href="https://md2gd.com/blog/docs-as-code-google-docs-review-loop" rel="noopener noreferrer"&gt;Docs-as-Code With Google Docs in the Review Loop&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Notes or documentation you draft in a Markdown editor but share with a team that lives in Google Docs.&lt;/li&gt;
&lt;li&gt;Content generated as Markdown by an assistant that a human then reviews in a Doc, covered in &lt;a href="https://md2gd.com/blog/ai-agents-write-to-google-docs" rel="noopener noreferrer"&gt;Let AI Agents Write to Google Docs Your Team Reviews&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are unsure whether the formatting even survives the trip, &lt;a href="https://md2gd.com/blog/google-docs-markdown-what-works" rel="noopener noreferrer"&gt;Google Docs Markdown: what works, what breaks&lt;/a&gt; walks through which elements convert cleanly in each direction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting started
&lt;/h2&gt;

&lt;p&gt;The mental model is one command to link, then nothing. You point the client at a local Markdown file and pair it with a new or existing Doc:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;md2gd add spec.md &lt;span class="nt"&gt;--create&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From there both sides are live. Agents and editors keep working on the &lt;code&gt;.md&lt;/code&gt; file, people edit and comment in the Doc, and edits flow both ways in the background. You can list what is linked at any time:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;md2gd &lt;span class="nb"&gt;ls&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is the whole workflow. There is no dashboard to babysit and no export step to remember, because the sync is the feature, not a button you press.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Can Google Docs stay in sync with a Markdown file automatically?&lt;/strong&gt;&lt;br&gt;
Not on its own. Google Docs can import and export Markdown as a one-time conversion, but it does not keep an external &lt;code&gt;.md&lt;/code&gt; file and a Doc matched over time. Ongoing two-way sync is what &lt;a href="https://md2gd.com" rel="noopener noreferrer"&gt;md2gd&lt;/a&gt; adds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is a synced Google Doc still a normal Doc?&lt;/strong&gt;&lt;br&gt;
Yes. Sync keeps it a genuine native Google Doc with full comments, suggestions, sharing, and the mobile app, rather than a lossy import.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What happens if both the Markdown and the Doc change the same paragraph?&lt;/strong&gt;&lt;br&gt;
That is the one case that needs a rule. The Doc wins and your local version is preserved as a diff to resolve, so no edit is lost silently. Non-overlapping edits on the two sides both land automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I have to move my whole workflow into a new app?&lt;/strong&gt;&lt;br&gt;
No. You keep your Markdown editor and your Google Docs. Sync runs from a small local client and gets out of the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  The takeaway
&lt;/h2&gt;

&lt;p&gt;If you have converted the same document more than once, you do not have a conversion problem, you have a sync problem. A converter produces a snapshot that is stale on the next edit. Two-way sync keeps a Markdown file and a real Google Doc matched, block by block, so you stop re-pasting and nothing drifts. Start with the &lt;a href="https://md2gd.com/tools" rel="noopener noreferrer"&gt;free tools&lt;/a&gt; when you need a one-off, and link the file with &lt;a href="https://md2gd.com" rel="noopener noreferrer"&gt;md2gd&lt;/a&gt; when "once" turns into "again."&lt;/p&gt;

</description>
      <category>markdown</category>
      <category>googledocs</category>
      <category>productivity</category>
      <category>tools</category>
    </item>
    <item>
      <title>Obsidian vs Google Docs: An Honest Comparison</title>
      <dc:creator>mdgd</dc:creator>
      <pubDate>Thu, 10 Sep 2026 13:15:00 +0000</pubDate>
      <link>https://dev.to/md2gd/obsidian-vs-google-docs-an-honest-comparison-28bi</link>
      <guid>https://dev.to/md2gd/obsidian-vs-google-docs-an-honest-comparison-28bi</guid>
      <description>&lt;p&gt;Obsidian and Google Docs get compared as if you have to pick one, but they were built for different jobs. Obsidian is a local, file-based Markdown knowledge base. Google Docs is a cloud document you share and edit with other people. Most people who ask which is better actually want the strengths of both. Here is an honest comparison, who each tool is for, and how to work across the two without living in a copy-paste loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short answer
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Obsidian&lt;/th&gt;
&lt;th&gt;Google Docs&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Storage&lt;/td&gt;
&lt;td&gt;Local Markdown files you own&lt;/td&gt;
&lt;td&gt;Google's cloud&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Format&lt;/td&gt;
&lt;td&gt;Plain-text Markdown&lt;/td&gt;
&lt;td&gt;Proprietary document model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best at&lt;/td&gt;
&lt;td&gt;Personal notes, linking, long-term knowledge&lt;/td&gt;
&lt;td&gt;Real-time collaboration and review&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collaboration&lt;/td&gt;
&lt;td&gt;Limited, add-on based&lt;/td&gt;
&lt;td&gt;Native, real-time, comments and suggestions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sharing&lt;/td&gt;
&lt;td&gt;Manual export or paid publish&lt;/td&gt;
&lt;td&gt;A link anyone can open&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Works offline&lt;/td&gt;
&lt;td&gt;Yes, fully&lt;/td&gt;
&lt;td&gt;Limited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost&lt;/td&gt;
&lt;td&gt;Free for personal use&lt;/td&gt;
&lt;td&gt;Free with a Google account&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Obsidian is the better place to write and keep knowledge. Google Docs is the better place to share a document with people who just want to read and comment. Neither replaces the other cleanly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Obsidian wins
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;You own the files.&lt;/strong&gt; Your notes are Markdown files in a folder on your disk, not rows in someone's database. You can back them up, put them in git, and read them in any editor.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Linking and structure.&lt;/strong&gt; Backlinks, tags, and the graph view are built for connecting ideas over time, which is a different activity from writing one document.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speed and offline.&lt;/strong&gt; It is a local app, so it is fast and works with no connection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extensible.&lt;/strong&gt; A large community plugin ecosystem covers everything from Kanban boards to citations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy.&lt;/strong&gt; By default nothing leaves your machine.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes Obsidian a strong fit for developers, researchers, and writers who want a durable, private, plain-text home for their thinking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Google Docs wins
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Real-time collaboration.&lt;/strong&gt; Several people edit the same document at once, and you see cursors move.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comments and suggestions.&lt;/strong&gt; Reviewers can leave a comment or a tracked suggestion without touching your text. This is the feature that keeps teams on Google Docs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sharing is a link.&lt;/strong&gt; Anyone with the link can open the document, no install and no account setup.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Non-technical reviewers.&lt;/strong&gt; A manager or client who has never heard of Markdown can open a Doc and start commenting immediately.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mobile and ubiquity.&lt;/strong&gt; It runs anywhere and most teams already use it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes Google Docs the default for anything that has to be reviewed or co-written with other people.&lt;/p&gt;

&lt;h2&gt;
  
  
  The real friction: moving between them
&lt;/h2&gt;

&lt;p&gt;The problem shows up the moment your Obsidian note needs a human review. You paste it into a Google Doc and the formatting falls apart: headings might survive, but tables become a row of pipes and code blocks keep their backticks. Google Docs added a &lt;a href="https://md2gd.com/blog/google-docs-markdown-what-works" rel="noopener noreferrer"&gt;native Markdown paste in 2024&lt;/a&gt;, but it still drops tables, code, and comments, and it only runs one direction.&lt;/p&gt;

&lt;p&gt;Going the other way is just as lossy. Exporting a Google Doc back to Markdown for your vault loses table formatting and does not preserve comments. We cover the cleanest paths for that in &lt;a href="https://md2gd.com/blog/google-docs-to-obsidian" rel="noopener noreferrer"&gt;Google Docs to Obsidian&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For a one-time move, the free converters handle most of it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://md2gd.com/tools/markdown-to-google-docs" rel="noopener noreferrer"&gt;Markdown to Google Docs&lt;/a&gt; to turn a note into a clean Doc, tables included.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://md2gd.com/tools/google-doc-to-markdown" rel="noopener noreferrer"&gt;Google Doc to Markdown&lt;/a&gt; to pull a Doc back into your vault.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  You do not have to choose
&lt;/h2&gt;

&lt;p&gt;The either-or framing is the mistake. The setup that holds up is to keep writing in Obsidian, where your Markdown lives, and share the same content as a real Google Doc when it needs review, with changes flowing both ways.&lt;/p&gt;

&lt;p&gt;That is what &lt;a href="https://md2gd.com" rel="noopener noreferrer"&gt;md2gd&lt;/a&gt; is built for. Your note stays a Markdown file you own, the shared version stays a genuine Google Doc your reviewers can comment and suggest in, and edits made on either side sync to the other. You keep Obsidian's local files and git history, your reviewers keep the full Google Docs experience, and nobody pastes content back and forth. If your work starts in Obsidian but has to be reviewed by people who live in Google Docs, that is the workflow to reach for. It is the same pattern teams use for &lt;a href="https://md2gd.com/blog/docs-as-code-google-docs-review-loop" rel="noopener noreferrer"&gt;docs-as-code with Google Docs in the review loop&lt;/a&gt;.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Is Obsidian better than Google Docs?&lt;/strong&gt;&lt;br&gt;
For personal notes, linked knowledge, and owning your files, Obsidian is better. For collaboration, comments, and sharing with non-technical people, Google Docs is better. They serve different purposes, so many people use both.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can Obsidian collaborate in real time like Google Docs?&lt;/strong&gt;&lt;br&gt;
Not natively in the same way. Obsidian's collaboration options are add-on based and aimed at smaller groups. Google Docs is built for real-time multi-person editing, which is why documents that need review tend to end up there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I share an Obsidian note with someone who uses Google Docs?&lt;/strong&gt;&lt;br&gt;
Convert it with &lt;a href="https://md2gd.com/tools/markdown-to-google-docs" rel="noopener noreferrer"&gt;Markdown to Google Docs&lt;/a&gt; for a one-time share, or use two-way sync so the note stays a Markdown file while the shared copy is a live Google Doc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does pasting from Obsidian into Google Docs keep formatting?&lt;/strong&gt;&lt;br&gt;
Basic headings and emphasis usually survive, but tables and code blocks break. Enable Markdown paste in Google Docs or convert the note first for a clean result.&lt;/p&gt;

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

&lt;p&gt;Use Obsidian to write and keep knowledge, and use Google Docs to collaborate and get feedback. The tension only appears when the same content has to live in both, and that is a sync problem, not a reason to abandon either tool. Start with the &lt;a href="https://md2gd.com/tools" rel="noopener noreferrer"&gt;free conversion tools&lt;/a&gt; for one-off moves, and use &lt;a href="https://md2gd.com/" rel="noopener noreferrer"&gt;two-way sync&lt;/a&gt; when the same document keeps changing in both places.&lt;/p&gt;

</description>
      <category>obsidian</category>
      <category>googledocs</category>
      <category>productivity</category>
      <category>writing</category>
    </item>
    <item>
      <title>Let AI Agents Write to Google Docs Your Team Reviews</title>
      <dc:creator>mdgd</dc:creator>
      <pubDate>Tue, 08 Sep 2026 13:15:00 +0000</pubDate>
      <link>https://dev.to/md2gd/let-ai-agents-write-to-google-docs-your-team-reviews-534a</link>
      <guid>https://dev.to/md2gd/let-ai-agents-write-to-google-docs-your-team-reviews-534a</guid>
      <description>&lt;p&gt;AI coding assistants and agents write Markdown. It is their native output for a spec, a design doc, release notes, or a report. The people who need to read and sign off on that output rarely live in Markdown. They live in Google Docs, where they can comment, suggest, and share with one link. So on every run there is a handoff: take the agent's Markdown and get it in front of humans in a Doc, then get their feedback back to the agent. This post is about making that handoff a background sync instead of a manual re-paste on every iteration.&lt;/p&gt;

&lt;h2&gt;
  
  
  The re-paste tax on every agent run
&lt;/h2&gt;

&lt;p&gt;The obvious workflow is also the painful one. The agent regenerates the document, you paste the Markdown into a Google Doc, people comment, you read the comments, you feed them back to the agent, the agent regenerates, and you paste again. Every loop pays a tax:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Re-pasting on each run.&lt;/strong&gt; A converter is fine once. On the tenth regeneration it is a chore, and it is easy to paste a stale version.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lost review context.&lt;/strong&gt; Each fresh paste can blow away the comments and suggestions reviewers left on the previous version, so the discussion resets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Two drifting versions.&lt;/strong&gt; The agent's latest Markdown and the Doc people actually edited are never quite the same document.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the paste itself is what breaks (headings flattening, code blocks mangling), that is a separate and common problem covered in &lt;a href="https://md2gd.com/blog/ai-markdown-breaks-in-google-docs" rel="noopener noreferrer"&gt;Why AI-Generated Markdown Breaks When Pasted Into Google Docs&lt;/a&gt;. This post assumes the paste works and asks the next question: why paste at all, every single run?&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep agents on local Markdown
&lt;/h2&gt;

&lt;p&gt;There is a temptation to have the agent write directly to the Google Docs API. It is usually the wrong move. Round-tripping every draft through a document API makes each iteration slower, ties the agent to network calls and quota, and spends tokens describing document structure the agent does not need to reason about. Agents are fastest and cheapest when they read and write plain &lt;code&gt;.md&lt;/code&gt; on disk.&lt;/p&gt;

&lt;p&gt;So keep the division of labor clean:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The agent stays local.&lt;/strong&gt; It reads and writes a Markdown file, with no Google round-trips in its loop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The humans stay in Google Docs.&lt;/strong&gt; They review, comment, and suggest in a real Doc with the tools they already use.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sync is the bridge between them.&lt;/strong&gt; The generated Markdown and the reviewed Doc stay matched without either side changing how it works.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The loop, closed by sync
&lt;/h2&gt;

&lt;p&gt;Link the agent's output file to a Doc once, and the iteration loop closes itself:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The agent writes or regenerates the Markdown file locally.&lt;/li&gt;
&lt;li&gt;Two-way sync pushes the changes into the linked Google Doc, block by block, without disturbing the parts reviewers are working on.&lt;/li&gt;
&lt;li&gt;Reviewers comment and edit in the Doc, exactly as they would with any shared document.&lt;/li&gt;
&lt;li&gt;Their edits flow back into the Markdown file, so the agent's next run starts from the reviewed text, not a stale copy.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No one pastes anything. The agent never has to see Google, and the reviewers never have to see the repo or the terminal. This is the same review-loop idea behind &lt;a href="https://md2gd.com/blog/docs-as-code-google-docs-review-loop" rel="noopener noreferrer"&gt;docs-as-code with Google Docs&lt;/a&gt;, applied when the author is a machine instead of a person.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why keep the real Doc
&lt;/h2&gt;

&lt;p&gt;It is worth being explicit about why the target is a genuine Google Doc and not a custom review UI. Reviewers already know Google Docs. They have the comment threads, the suggestion mode, the sharing model, the mobile app, and the notifications. A synced Doc gives an agent workflow a review surface that non-technical stakeholders adopt instantly, because there is nothing new to adopt. The Markdown stays the source of truth for the agent, and the Doc stays the review surface for people, and neither has to compromise.&lt;/p&gt;

&lt;h2&gt;
  
  
  Naive paste versus synced agent output
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concern&lt;/th&gt;
&lt;th&gt;Paste on each run&lt;/th&gt;
&lt;th&gt;Synced agent output&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Effort per iteration&lt;/td&gt;
&lt;td&gt;Manual re-paste every time&lt;/td&gt;
&lt;td&gt;None, sync runs in the background&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reviewer comments&lt;/td&gt;
&lt;td&gt;Reset on each paste&lt;/td&gt;
&lt;td&gt;Persist on the living Doc&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agent speed and cost&lt;/td&gt;
&lt;td&gt;API detours or repeated paste&lt;/td&gt;
&lt;td&gt;Agent stays on local &lt;code&gt;.md&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Feedback to the agent&lt;/td&gt;
&lt;td&gt;Copied back by hand&lt;/td&gt;
&lt;td&gt;Flows back into the Markdown&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Versions&lt;/td&gt;
&lt;td&gt;Markdown and Doc drift&lt;/td&gt;
&lt;td&gt;One document, two views&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Fitting it into an automation
&lt;/h2&gt;

&lt;p&gt;The same pattern holds when the agent is part of a pipeline rather than an interactive session. If a scheduled job or an automation step (the kind you might wire in n8n or a CI task) regenerates a Markdown artifact, syncing that file to a Doc means stakeholders always see the latest version at the same link, and their edits are waiting in the Markdown for the next run. The automation writes files, sync handles the Doc, and no step in the pipeline needs to speak the Google Docs API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting started
&lt;/h2&gt;

&lt;p&gt;Point the client at the file your agent writes and pair it with a Doc:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;md2gd add report.md &lt;span class="nt"&gt;--create&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then let the agent do its thing. Each run updates the file, the linked Doc tracks it, and reviewer edits come back into the file for the next iteration. When you just need a one-off paste rather than an ongoing loop, the &lt;a href="https://md2gd.com/tools/markdown-to-google-docs" rel="noopener noreferrer"&gt;Markdown to Google Docs&lt;/a&gt; tool covers it, and &lt;a href="https://md2gd.com/tools/paste-to-markdown" rel="noopener noreferrer"&gt;Paste to Markdown&lt;/a&gt; handles the reverse. For the recurring case, that is what &lt;a href="https://md2gd.com/" rel="noopener noreferrer"&gt;md2gd&lt;/a&gt; is built for, and there is more on the underlying model in &lt;a href="https://md2gd.com/blog/keep-markdown-and-google-docs-in-sync" rel="noopener noreferrer"&gt;How to Keep Markdown and Google Docs in Sync&lt;/a&gt;.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Can an AI agent write directly into a Google Doc?&lt;/strong&gt;&lt;br&gt;
It can through the Google Docs API, but that makes every iteration slower and more expensive and couples the agent to network calls. Having the agent write local Markdown and syncing that to a Doc keeps the agent fast and the Doc native.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do reviewer comments survive when the agent regenerates the document?&lt;/strong&gt;&lt;br&gt;
With two-way sync, yes. Sync updates the Doc block by block instead of replacing it, so comments stay attached rather than being wiped by a fresh paste.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do the reviewers' edits get back to the agent?&lt;/strong&gt;&lt;br&gt;
Edits made in the Doc flow back into the linked Markdown file, so the agent's next run starts from the reviewed text.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does this need the agent to change how it works?&lt;/strong&gt;&lt;br&gt;
No. The agent keeps reading and writing plain &lt;code&gt;.md&lt;/code&gt; files. Sync runs separately, in a small local client.&lt;/p&gt;

&lt;h2&gt;
  
  
  The takeaway
&lt;/h2&gt;

&lt;p&gt;Agents write Markdown and people review in Google Docs, and the gap between those two facts is usually filled with manual re-pasting on every run. It does not have to be. Keep the agent on local Markdown, keep reviewers in a real Doc, and let two-way sync carry edits both ways so the loop closes on its own. See &lt;a href="https://md2gd.com/blog/keep-markdown-and-google-docs-in-sync" rel="noopener noreferrer"&gt;how the sync works&lt;/a&gt; for the model, and &lt;a href="https://md2gd.com/" rel="noopener noreferrer"&gt;md2gd&lt;/a&gt; for the tool.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>googledocs</category>
      <category>markdown</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to Sync an Obsidian Vault With Google Drive</title>
      <dc:creator>mdgd</dc:creator>
      <pubDate>Thu, 03 Sep 2026 13:15:00 +0000</pubDate>
      <link>https://dev.to/md2gd/how-to-sync-an-obsidian-vault-with-google-drive-4dcb</link>
      <guid>https://dev.to/md2gd/how-to-sync-an-obsidian-vault-with-google-drive-4dcb</guid>
      <description>&lt;p&gt;People switch to Obsidian and then hit the same question: my notes live on my laptop, so how do I get them into Google Drive, or in front of someone who works in Google Docs? The answer starts with understanding what an Obsidian note actually is.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your vault is just a folder
&lt;/h2&gt;

&lt;p&gt;An Obsidian vault is not a database or a proprietary file format. It is a plain folder on your disk. Every note is a &lt;code&gt;.md&lt;/code&gt; text file you could open in any editor. Images and PDFs you drop in are saved as ordinary files next to your notes. The only Obsidian-specific piece is a hidden &lt;code&gt;.obsidian&lt;/code&gt; folder that stores your settings and plugins.&lt;/p&gt;

&lt;p&gt;This is the whole reason Obsidian is portable. There is no export step, because the files were never locked up in the first place. Copy the folder to another machine and you have your entire vault. If Obsidian disappeared tomorrow, your notes would still open in any text editor.&lt;/p&gt;

&lt;p&gt;It also means one practical thing: syncing your vault is the same problem as syncing any folder. Whatever keeps a folder in step across machines will keep your vault in step.&lt;/p&gt;

&lt;h2&gt;
  
  
  Putting a vault on Google Drive
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Google Drive for desktop
&lt;/h3&gt;

&lt;p&gt;The simplest approach is Google Drive for desktop. Add your vault folder to the set of folders Drive mirrors, and it uploads changes as you save them. For a single-machine backup, this is fine.&lt;/p&gt;

&lt;p&gt;A few things to watch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Drive syncs files as-is. A &lt;code&gt;.md&lt;/code&gt; file lands in Drive as a &lt;code&gt;.md&lt;/code&gt; file. You cannot open it as a Google Doc and comment on it. It is just a text file sitting in Drive.&lt;/li&gt;
&lt;li&gt;Editing on two machines at once produces conflict copies. If your laptop and desktop both save the same note before Drive catches up, you get a second file with a conflict suffix, and you merge them by hand. The hidden &lt;code&gt;.obsidian&lt;/code&gt; folder is a common trigger, because plugins write to it constantly.&lt;/li&gt;
&lt;li&gt;Mobile is the weak spot. The Drive app on your phone does not hand those files to Obsidian mobile in a way that just works, so a phone usually needs extra tooling.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  A community sync plugin
&lt;/h3&gt;

&lt;p&gt;Several community plugins back a vault up to cloud storage. If you want your vault on Drive and you are comfortable configuring a plugin, this is an option. Check the plugin's current list of supported backends before you commit, since they change often, and test a throwaway vault first.&lt;/p&gt;

&lt;h3&gt;
  
  
  Obsidian Sync
&lt;/h3&gt;

&lt;p&gt;Obsidian's own paid Sync service is the least-fuss way to keep a vault matched across your own devices, phone included. It does not use Google Drive; it is Obsidian's own storage. Worth knowing it exists, but it is a different thing from "my notes in Drive."&lt;/p&gt;

&lt;h2&gt;
  
  
  The gap all of these leave
&lt;/h2&gt;

&lt;p&gt;Every option above treats your note as a file to copy. None of them turn it into something the rest of your team can work in. If you write in Obsidian and someone asks you to drop a note into a Google Doc so they can comment, you are back to copy-paste and manual reformatting.&lt;/p&gt;

&lt;p&gt;That is the specific problem md2gd solves. It keeps a Markdown note and a real Google Doc in sync both ways. You keep writing in Obsidian. Your reviewer opens a normal Google Doc, leaves edits, and those edits come back to your Markdown. It stays a real Doc, not a &lt;code&gt;.md&lt;/code&gt; file parked in Drive, so sharing and commenting work the way people already expect. There is also a CLI, so if an agent is generating notes in Markdown, it can create and update the Doc directly.&lt;/p&gt;

&lt;p&gt;To sync an entire vault, one shell command links every Markdown note to its own Google Doc:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;find ~/MyVault &lt;span class="nt"&gt;-name&lt;/span&gt; &lt;span class="s1"&gt;'*.md'&lt;/span&gt; &lt;span class="nt"&gt;-exec&lt;/span&gt; md2gd add &lt;span class="o"&gt;{}&lt;/span&gt; &lt;span class="nt"&gt;--create&lt;/span&gt; &lt;span class="se"&gt;\;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That walks the whole vault, subfolders included, and creates a linked Doc for each note. Edits then flow both ways. For a single note, run &lt;code&gt;md2gd add "Meeting Notes.md" --create&lt;/code&gt;, or use &lt;code&gt;--pick&lt;/code&gt; to link a Doc that already exists.&lt;/p&gt;

&lt;p&gt;A few limits to be upfront about: images are not supported yet, the Google Docs to Markdown direction runs on about a one minute delay, and there is a cap of ten syncs per account for now.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which one to pick
&lt;/h2&gt;

&lt;p&gt;If you just want a backup of your vault, Drive for desktop or a sync plugin does the job. If you want your own notes on all your devices, Obsidian Sync is the least fuss. If the point is to get an Obsidian note in front of people who live in Google Docs without losing your Markdown, that is where two-way sync earns its keep.&lt;/p&gt;

</description>
      <category>obsidian</category>
      <category>markdown</category>
      <category>productivity</category>
      <category>tools</category>
    </item>
    <item>
      <title>Why AI Markdown Breaks in Google Docs</title>
      <dc:creator>mdgd</dc:creator>
      <pubDate>Tue, 01 Sep 2026 13:15:00 +0000</pubDate>
      <link>https://dev.to/md2gd/why-ai-markdown-breaks-in-google-docs-kbo</link>
      <guid>https://dev.to/md2gd/why-ai-markdown-breaks-in-google-docs-kbo</guid>
      <description>&lt;p&gt;You asked an assistant for a spec, a PRD, or a README, and it gave you a clean answer. Then you pasted it into Google Docs to share with your team, and the table collapsed into a row of pipes and the code block became a wall of backticks. This is not a bug in your prompt. It is the predictable result of pasting Markdown into a tool that only converts part of it. Here is what actually breaks, the reason, and how to paste agent output so the structure holds.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why your AI outputs Markdown
&lt;/h2&gt;

&lt;p&gt;Claude, ChatGPT, and Gemini all format their responses in Markdown by default. It is compact, unambiguous, and renders nicely in a chat window. That is great until the destination is Google Docs, because assistant output leans hard on exactly the elements Docs handles worst: tables for comparisons, fenced code blocks for snippets, and inline code for names and commands.&lt;/p&gt;

&lt;h2&gt;
  
  
  What breaks on paste
&lt;/h2&gt;

&lt;p&gt;With a plain paste, or even with Google's "Paste from Markdown" enabled, the same elements fail consistently:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tables.&lt;/strong&gt; Pipe-delimited tables usually stay as literal text, one line of pipes per row.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fenced code blocks.&lt;/strong&gt; Triple-backtick blocks keep their backticks and render as plain text instead of a code block.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inline code.&lt;/strong&gt; Backtick spans are not converted.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Task lists and blockquotes.&lt;/strong&gt; These are dropped or left as raw syntax.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The basics do survive: bold, italic, headings, and simple links map onto Docs styles and come through fine. So the paste looks half-right, which is what makes it confusing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it breaks
&lt;/h2&gt;

&lt;p&gt;A Google Doc is a structured document model, not a text renderer. A table in a Doc is a real table element with rows and cells. A line like &lt;code&gt;| Method | Result |&lt;/code&gt; is just characters, and there is no automatic rule that turns those characters into that table element unless a converter builds the structure first. Inline styles such as bold have an obvious one-to-one mapping, so they survive. The structural elements have no such mapping, so they fall back to raw text.&lt;/p&gt;

&lt;p&gt;Google's 2024 "Paste from Markdown" feature widened what converts, but it still does not guarantee tables or code blocks. Treat it as a help, not a fix.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to paste agent output cleanly
&lt;/h2&gt;

&lt;p&gt;There are two clean paths, depending on what you have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The output is raw or mixed&lt;/strong&gt; (some Markdown, some rich text pasted from elsewhere). Run it through &lt;a href="https://md2gd.com/tools/paste-to-markdown" rel="noopener noreferrer"&gt;paste to Markdown&lt;/a&gt; first to normalize it into clean Markdown. Everything runs in your browser, so nothing is uploaded.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You want it as rich text in the Doc, tables and all.&lt;/strong&gt; Convert the Markdown to formatted content with &lt;a href="https://md2gd.com/tools/markdown-to-google-docs" rel="noopener noreferrer"&gt;Markdown to Google Docs&lt;/a&gt;, which preserves tables that a plain paste would flatten.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Either way, the move is to convert before you paste, not to fight the paste after.&lt;/p&gt;

&lt;h2&gt;
  
  
  Paste methods, compared
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Tables&lt;/th&gt;
&lt;th&gt;Code blocks&lt;/th&gt;
&lt;th&gt;Effort&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Plain paste (Ctrl/Cmd V)&lt;/td&gt;
&lt;td&gt;Lost&lt;/td&gt;
&lt;td&gt;Lost&lt;/td&gt;
&lt;td&gt;None, but lossy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Paste from Markdown (built-in)&lt;/td&gt;
&lt;td&gt;Usually lost&lt;/td&gt;
&lt;td&gt;Often lost&lt;/td&gt;
&lt;td&gt;Toggle a setting&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Convert first, then paste&lt;/td&gt;
&lt;td&gt;Preserved&lt;/td&gt;
&lt;td&gt;Preserved&lt;/td&gt;
&lt;td&gt;One extra step&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  When you paste the same content repeatedly
&lt;/h2&gt;

&lt;p&gt;If an agent regenerates the Markdown on every run and you keep re-pasting it into the same Doc, the paste step is not the real problem, the copying loop is. Keeping a Markdown file and a Google Doc in sync both ways removes the loop entirely: the agent writes Markdown, the Doc stays a live document your team can comment in, and neither drifts from the other. That is what &lt;a href="https://dev.to/"&gt;md2gd&lt;/a&gt; does.&lt;/p&gt;

&lt;p&gt;For the full picture of what Google Docs supports and where it breaks, see &lt;a href="https://md2gd.com/blog/google-docs-markdown-what-works" rel="noopener noreferrer"&gt;Google Docs Markdown: what works, what breaks&lt;/a&gt;. For the reverse direction, see &lt;a href="https://md2gd.com/blog/convert-google-doc-to-markdown" rel="noopener noreferrer"&gt;how to convert a Google Doc to Markdown&lt;/a&gt;.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Why does ChatGPT or Claude output look broken in Google Docs?&lt;/strong&gt;&lt;br&gt;
Assistants emit Markdown by default, and Google Docs' paste only converts a subset of it. Tables, fenced code blocks, and inline code render as raw characters because a Doc is a structured model with no automatic mapping from those symbols.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does "Paste from Markdown" fix the problem?&lt;/strong&gt;&lt;br&gt;
It helps with headings, lists, and links, but it still does not reliably convert tables or code blocks. Converting the Markdown before pasting is the reliable path.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I paste an AI table into Google Docs?&lt;/strong&gt;&lt;br&gt;
Convert the Markdown to rich text first with &lt;a href="https://md2gd.com/tools/markdown-to-google-docs" rel="noopener noreferrer"&gt;Markdown to Google Docs&lt;/a&gt;, which preserves the table structure a plain paste would flatten.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I clean up messy agent output before pasting?&lt;/strong&gt;&lt;br&gt;
Run it through &lt;a href="https://md2gd.com/tools/paste-to-markdown" rel="noopener noreferrer"&gt;paste to Markdown&lt;/a&gt; to normalize mixed or raw content into clean Markdown, entirely in your browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;p&gt;Your assistant is not producing bad output. It is producing Markdown, and Google Docs' paste only understands part of Markdown. Convert before you paste, with &lt;a href="https://md2gd.com/tools/paste-to-markdown" rel="noopener noreferrer"&gt;paste to Markdown&lt;/a&gt; to clean it or &lt;a href="https://md2gd.com/tools/markdown-to-google-docs" rel="noopener noreferrer"&gt;Markdown to Google Docs&lt;/a&gt; to preserve tables. And if the same content keeps flowing from an agent into the same Doc, stop pasting and start syncing.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>markdown</category>
      <category>googledocs</category>
      <category>writing</category>
    </item>
  </channel>
</rss>
