GitHub Copilot Chat outputs developer documentation in clean markdown. Microsoft 365 Copilot outputs business content that ends up trapped in Word. Both need to become shareable PDFs. MarkdownTools handles both workflows in under a minute.
The name “Copilot” covers two distinct Microsoft AI products with very different outputs.
Lives inside VS Code, JetBrains IDEs, and GitHub.com. Answers developer questions, explains code, generates documentation, writes PR descriptions, and discusses architecture. Output is markdown-native — fenced code blocks, language tags, heading structure, and tables formatted for technical documentation.
VS Code and JetBrains IDE sidebar
Code explanations and architecture discussions
PR descriptions, README drafts, inline docs
Output is clean markdown — copy icon in chat panel
Embedded in Word, Teams, Outlook, Excel, and the copilot.microsoft.com web interface. Generates meeting summaries, email drafts, business reports, and project proposals. Output can land inside Word as rich text or appear as formatted text in Teams — a different extraction challenge than GitHub Copilot.
Word, Teams, Outlook, Excel, and web chat
Meeting summaries, reports, email drafts
Output often goes into Word as rich text
Needs different extraction depending on context
Works from VS Code, JetBrains IDEs, and the GitHub.com Copilot interface.
Open the Copilot Chat panel in VS Code (Ctrl+Shift+I on Windows/Linux, Cmd+Shift+I on Mac). Ask Copilot your question — a code explanation, PR description, README draft, or architecture overview. Copilot Chat returns structured markdown with headings, code blocks, and bullet lists. About 5 seconds to get the response.
Hover over the response in the Copilot Chat panel — a copy icon appears at the bottom of the message. Click it to copy the raw markdown content. Do not select and drag — that copies rendered text and can drop code block language tags. The copy icon captures the exact markdown that Copilot generated. 3 seconds.
Open MarkdownTools in your browser and paste into the editor. Copilot's code blocks render with syntax highlighting, headings resolve correctly, and inline code survives the paste. Choose Clean for technical output going to developers, Classic for internal documentation, or Elegant for client-facing or executive-level material. The preview updates live. 10 seconds.
Click the PDF button. A professionally formatted PDF is generated server-side using Chromium and downloads immediately. Your Copilot Chat content is never stored. For a VS Code extension suggestion, a PR description, or a README draft — the result looks production-quality, not like a chat export. 5 seconds.
Typical GitHub Copilot Chat output — ready to paste
## PR Description: Add rate limiting to the API gateway ### What changed Implemented token-bucket rate limiting on all `/api/*` routes. Limits are configurable per environment via `RATE_LIMIT_RPM`. ### Why The analytics dashboard was triggering unbounded Copilot API calls on large repositories. This caused cost overruns in staging. ### How to test ```bash # Run the rate limit integration tests npm run test:integration -- --grep "rate-limit" # Verify the header is present in responses curl -I https://api.dev.example.com/api/ping # X-RateLimit-Remaining: 59 ``` ### Breaking changes None. Existing clients under the limit are unaffected.
The challenge with M365 Copilot is extraction. Word's formatting layer sits between Copilot's content and a clean PDF. Here is how to get past it.
Use Copilot in Teams, Word, Outlook, or the Microsoft 365 Copilot chat interface. Ask for a meeting summary, a business report, a project proposal, or an email draft. Copilot returns structured content — typically with headings, bullet lists, and sometimes tables. The Teams and Copilot chat interfaces show the output as formatted text.
In Microsoft 365 Copilot chat: use the copy icon below the response to copy the raw text. In Teams meeting summaries: select all the text in the summary panel and copy. In Word: if Copilot inserted content directly into the document, select it all (Ctrl+A), copy, then paste into a plain text editor like Notepad to strip Word's rich formatting — you want the text structure, not Word's formatting layer. 10 seconds.
Microsoft 365 Copilot sometimes outputs plain formatted text rather than explicit markdown syntax. If your content arrived without # headings and ** bold markers, spend 30 seconds adding heading markers to the top-level sections (# for title, ## for sections). MarkdownTools's editor makes this fast — add the # characters, see the preview update immediately. 30-60 seconds for cleanup.
Pick the Elegant theme for executive reports and client documents, Classic for internal business content. Click the PDF button. The result is a clean, professional PDF that reads nothing like a copied-from-Word document — no random font sizes, no layout artifacts, no page break problems from Word's formatting engine. Download in under two seconds.
Different prompts for each Copilot — the output audiences are different.
GitHub Copilot Chat
"Write this as a technical design document with sections for context, decision, consequences, and alternatives considered."
Copilot structures the output like an Architecture Decision Record — a format that converts to a clean, scannable PDF without any rearranging.
"Generate a PR description with sections: What changed, Why, How to test, Breaking changes."
Copilot follows explicit section templates precisely. The consistent structure means every PR description PDF you export looks identical.
"Use short code examples (under 20 lines each) with a sentence of explanation before each one."
Prevents the most common PDF pagination problem with Copilot output: long monolithic code blocks that break across page boundaries.
Microsoft 365 Copilot
"Generate a project status report in markdown format with sections for progress this week, blockers, and next steps."
Requesting markdown format explicitly causes M365 Copilot to output markdown syntax in chat interfaces — bypassing the Word extraction problem entirely.
"Summarize this meeting in markdown with headers for Decisions Made, Action Items (with owners), and Open Questions."
Explicit heading templates produce output that pastes into MarkdownTools with no structural work needed — headings already in place.
"Write this as a business case document. Keep each section under 150 words. Use a table for the cost-benefit comparison."
Concise sections avoid page overflow in PDF. An explicit table request replaces bullet comparisons that are harder to read in a printed document.
Problems that come up specifically with Copilot outputs.
Code block breaks across two pages
Why: GitHub Copilot Chat often returns a single large code example. When it spans a page boundary in PDF, it becomes hard to read.
Fix: Break the code into shorter examples in the MarkdownTools editor — add a line of explanation before each section, then the code for that section. Short annotated examples are better documentation and avoid the pagination problem.
No syntax highlighting on Copilot code blocks
Why: Copilot occasionally uses non-standard language tags or omits them for shell commands and config files.
Fix: In the MarkdownTools editor, click just after the opening triple backtick and type the correct tag: bash, yaml, json, typescript, python, sql, go, rust. The preview updates in real time.
M365 Copilot content from Word has mixed formatting
Why: Copying from a Word document where Copilot inserted content brings some of Word's rich text formatting along — inconsistent font sizes, spacing artifacts.
Fix: Paste the Word content into Notepad or TextEdit (in plain text mode) first, then copy from there into MarkdownTools. Plain-text intermediary strips all Word formatting. Then add heading markers where needed.
M365 Copilot meeting summary has no heading structure
Why: Teams meeting summaries from M365 Copilot sometimes output as structured plain text without # heading syntax — just bold section labels.
Fix: In MarkdownTools, add # before the document title and ## before each section name. Takes under a minute with the live preview showing you the result as you type. The rest of the structure (bullets, action items) converts cleanly.
Long Copilot response overflows the page width with a wide table
Why: Copilot sometimes generates tables with five or more columns that are wider than a standard PDF page margin.
Fix: Go back to Copilot and ask it to "split that table into two tables grouped by related columns." Alternatively, ask it to "present the same comparison as a definition list instead of a table." Either option renders well within standard page margins.
Markdown symbols showing as raw text after paste
Why: You copied the rendered text from a Copilot Chat response by selecting it, rather than using the copy icon. This copies what your eyes see, not the underlying markdown.
Fix: Go back to the Copilot Chat panel and hover over the response. Use the copy icon that appears below the message — not Ctrl+A to select text. The copy icon captures the markdown source. Re-paste into MarkdownTools.
The content Copilot generates that needs to exist outside VS Code, Teams, and Word.
GitHub Copilot Chat excels at generating structured PR descriptions: what changed, why it changed, how to test it. Ask Copilot to "write a PR description for these changes" with the diff in context. The output is clean markdown with clear sections. Convert it to PDF for reviewers who prefer a document, for audit trail archiving, or for sharing decisions with stakeholders who are not on GitHub.
Ask GitHub Copilot Chat to "write a README for this project" or "generate API documentation for this module." Copilot produces well-structured markdown with proper code blocks, installation steps, and usage examples. Paste the output into MarkdownTools to get a shareable PDF before committing the README — useful for getting feedback from non-technical stakeholders who cannot read GitHub raw markdown.
Microsoft 365 Copilot in Teams generates meeting summaries with decisions, action items, and follow-up tasks. These are perfect for converting to PDF and distributing to attendees or archiving for project records. A PDF is more persistent than a Teams thread and easier to share with people outside your organization who do not have access to your Teams workspace.
Microsoft 365 Copilot in Word or the Copilot business chat can draft status reports, competitive analyses, and executive briefings. The Elegant theme in MarkdownTools turns those structured outputs into documents that look intentionally designed — clean typography, clear hierarchy, professional page layout — without the formatting battles that come with editing in Word.
Ask GitHub Copilot Chat to "describe the architecture for implementing X" or "compare these two approaches." Copilot returns structured technical content with trade-off tables and decision rationale. Converting this to PDF gives you a shareable artifact for architecture review meetings — developers can annotate it, managers can read it without a GitHub account, and it archives cleanly.
GitHub Copilot Chat can explain complex code — how a function works, why a pattern was chosen, what a codebase does at a high level. These explanations are often the most valuable onboarding material a team can have. Convert them to PDF for new team members, for compliance audits, or for documentation packages that need to exist outside the IDE.
GitHub Copilot Chat and Microsoft 365 Copilot are built on similar underlying technology but produce very different kinds of output for very different audiences. GitHub Copilot Chat is designed for developers inside VS Code, JetBrains IDEs, and the GitHub web interface. It produces developer-facing content: code explanations, documentation drafts, PR descriptions, architecture discussions. The markdown it generates is technically precise — code blocks are properly fenced and language-tagged, variable names are correct, and the structure follows developer documentation conventions.
Microsoft 365 Copilot is built for knowledge workers inside the Microsoft productivity suite. It generates business content: meeting summaries, email drafts, reports, project proposals, slide outlines. The output style is closer to business writing than technical documentation. Microsoft 365 Copilot sometimes outputs styled text directly into Word documents rather than raw markdown, which creates a different extraction challenge.
Both outputs ultimately need to become shareable documents. GitHub Copilot Chat output goes to PDF for sharing outside the IDE — with stakeholders who do not have VS Code open, for review processes that happen in documents rather than pull requests, or for archiving decisions. Microsoft 365 Copilot output goes to PDF when the Word document it was inserted into produces ugly or inconsistent formatting, or when the content needs to exist outside the Microsoft 365 ecosystem.
GitHub Copilot Chat is optimized for developer workflows and produces markdown that reflects this. Code blocks are always fenced with triple backticks and include accurate language identifiers — typescript, python, bash, yaml, json, rust, go. Headings follow a logical hierarchy because the underlying training emphasizes documentation conventions. Inline code is consistently wrapped in backticks. Tables, when Copilot uses them, are properly formatted with pipe separators and alignment markers.
This means that when you copy GitHub Copilot Chat output and paste it into MarkdownTools, the preview is almost always correct on the first try. Syntax highlighting fires on all code blocks, heading levels resolve cleanly, and tables render with proper column alignment. The most common exception is very long code examples that may cause page break issues in the PDF — addressable by breaking the code into smaller annotated examples before exporting.
The GitHub Copilot Chat interface inside VS Code also maintains the markdown source behind the rendered output. When you use the copy icon below a response (rather than selecting the rendered text), you get the raw markdown string — the same characters that produced the rendering. This is exactly what MarkdownTools needs. The copy icon is the right copy mechanism every time.
Microsoft 365 Copilot has a more complex output situation. When Copilot generates content inside a Word document, it inserts rich text — the content has styling, fonts, spacing, and formatting baked in at the Word document level. Copying this content and pasting it elsewhere strips some formatting and preserves others inconsistently. The result is content that is neither clean plain text nor clean markdown.
The cleanest extraction path depends on where the content was generated. For Microsoft 365 Copilot chat (the standalone web interface at copilot.microsoft.com or inside Teams as a chat bot), the copy icon below each response copies text that includes basic markdown structure — headings are often preserved as # syntax, and bullet lists survive. Paste this directly into MarkdownTools and it usually needs only minor cleanup.
For content that Copilot inserted directly into a Word document, a different approach works better: select all the content in the Word document (Ctrl+A), paste it into Notepad or any plain text editor to strip Word's rich formatting, and then paste the plain text into MarkdownTools. At this point you have the text content but will need to add markdown heading markers manually — a 30-60 second task in the MarkdownTools editor where the live preview shows you the result immediately.
GitHub Copilot Chat responds well to document framing. Instead of asking "how does this authentication flow work," try "write a technical explanation of this authentication flow as a design document." The document framing prompts Copilot to use heading structure, include a summary section, and organize the content for reading rather than chatting. The resulting markdown converts to PDF with no structural work needed.
For Microsoft 365 Copilot, the most useful prompt addition is to explicitly request markdown formatting. Try "generate a project status report in markdown format with sections for progress, blockers, and next steps." When Copilot is in a context where markdown rendering is available (the standalone chat interface, Teams chat), it will produce markdown syntax rather than inserting rich text. This bypasses the Word extraction problem entirely.
Both Copilot products handle explicit heading templates reliably. If you are generating a document type you produce repeatedly — a weekly status report, a release notes document, a code review summary — include a heading template in your prompt: "use this structure: # Title / ## Executive Summary / ## Details / ## Action Items." Copilot follows templates closely, and the consistent structure means each PDF export looks identical, which matters for professional document series.
Everything you need to know.
Use the copy icon that appears below each Copilot Chat response in VS Code — hover over the response to reveal it. This copies the raw markdown source, including fenced code blocks with language tags, heading syntax, and table formatting. If you select and drag text from the rendered response instead, you may get rendered text without the markdown syntax, which loses the structure that makes the PDF look good. The copy icon is the right method every time.
Copy from VS Code or Teams. Paste into MarkdownTools. Download. No signup, no Word formatting fights.