TL;DR

Claude has no built-in "Export as PDF" button. Four methods work, and they are not equal. Ctrl+P is the fast default and gets you a usable file for most short chats. A browser extension like Convert Web to PDF is the only one that reliably captures long threads, code blocks, and the Artifact side panel in one pass. Exporting the Artifact separately gives you the best-looking version of any rendered output. Screenshot stitching is the last resort when the thread is very long or contains interactive Artifacts. Method 2 wins on quality; the rest exist for specific edge cases covered below.

Method 1: Ctrl+P > Save as PDF

Chrome's built-in print dialog is the fastest option and the one most people try first. Open the conversation on claude.ai, hit Ctrl+P (or Cmd+P on Mac), pick "Save as PDF" as the destination, and save.

What you get: a reasonable capture of the visible message list, with Claude's UI stripped down to text and code blocks. For a short conversation — under about 15 messages, no Artifact open, no complicated tool-use output — this is fine. The PDF is text-selectable, links stay clickable, and code blocks render as monospace text.

Where it breaks:

  • Long threads get cut. Anything past the first few thousand pixels of scroll height often stops rendering, especially if the conversation used lazy loading to bring old messages back into view. You end up with a PDF that ends mid-message.
  • The Artifact side panel is missing. If Claude generated a document, chart, or web app in the right-hand panel, Chrome's print view collapses that panel and prints only the chat column. The artifact preview is gone.
  • Code blocks lose their syntax highlighting. The colors render fine in browser view, but the print stylesheet on claude.ai flattens them to plain monospace.
  • Tool-use collapsed sections stay collapsed. If Claude called a tool and the "View result" section is folded, the PDF captures the folded state, not the content.

If you want to try it anyway: before printing, scroll to the top of the conversation, wait for the full thread to render, expand every collapsed tool-use block manually, and turn off "Headers and footers" in Chrome's print dialog. That last setting alone removes the ugly URL and page-number strips.

For most people this method is good enough for a two-message Q&A and useless for anything more serious. If it works for your case, stop here — you don't need the other three.

Method 2: Convert Web to PDF

This is the method that actually works for full conversations. Install a purpose-built extension — Convert Web to PDF — open the Claude conversation, click the extension icon, and it captures the full scrolling page including anything Chrome's native print misses.

Why extensions beat Ctrl+P here specifically:

  • Full-page capture triggers a real scroll pass. The extension scrolls the conversation from top to bottom before rendering, forcing Claude's virtualized message list to load every message into the DOM. Chrome's print doesn't do this and stops at whatever's in memory.
  • Custom print stylesheets don't apply. Extensions capture the on-screen render, so syntax-highlighted code blocks stay colored, avatars stay visible, and Claude's actual layout is preserved.
  • The Artifact side panel is included. Because the extension captures what's rendered on the page, whatever is visible in the split view — chat on the left, Artifact on the right — appears in the PDF.
  • Nothing leaves your machine. A good extension does the conversion locally in the browser. The conversation never uploads to a converter service, which matters if you're saving anything sensitive.

The workflow: open the conversation, scroll once to the bottom so everything is warm in the DOM, expand any collapsed tool-use blocks you want in the PDF, click the extension, save. For long threads, the output is one PDF with continuous pagination — no cut messages, no missing panels.

For the same category of tools compared head-to-head, see best web-to-pdf Chrome extensions. For a general "what should this even look like" guide, how to PDF a website article correctly covers the fundamentals.

You can also use the underlying tool directly at /tools/convert-web-to-pdf/ without installing anything if you only need to convert one page.

Method 3: Export Artifact + Convert

When the conversation is mostly about an Artifact — a document Claude drafted, a React component, a data table, a diagram — the highest-quality output is not "print the whole page." It's "export the Artifact by itself, then attach the chat separately if you need context."

For document Artifacts (Markdown, plain text, reports), Claude's Artifact panel has a copy or download control in the top-right. Copy the raw content, paste into a text editor, then convert to PDF. For Markdown specifically, convert markdown to PDF walks through the toolchain — the short version is that pandoc or a Markdown-aware editor produces cleaner output than any browser screenshot ever will.

For code Artifacts, download the source file directly (Claude gives you a filename), then either print it from your editor with syntax highlighting turned on, or paste into a code-to-PDF converter that preserves formatting.

For interactive Artifacts (HTML pages, React apps, SVG graphics), open the Artifact in its own tab using the "Open in new tab" or preview link Claude provides. Once it's a standalone page, you can print or extension-capture it cleanly, without the chat column crowding the layout.

This method gives you the best-looking version of whatever Claude actually produced. The trade-off is that you lose the conversation context — the back-and-forth prompts, Claude's explanations, the iterations. For most portfolio, spec, or "here's the final deliverable" use cases, that's the right trade. For a research paper or a working session where the reasoning matters, use Method 2 instead and get everything in one file.

The pattern is covered more broadly in save AI canvas Artifact outputs as PDF, which walks through the export-then-convert flow for canvas-style outputs across ChatGPT, Claude, and Gemini.

Method 4: Screenshot stitch

Last resort. Use this only when the other three fail — usually because the conversation is genuinely enormous (hundreds of messages), or because the Artifact is a live interactive widget that doesn't render statically, or because you're on a locked-down machine where you can't install anything.

The workflow: take a full-page screenshot with a browser tool that captures the entire scrolling page (Chrome DevTools has one built in — Ctrl+Shift+P, type "Capture full size screenshot"). You get a single very tall PNG. Then convert that PNG to PDF using an image-to-PDF tool.

