Browse documentation
Docs/Markdown Toolkit/Exporting to Markdown

Exporting to Markdown

What to export, where it is going, and what each setting changes in the files you get.

How it runs. Exports are background jobs, so a large space does not depend on your browser staying open. Progress is reported at each stage: fetching the page tree, converting pages, fetching attachments, finalising.

Confluence space → Markdown Toolkit → ExportIllustration
ExportImport
Select a space
Engineering Handbook (ENG)
Select pages to export
Select AllDeselect All14 of 62 pages selected
Engineering Handbook
Onboarding
Day one checklist
Local environment
Runbooks
Incident response
Open the export in
Docusaurus
A folder gets index.md, and sidebar_position carries the page order.
Include attachments
Add YAML front matter
Number files to keep page order
Generate index file
Bulk Export (14)Export Entire Space
Converting pages (9/14)…
Fetching page tree → Converting pages → Fetching attachments → Finalizing

Choosing what to export

OptionWhat you get
This page onlyOne page, one file.
This page and all childrenThe page and everything beneath it, with the hierarchy kept as folders.
Bulk ExportA hand-picked selection: tick exactly the pages you want in the tree.
Export Entire SpaceEverything in the space.

Where the export is going

This is the first choice, and it moves the others to match. Markdown is not one format — a file that reads perfectly in Obsidian is not what Docusaurus wants, and the difference is not cosmetic. It decides where a page with children is written, what carries the page order, and how one file links to another. Get it wrong and the archive opens with every link broken.

DestinationA page that has childrenPage order carried byLinks between pages
Plain Markdownguide.md, next to a guide/ folder01- filename prefixrelative — ./install.md, ../api.md
Obsidiansame as plain01- filename prefixwikilinks — [[folder/note|text]], images as ![[embeds]]
Docusaurusguide/index.mdsidebar_position in front matterrelative
MkDocsguide/index.md01- filename prefixrelative
Hugoguide/_index.mdweight in front matterrelative

Why a page with children is the hinge. In Confluence a page can be both a page and a parent. On a filesystem it has to be one or the other. Plain Markdown and Obsidian put the page beside the folder, which is the shape this app's own import reads back — so an export round-trips. Static site generators want the folder to own an index file instead, because that is what makes the folder a section that has a page of its own.

The same three pages, Plain on the left, Docusaurus on the right
01-Guide.md                    Guide/
01-Guide/                        index.md
  01-Install.md                  Install.md
  02-Configure.md                Configure.md

Why the numbers appear or not. A filesystem sorts alphabetically; Confluence does not. The 01- prefix is the only thing that carries your page order onto disk — so it is on by default. Docusaurus and Hugo read the order from front matter instead, and there the prefix would only end up in the published URL, so choosing one of those turns it off for you. You can override that either way.

The switches

Include attachments
Downloads the files attached to the exported pages and puts them in <page>/attachments/, with every image link rewritten to point at them — so the archive opens with its pictures, offline. This is the setting that makes an export large. With it off, images point at the file on your Confluence site instead, so the page still shows them for anyone with access rather than showing a broken image.
Add YAML front matter
Puts a block at the top of every file with the page title (the real one, including characters a filename cannot hold), the ordering key your destination needs, and where the page came from: confluence_id, confluence_space and a confluence_url you can click. That last one is what lets somebody open the original page from a file that has been sitting in a repository for six months.
Number files to keep page order
The 01- prefix. On unless the destination reads the order from front matter. Turn it off if you want clean filenames and do not care that a directory listing shows them alphabetically.
Generate index file
Adds an index.md at the root of the archive listing every exported page and its hierarchy, in the link style of the destination you chose. Useful when the target is a repository that expects an entry point.
Export as single file
Concatenates everything into one .md instead of a file per page. There are no folders, so there is nowhere to put attachments and the option is switched off for you.

What you get

A .zip named for the space, the destination and the day — DOCS-docusaurus-2026-08-29.zip — so a folder of exports made while trying settings is still readable a week later.

Nothing in the archive points at a file that is not in it
Links between exported pages are rewritten relative to the file being written, not to the archive root, so they resolve from wherever the file sits. A link to a page outside the export points at the live Confluence page instead — never at a path the archive does not contain.

Exporting one page from the page itself

Confluence page → ••• → Export to MarkdownIllustration

Export to Markdown

Incident response — Runbooks — Engineering Handbook

This page only
This page and all children
Export as single file
Include attachments
Open the export in
Obsidian
Export complete!
DownloadNew Export

•••Export to Markdown on any page runs the same conversion for that page. New Export resets the dialog if you want to run it again with different options.

What converts cleanly

  • Headings, text formatting, lists, task lists, links and images.
  • Tables, including header rows.
  • Code blocks, with the language kept so syntax highlighting still works.
  • Info, note and warning panels, converted to GitHub-style callouts such as > [!NOTE].
  • The page hierarchy, as a folder structure.
  • Attachments, when you enable that option.

What it will not pretend

  • An attachment over 25 MB, or past 250 MB in total, is left out — and the result lists which ones, so you know what to fetch by hand.
  • A page that cannot be read is skipped and counted, not exported as an empty file.
  • The file count in the result is what the archive holds, never what the job set out to fetch.
  • A Confluence macro with no Markdown equivalent leaves a comment naming it, so you can see where something dynamic used to be.
How to export a big space without pain
Run a Bulk Export on one branch of the tree first and check the output. Then run the full space export. Exports are held in the app's storage until you download them, so download promptly and use Reset to clear a job you no longer need.

Something missing or wrong on this page? Tell us in the support portal or email contact@synapseoasis.com.