Home · Docs · AI · Pasting from AI tools

Pasting from AI tools

Copy from ChatGPT, Claude, Gemini, Perplexity, Copilot, paste into a sweetdocs doc. Headings stay headings, code stays code, lists stay lists. How the round-trip actually works.

Every major AI chat outputs Markdown-shaped text. sweetdocs preserves that shape on paste — headings stay headings, code blocks stay code blocks, lists stay lists. Cmd-V is the whole workflow.

ChatGPT

Three-day Kyoto itinerary

Here's a tight three-day plan that prioritises the most photogenic spots:

  • Day 1: Arashiyama at dawn, Tenryū-ji, then Nishiki market.
  • Day 2: Fushimi Inari (full morning), Gion in the evening.
  • Day 3: Kinkaku-ji, Ryōan-ji, and a slow walk along the Philosopher's Path.
// quick budget per day
const perDay = 12000 // JPY
const total = perDay * 3
kyoto-trip — sweetdocs

Three-day Kyoto itinerary

Here's a tight three-day plan that prioritises the most photogenic spots:

  • Day 1: Arashiyama at dawn, Tenryū-ji, then Nishiki market.
  • Day 2: Fushimi Inari (full morning), Gion in the evening.
  • Day 3: Kinkaku-ji, Ryōan-ji, and a slow walk along the Philosopher's Path.
// quick budget per day
const perDay = 12000 // JPY
const total = perDay * 3

How the paste actually works

When you copy from an AI chat in your browser, the clipboard usually contains two formats:

sweetdocs prefers the HTML and parses it through the Tiptap schema. That gives clean structure for everything the schema knows about: headings, bold, italic, links, lists, blockquotes, code blocks, tables.

There’s one special case — code-editor pastes — handled by the MarkdownPaste extension. If the HTML signature looks like it came from VS Code, Cursor, JetBrains, or a terminal (the giveaway is <pre> or white-space: pre styling), sweetdocs ignores the HTML and parses the plain-text payload through the Markdown parser instead. That stops AI-assistant code that you happened to copy from your editor from becoming a single dumb code block.

What round-trips cleanly

Coming from ChatGPT, Claude, Gemini, Perplexity, or Copilot:

ElementPaste result
Headings (H1-H6)Real heading blocks (H4-H6 keep their level, just no toolbar surface)
Bold / italic / strikethroughReal inline marks
Inline codeInline <code>
LinksReal link marks with href preserved
Bullet listsReal bullet list with proper nesting
Numbered listsReal ordered list
BlockquotesReal blockquote
Fenced code blocksReal code block; language hint preserved when the AI tool emits a language-… class
TablesReal GFM tables when the source uses HTML <table>
Horizontal rulesReal <hr> divider

The pasted content lands at the cursor position, indistinguishable from text you typed yourself.

What gets stripped or normalized

Thing in the sourceBecomes
Inline styles (style="color: …; font-family: …")Stripped — the doc’s theme controls all colors and fonts
Non-Markdown HTML elements (e.g., <details>, <summary>)Dropped to text content, since the schema doesn’t model them
Source-tool wrappers (chat avatars, message metadata)Discarded — only the body content survives
Image URLs typed as plain textStay as plain text — they don’t auto-upload (see Adding images for upload paths)
Markdown footnotes / task lists / mathLand as the source string, since v1 doesn’t render them (see Markdown essentials)

When the AI fence-syntax wins out

Some AI tools, especially when rendering very long replies or when their UI is degraded, output literal Markdown (the fence characters, the asterisks) rather than rendered HTML.

When you paste literal Markdown into the editor, it lands as text — the live Markdown shortcuts (# , ** **, etc.) only fire on fresh typing, not on pasted content.

Two ways out:

  1. Re-copy from a rendered area. Most AI tools have a “Copy” button on each message that emits both formats; copying from the message bubble (not the page text) usually preserves HTML.
  2. Use the AI Author panel (AI Author) — it writes directly into the doc, so there’s no clipboard round-trip at all.

Per-tool quirks

What we see in practice as of this writing:

ToolNotes
ChatGPTReliable HTML; code blocks include language class; headings, lists, tables come through cleanly
ClaudeReliable HTML; identical experience to ChatGPT for body content
GeminiHTML present; some replies wrap content in extra <div>s that get flattened to paragraphs
PerplexityHTML present; citation footnotes paste as plain superscript text
Copilot (chat)HTML present; code blocks include language hint

Vendor UIs change. If a paste comes in looking degraded, copying again from the message’s “Copy” button instead of the raw browser selection usually fixes it.

Where this beats copy-paste

For most edits, the AI Author panel (AI Author) is the better option:

Use paste when you’re bringing in content the AI generated standalone — drafts, outlines, research notes. Use AI Author when you want the AI to edit this document.