ChatGPTやClaudeからWord・Google Docs・Slackへ貼ると、見出しや箇条書きが崩れることがあります。原因をMarkdown・HTML・プレーンテキストの違いから整理し、貼り付け先の標準機能と、複数媒体ならYomuを使う方法まで比較します。
ChatGPTやClaudeで文章を整えてもらい、画面ではきれいに見えていたのに、Google DocsやWordへ貼った瞬間に見出しがただの文字になったり、箇条書きが崩れたり、余白だけ妙に広くなったりすることがあります。
こうした「AI画面では整っているのに、貼り付け先で崩れる」という困り方は珍しくありません。ただし、これは「AIの文章がおかしい」から起きるとは限りません。
画面上の見た目、クリップボードに入るデータ、貼り付け先が理解する形式は、それぞれ別のものです。
ここを分けて考えると、なぜ同じ文章なのにWordではうまくいき、Slackでは崩れ、Google Docsでは別の貼り方が必要になるのかがかなり分かりやすくなります。
先に結論:コピペで崩れるのは「文章」ではなく「形式の受け渡し」が合っていないから
ChatGPTの画面では、見出し、太字、箇条書き、コードブロックなどがきれいに表示されます。
しかしコピーしたとき、クリップボードには「見た目そのもの」が1種類だけ入るとは限りません。
W3CのClipboard API仕様では、1つのclipboard itemが複数のrepresentationを持てると定義されています。代表例として text/plain、text/html、image/png があり、貼り付け先のアプリは利用できる形式から自分に適したものを選べます。
参考:W3C Clipboard API and events
たとえば同じコピー操作でも、WordはHTML寄りの書式付き表現を選び、別のアプリはplain textだけを使う、ということが起こり得ます。
つまり、同じ内容でも ChatGPT → Google Docs、ChatGPT → Word、ChatGPT → Slack では、最適な貼り付け方が同じとは限りません。
「AI画面」「クリップボード」「貼り付け先」は3つの別レイヤー
AIの回答に次のような構造があったとします。
## 結論
- まずAを確認する
- 次にBを確認する
**重要:** 最後にCを見る
Markdownとしては、H2見出し、箇条書き、太字を表しています。
一方、ChatGPTの画面では ## や ** がそのまま見えるのではなく、アプリ側でレンダリングされ、見出しや太字として表示されます。
1. 画面表示は「レンダリング結果」
見えているのは完成した表示です。その裏にMarkdownがある場合もあれば、HTMLとして組み立てられている場合もあります。
そのため、「画面でH2に見えている」ことと「コピー先へH2という構造が渡る」ことは同じではありません。
2. クリップボードには複数形式を持てる
Clipboard APIでは、同じclipboard itemに複数のMIME type表現を持たせられます。
W3C仕様では、表計算ソフトのセルをコピーした例について、同じ内容が text/plain、text/html、image/png などとして同時に表現され得ると説明しています。
これは文章でも同じ考え方です。貼り付け先がHTMLを理解するなら書式付きで貼れる一方、plain textしか使わなければ文字だけになります。
3. 貼り付け先が「どの表現を採用するか」を決める
W3C仕様は、貼り付けるアプリが利用可能なMIME typeを列挙し、アプリ固有の判断で最適な表現を選ぶことを想定しています。
Microsoft Wordに「元の書式を保持」「書式を結合」「テキストのみ保持」があるのも、この選択を利用者側で調整できるようにするためです。
参考:Microsoft Support「テキストの貼り付け時に書式を制御する」
コピー元が同じでも、貼り付け先が違えば結果が違うのは仕様上かなり自然です。
Markdown・リッチテキスト・プレーンテキストは、同じ文章でも持てる情報が違う
コピペ問題を理解するには、この3つを分けるのが一番早いです。
プレーンテキスト:文字だけを渡す
プレーンテキストは基本的に文字そのものです。太字、フォントサイズ、見出しスタイル、表などの情報は持ちません。
そのため Ctrl + Shift + V などで「書式なし貼り付け」をすると、余計なスタイル崩れを避けやすい一方、太字や見出しなどの構造まで失うことがあります。
「書式が崩れるならプレーンテキストで貼ればいい」は半分正しいですが、元の構造を残したい場合には不十分です。
Markdown:少ない記号で文章構造を持つ
Markdownでは、#、-、** などを使って文章構造を表します。
人間がそのまま読める一方で、Markdownへ対応しているアプリなら見出しやリストへ変換できます。
ただし貼り付け先がMarkdownを解釈しなければ、
## 見出し
**太字**
のような記号がただの文字として残ります。
HTML・リッチテキスト:見た目や構造をより直接渡せる
Webページなどの整形済みテキストからコピーすると、text/html のような書式付き表現がクリップボードへ入る場合があります。
Wordなどはこの種の情報を比較的多く扱えます。しかしコピー元のstyleと貼り付け先のstyleが競合すると、文字サイズ、余白、番号付きリストなどの挙動が変わることがあります。
Wordに「元の書式を保持」「書式を結合」があるのは、この衝突をどう扱うか選べるようにするためです。
Google Docsでは「Paste from Markdown」が公式に用意されている
Google Docsはこの問題に対して、かなり分かりやすい機能を持っています。
GoogleはMarkdownのimport/export対応を拡張し、現在はMarkdownをGoogle Docsとしてimport、Google DocsをMarkdownとしてexport、Copy as Markdown、Paste from Markdownを公式に案内しています。
参考:Google Docs Editors Help「Use Markdown in Google Docs」
参考:Google Workspace Updates「Import and export Markdown in Google Docs」
Google DocsへMarkdownとして貼る手順
Google公式の手順では、パソコン版Google DocsでMarkdownを有効にしてから使用します。
- Google Docsを開く
ツール→設定を開く- Markdownを有効にする
- Markdown形式の文章をコピーする
- 右クリックして
Paste from Markdownを選ぶ
普通の Ctrl + V と、Paste from Markdown は同じ処理ではありません。
貼り付け元がMarkdownなら、Google Docsへ「Markdownとして解釈して」と明示する方が再現しやすいわけです。
それでも完全再現ではない
Markdown自体が持てる構造とGoogle Docsの文書モデルは完全には一致しません。複雑な表、独自HTML、ページ番号、特殊なレイアウトなどはMarkdownだけでは表現できません。
そのため、変換後に最終確認は必要です。
Wordでは「どの書式を残したいか」を選ぶ
WordはGoogle Docsの Paste from Markdown とは考え方が少し違います。
Microsoftの公式ヘルプでは、他のプログラムから貼る場合に主に次の3つを選べます。
元の書式を保持
コピー元の見た目をできるだけ維持します。
AI画面上の太字やリストを残したい場合には便利ですが、コピー元のフォント・余白・styleまで持ち込んで、既存Word文書と見た目が合わなくなることがあります。
書式を結合
コピー元の一部の強調を残しつつ、貼り付け先の段落styleへ寄せます。
既存の社内テンプレートやレポートへ文章を入れる場合は、こちらの方が扱いやすいことがあります。
テキストのみ保持
書式を捨てて文字だけを貼ります。
崩れは最も少なくなりますが、表や画像などの非テキスト要素は失われます。Microsoftも、テキストのみ貼り付けでは表が段落へ変換されると説明しています。
つまりWordでは、何を守りたいかによって貼り付けモードを変えるのが基本です。
SlackやDiscordで同じ見た目にならないのは不具合とは限らない
WordやGoogle Docsは文書作成アプリです。一方、SlackやDiscordなどのチャットアプリは、リアルタイムのメッセージ表示を目的としています。
扱える書式の種類も文書ソフトほど多くありません。そのため、AI画面でH2として表示されていた見出しを貼っても、チャット側に同じ「H2」という概念がなければ完全には再現できません。
表も同様です。
コピー元に情報があっても、貼り付け先がその構造を持っていなければ再現できません。
症状から原因を切り分ける
| 症状 | 最初に試すこと |
|---|---|
## や ** がそのまま出る |
貼り付け先がMarkdownを解釈していない。Google DocsならPaste from Markdownを試す |
| フォントや余白だけおかしい | Wordなら「書式を結合」、またはテキストのみ貼り付けを比較する |
| 箇条書きの番号が崩れる | 貼り付け先のリスト機能へ再変換する。Wordの貼り付けオプションも確認 |
| 表が壊れる | プレーンテキスト貼り付けでは表構造を保持できない。表対応形式を使う |
| Slack等で見出しが再現されない | そのアプリに同じ文書構造がない可能性がある |
自分で原因を確かめる再現テスト
どの段階で崩れているか分からない場合は、短いテスト文を使うと切り分けやすくなります。
# 見出し1
## 見出し2
**太字** と *斜体*
- 箇条書きA
- 箇条書きB
| 項目 | 値 |
| --- | --- |
| A | 1 |
この文章を、同じAI画面から
- Google Docsへ通常貼り付け
- Google DocsへPaste from Markdown
- Wordへ元の書式を保持
- Wordへ書式を結合
- Wordへテキストのみ保持
- SlackやDiscordへ貼る
と試します。
結果が違えば、文章そのものではなく「変換経路」が違うことを確認できます。
Markdownそのものが意図どおりになっているか確認したい場合は、Markdown Viewerへ貼って、構造が正しくレンダリングされるか先に確認できます。
毎回コピペするなら「最終出力先」を先に決める
AIへ文章を書かせるとき、最終的にどこへ持っていくのかを先に決めると手戻りを減らせます。
Google Docsへ入れるならMarkdownとして構造を持たせてPaste from Markdownを使う。Wordの既存テンプレートへ入れるなら、本文構造を先に作り、Word側のstyleへ合わせる。Slackへ送るなら、文書向けの大きな見出しや複雑な表を最初から減らす。
つまり、AIの出力形式を1つに固定するより、貼り付け先へ合わせて変換する方が合理的です。
同じ原稿を複数媒体へ使うなら、Markdownを原本にする方法もある
ここまでの対処は、貼り付け先が1つなら十分です。
Google Docsだけへ持っていくなら、まず公式のPaste from Markdownを使えばよく、そのためだけに別の変換ツールを挟む必要はありません。Wordだけなら、貼り付けオプションを選ぶか、DOCXとして書き出す方が自然です。
一方、同じAI原稿をnote、WordPress、はてなブログ、Wordなど複数の場所へ展開する場合は、媒体ごとにコピペ結果を直し続けるより、Markdownを原本として残し、公開先ごとに変換する運用が扱いやすくなります。
ChatGPT / Claude
↓
Markdown原稿
↓
┌────┼────┬────┐
note WordPress はてな Word
この場合、Markdownを修正すれば元原稿が一つに保たれ、公開先ごとに最新版が分裂しにくくなります。
ブラウザMarkdownエディタのYomuは、この使い方の選択肢の一つです。Markdownをブラウザで編集し、note・WordPress・はてなブログ・Wordなどへ持っていくための形式へ変換できます。
ただし、Google Docsへ一度貼るだけ、Wordへ短文を一度移すだけならYomuを使う必要はありません。 貼り付け先の標準機能で解決できる場合は、その方が工程が少なくなります。Yomuが向くのは、AI原稿をMarkdownとして残したい、複数媒体へ繰り返し展開したい、変換のために本文を外部の変換APIへ送りたくない、といった場合です。
まとめ:コピペ問題は「AIの書式」ではなく、アプリ間の変換問題
ChatGPTやClaudeの文章を貼ったときに書式が崩れると、AI側の出力がおかしいように見えます。
しかし実際には、AIの回答 → 画面でレンダリング → 複数形式でクリップボードへコピー → 貼り付け先が採用形式を選ぶ → 貼り付け先の文書構造へ変換という段階があります。
Google DocsならMarkdownを明示的に変換できる Paste from Markdown が使えます。Wordなら、元の書式・結合・テキストのみのどれを使うかで結果を選べます。
そして、同じ原稿を複数の媒体へ持っていく場合は、Markdownを原本にして媒体ごとに変換する方法も選べます。
「コピペすると崩れる」を一つの不具合として考えるのではなく、どの形式からどの形式へ変換しているのかを見ると、かなり解決しやすくなります。
このサイトでは、こうした実際の困りごとを、短いFAQではなく仕組みまで含めてブログに残していきます。