Why this is a last resort:

  • The output is an image, not text. You can't select or search text in the PDF. You can't copy code. Screen readers can't read it. Ctrl+F is dead.
  • File sizes get huge. A long conversation rendered as one image can easily hit 20 MB. The same content as a text-based PDF is often under 1 MB.
  • Rendering quirks show up. If Claude's UI uses any fixed-position elements, sticky headers, or overlays, they can appear multiple times or in the wrong place in the stitched image.
  • CJK fonts, emoji, and RTL text sometimes render worse in image form than in a text-based PDF that keeps the underlying font references. If your conversation includes any of these, see CJK, RTL, emoji rendering in webpage-to-PDF for the specifics.

Use screenshot stitch when nothing else works. Prefer text-based capture whenever it does.

Preserving Artifacts, code, and tool-use output

A few specific rules that apply across all four methods, because Claude's UI has quirks that trip up naive PDF exporters:

Expand every collapsed tool-use section before capturing. Claude folds long tool-use results into a "View result" toggle by default. If it's folded, it's not in the DOM, and it won't be in the PDF. Click through every fold you want preserved.

Wait for the Artifact to finish rendering before capturing. Interactive Artifacts (React components, HTML with animations) can take a second or two to fully render after you open them. Capturing during the render produces a broken screenshot. Wait until the Artifact is idle.

For code blocks, decide whether you want the code or the code plus commentary. If it's the code you care about, copy it out of Claude and use a proper code-to-PDF flow — you'll get syntax highlighting and correct line wrapping. If it's the whole conversation including the code, capture the full page.

For chart or diagram Artifacts, export to SVG or PNG first if Claude supports it, then convert. Rasterizing a rendered SVG through a screenshot often produces a blurry image; the SVG-to-PDF path via SVG to PDF keeps it crisp at any zoom level.

For very long tool-use logs — Claude's agentic runs sometimes produce hundreds of lines of tool output — consider whether you want the log in the PDF at all. If yes, expand and capture. If no, collapse before capturing and note in your saved file that logs were omitted.

The chatbot conversations to PDF guide covers the parallel behavior for ChatGPT and Gemini and is worth reading if you're building a workflow that covers all three tools.

Comparison table

MethodTimeLong threadsArtifactsCode blocksText-searchableBest for
Ctrl+P5 secCuts offMissingFlattenedYesShort chats, one-off
Convert Web to PDF10 secCompleteIncludedHighlightedYesEverything else
Export Artifact30 secN/ANative qualityNative qualityYesDeliverables, specs
Screenshot stitch1 minCompleteIncludedAs imageNoEmergencies

The pattern: Method 2 is the safe default. Methods 1, 3, and 4 exist for specific scenarios where they beat it — very short chats, isolated Artifact exports, and locked-down environments respectively.

Frequently asked questions

How do I save a Claude Artifact as PDF?

Open the Artifact in its own tab using the preview link Claude provides in the Artifact header, then either use Ctrl+P (for simple document Artifacts) or a full-page capture extension (for anything with rendered UI). For document Artifacts, downloading the raw source and converting it via a proper Markdown or code toolchain gives cleaner results than any browser capture. Don't try to capture the Artifact through the chat panel — the split view crops content and the Artifact rendering is compressed. Give the Artifact its own tab first.

How do I save code blocks from Claude to PDF?

Two paths. If you want the code with Claude's explanation around it, use Method 2 to capture the full conversation — a good extension preserves syntax highlighting. If you want just the code, use Claude's copy button on the code block, paste into your editor (VS Code, Sublime, whatever preserves your language's highlighting), and export from there — most editors have a "Print with syntax highlighting" option or a plugin that adds it. The editor route produces cleaner PDFs with proper line wrapping and no chat UI in the margins.

How do I export a long Claude thread?

Long threads are where Ctrl+P fails hardest. Scroll to the very top of the conversation and wait a few seconds for Claude to load all older messages into the DOM — the message list is virtualized, so messages you haven't seen recently may not be loaded yet. Then scroll back to the bottom the same way. Once the whole thread is warm in the DOM, use a full-page capture extension. Chrome's print dialog stops at whatever's in memory when you triggered it, which for a long thread is only a portion.

Does Claude have a built-in PDF export?

No. As of writing there is no "Export as PDF" button anywhere in the Claude web UI. There is a copy button on individual messages and Artifacts, and a share link for conversations, but no native PDF export. Everything covered in this post routes around that gap using either the browser's print dialog, a browser extension, or an Artifact-specific export flow. If Anthropic adds a native export later, use it — a first-party export will almost certainly beat any third-party capture on fidelity.

Why does my Claude PDF miss the Artifact preview?

Because Chrome's print stylesheet on claude.ai collapses the split view and prints only the chat column by default. The Artifact panel is a separate scroll region and Chrome's built-in "Save as PDF" doesn't handle multi-region layouts well. Fix it by using a full-page extension that captures the actual rendered pixels, or by opening the Artifact in its own tab and printing it separately. Method 3 in this post — export the Artifact independently — is the reliable fix. For a related case where AI outputs get cut in half by print stylesheets, see chatgpt work agent outputs to PDF.

Bottom line

There's no first-party "Export to PDF" in Claude, and Chrome's print dialog only covers the easy cases. For anything with a long thread, an Artifact, or code you care about, use a full-page capture extension that keeps the render intact and does the work locally without uploading your conversation anywhere.

Convert Web to PDF handles the full conversation, including Artifacts and syntax-highlighted code, in one click. Try it once on your longest Claude thread and compare it to what Ctrl+P produces on the same page — the difference decides which method belongs in your workflow.