← Back to blog

How to Export Confluence Pages to Markdown (2026 Guide)

· Save Team
confluencemarkdowndocumentationenterprisemigration

Confluence doesn’t want you to leave. Atlassian stores your content in a proprietary XML format, offers no Markdown export, and makes bulk extraction painful. If you’ve ever tried to get clean text out of Confluence, you know the frustration.

This guide covers every method to export Confluence pages to Markdown --- from one-off pages to entire spaces.

Why Export Confluence to Markdown?

Teams move away from Confluence for many reasons:

  • Migrating to a new tool --- moving to Notion, GitBook, Docusaurus, or a static site generator that expects Markdown
  • Archiving a knowledge base --- preserving team documentation before an Atlassian license expires
  • Building an AI knowledge base --- feeding clean documentation to Claude, ChatGPT, or an internal LLM
  • Backing up critical docs --- having a portable copy that doesn’t depend on Atlassian’s servers
  • Escaping vendor lock-in --- owning your content in a universal format

Method 1: Save (Fastest for Individual Pages)

Save is a Chrome extension that converts any Confluence page to clean Markdown with one click.

How it works:

  1. Open any Confluence page in Chrome
  2. Click the Save extension icon
  3. A .md file downloads instantly

What you get:

  • Full page text with heading hierarchy
  • Tables formatted as Markdown tables
  • Code blocks with language tags
  • Info panels converted to block quotes
  • Expand/collapse sections (fully expanded)
  • Clean metadata: page title, space name, last updated date
  • Internal and external links preserved

What gets removed:

  • Atlassian macros and proprietary formatting
  • Navigation chrome, sidebars, and menus
  • WYSIWYG editor artifacts
  • Inline styles and CSS

Best for: Saving individual pages or small batches. If you need 5-50 pages, this is the fastest method.

Example Output

From a typical Confluence runbook:

# Deployment Runbook --- Production API

**Space:** Engineering
**Last updated:** March 12, 2026

---

## Pre-Deployment Checklist

- [ ] All CI checks passing on `main`
- [ ] Database migrations reviewed and approved
- [ ] Feature flags configured for gradual rollout
- [ ] Rollback plan documented

## Deployment Steps

### 1. Create Release Branch

\`\`\`bash
git checkout -b release/v2.4.0 main
git push origin release/v2.4.0
\`\`\`

### 2. Run Database Migrations

\`\`\`sql
ALTER TABLE users ADD COLUMN preferences JSONB DEFAULT '{}';
CREATE INDEX idx_users_preferences ON users USING GIN (preferences);
\`\`\`

Method 2: Confluence’s Built-in Export (HTML, Then Convert)

Confluence can export pages as HTML. You can then convert the HTML to Markdown using a tool like Pandoc.

Steps:

  1. Go to the page → menu → Export to PDF/Word/HTML
  2. Choose HTML export
  3. Convert with Pandoc: pandoc input.html -o output.md

Problems with this approach:

  • HTML export includes Atlassian’s CSS, macros, and inline styles
  • Tables often break during conversion
  • Code blocks lose language tags
  • Images reference Confluence URLs that may break later
  • Nested pages require exporting the entire space

This method works but produces messy output that needs manual cleanup.

Method 3: Space Export + Bulk Conversion

For exporting an entire Confluence space:

  1. Go to Space SettingsContent ToolsExport
  2. Choose HTML format
  3. Download the ZIP archive
  4. Use a script to batch-convert HTML files to Markdown

The problem: Confluence space exports produce deeply nested HTML with broken relative links, duplicate navigation elements, and Atlassian-specific markup. Cleaning this up programmatically is a weekend project.

Method 4: Confluence REST API

For programmatic access:

curl -u [email protected]:API_TOKEN \
  "https://your-domain.atlassian.net/wiki/rest/api/content/PAGE_ID?expand=body.storage" \
  | jq -r '.body.storage.value' > page.html

This gives you the raw storage format (XHTML-like). You’ll need to:

  1. Parse the Atlassian storage format
  2. Handle macros, embeds, and special elements
  3. Convert to Markdown
  4. Repeat for every page

Best for: Engineering teams building a migration pipeline. Overkill for most use cases.

Which Method Should You Use?

ScenarioBest Method
Save 1-50 pages quicklySave extension --- one click per page
Archive an entire spaceSpace export + Pandoc --- bulk but messy
Build a migration pipelineREST API --- programmatic but complex
Quick backup of key docsSave extension --- cleanest output
Feed docs to an LLMSave extension --- Markdown is LLM-native

For most people, Save is the answer. It produces the cleanest Markdown with zero setup, and it handles Confluence’s proprietary formatting automatically.

Making Your Confluence Content Useful

Once you’ve exported your pages to Markdown, you can:

  • Search everything with grep, VS Code, or Obsidian
  • Feed it to Claude or ChatGPT for instant answers about your documentation
  • Version control it in Git --- track changes to your docs like code
  • Import into any tool --- Notion, Obsidian, GitBook, Docusaurus, or a static site generator
  • Keep it forever --- Markdown files are plain text. They’ll be readable in 50 years

Get Started

Install Save and try it on a Confluence page right now. It’s free to start, and you’ll see clean Markdown in seconds.


Escaping Confluence doesn’t have to be painful. Save converts any page to clean Markdown with one click.