Tool Confluence Cloud in development

Page Tree Markdown Export

Documentation

How to export a Confluence page tree or a whole space to Markdown, what ends up in the ZIP, and how to read the export report.

Last updated

Before you start

  • You need Confluence Cloud. The app is built on Atlassian Forge, so it doesn’t run on Confluence Data Center or Server.
  • A site admin installs the app once for the whole site. After that, anyone who can view pages can export them. No setup is needed.
  • An export only ever includes pages that you are allowed to view.

Install the app

A Confluence site admin installs Page Tree Markdown Export from the Atlassian Marketplace. During installation, Atlassian asks the admin to approve what the app can access. Everything it asks for is read-only, apart from its own storage:

  • Pages, spaces and blog posts, so it can walk the page tree and read the page content to convert.
  • Attachments, so images and files can go into the ZIP.
  • Labels, for the optional front matter at the top of each file.
  • Page permission checks, so it can confirm you’re allowed to view each page before reading it.
  • App storage, to hold the converted Markdown until you download it.

The app can’t create, change or delete anything in your Confluence site.

The first time you use it, the app asks you to Allow access. That lets it read pages and attachments with your own Confluence permissions, so an export only includes what you can see.

Export a page tree

  1. Open the page at the top of the tree you want.
  2. Open the page’s ••• menu and choose Export page tree to Markdown.
  3. The page and every page below it are already ticked, and each branch shows how many pages it holds. Untick any branch you don’t want. The counter at the bottom shows exactly how many pages will be exported.
  4. Optionally, open Options to change what’s included (see Export options).
  5. Choose Start export. The window shows the export’s progress. Choose View export progress to follow it on the space’s Markdown Export page, or Close the window: the export carries on in the background.

Export a whole space or several trees

  1. In the space sidebar, open Markdown Export. (From the page menu’s export window, Export a whole space or several trees takes you there too.)
  2. Choose Export whole space, or Choose pages… to tick several trees.
  3. On Export options, check the scope and page count (choose Change to go back), set your options, and choose Start export.

The same page lists your exports, so it’s where you come back to follow progress and download.

Export options

Every option has a sensible default, so you can export without touching any of them. They apply to the export you’re starting.

  • Include attachments (on): images and files go into an assets folder next to each page, linked with relative paths.
  • Generate index.md (on): adds an index.md at the top of the ZIP with a nested list of every exported page, in Confluence order.
  • Numeric order prefixes (on): prefixes file and folder names with 01-, 02- and so on, so they sort in the same order as in Confluence.
  • Strip page-title heading (off): leaves out the heading that repeats the page title at the top of each file.
  • Include blog posts (off): exports the space’s blog posts into a blog folder, named by date.
  • YAML front matter (off): starts each file with its title, page ID, labels and last-modified date.

The output is GitHub-flavored Markdown.

Follow progress

Exports run in the background, twenty pages at a time. Markdown Export shows each of your exports with its status (Queued, Running, Ready, Ready with warnings, Failed or Cancelled), how many pages are done out of the total, and when it was created and expires. Open an export to see its phase (discovering pages, converting, finishing) and its warnings so far. While it runs, you can choose Cancel export. A cancelled export can’t be downloaded; delete it, or it’s removed automatically with the others after 7 days.

Large spaces take a while, and Confluence sometimes asks apps to slow down. When that happens the export waits as long as Confluence asks and then continues on its own; you don’t need to restart it.

Download the ZIP

When an export is ready, choose Download next to it (or Download ZIP on its progress view), then Build ZIP. Your browser puts the ZIP together from the converted Markdown and fetches each attachment directly from Confluence as you, so nothing passes through any other server. Keep the tab open until it says the ZIP is ready, then choose Download ZIP. The file is named after the space key and the time the export started, for example DOCS-20261018-0930.zip.

If an attachment can’t be fetched, it’s listed with Retry (or Retry all), and you can still download the ZIP without it.

What’s in the ZIP

Folders mirror your page tree, in Confluence’s order:

index.md
report.md
01-Getting-started.md
01-Getting-started.assets/
  diagram.png
02-Setup.md
02-Setup/
  01-Install.md
  02-Configure.md
  • Each page is a .md file. A page with children also gets a folder of the same name holding them.
  • Images and attachments sit in an .assets folder next to the page that uses them, and are linked with relative paths, so the files render offline.
  • Links between exported pages become relative links. Links to pages that weren’t exported keep their full Confluence address.
  • Accented letters in titles become plain letters (Přehled účtů becomes Prehled-uctu.md), and two pages with the same title get -2, -3 and so on.

Read the export report

Nothing is left out silently. Each export has a report, both in the app (choose the Report button in the export’s row on Markdown Export) and as report.md in the ZIP. It counts the pages exported and, with an Open in Confluence link for each source page, lists:

  • Failed pages: pages that couldn’t be converted after three attempts. Choose Retry failed pages to export just those again.
  • Placeholders: macros the app can’t convert.
  • Skipped macros: draw.io diagrams with no image to use, and includes that failed, included each other in a loop or went more than three levels deep.
  • Attachment problems (in report.md): attachments a page refers to that couldn’t be found.
  • Unresolved links: links to pages outside the export, kept as full Confluence addresses.

Pages you’re not allowed to view are skipped. The report shows how many were skipped for permissions, but never their titles.

What converts, and how

  • Headings, lists (including task lists), links, emphasis, quotes and panels convert to their Markdown equivalents. Expand sections become their title in bold, followed by their content.
  • Code blocks become fenced blocks tagged with their language, with every space and tab kept exactly.
  • Tables become Markdown tables. A table whose cells hold lists or other blocks is kept as an HTML table so it still renders.
  • Include page and excerpt include content is placed inline, up to three levels deep.
  • Children display becomes a list of links to the child pages. Jira issue macros become a short “not exported” link back to the page, with a report entry.
  • draw.io diagrams use the diagram’s PNG image attachment when there is one. Without one, the diagram becomes a placeholder and is listed under skipped macros.
  • Table of contents macros are left out, because Markdown viewers build their own.
  • Any other macro becomes a labelled placeholder and a report entry. A macro never stops the export.

How long exports are kept

Converted Markdown is kept in your site’s app storage for 7 days after you start an export, then deleted automatically. You can delete an export sooner: choose Delete from its ••• menu on Markdown Export. Attachments are never stored by the app. Details are in the privacy policy.

Licensing

If the app’s license on your site is inactive, the app says so. New exports, retries and downloads are switched off until a site admin renews it in Manage apps. Your list of exports and their reports stay readable.

Troubleshooting

  • The menu item is missing. Ask a site admin to check that the app is installed and its license is active.
  • “You can’t view this page.” You need view permission on the page at the top of the tree to export it.
  • Some pages aren’t in the ZIP. Check the report: they were either skipped because you can’t view them, or they failed and can be retried.
  • A macro shows as a placeholder. The app doesn’t support that macro yet. Tell me which one and I’ll look at it.
  • Something else. See Support.