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.
Choosing what to export
| Option | What you get |
|---|---|
| This page only | One page, one file. |
| This page and all children | The page and everything beneath it, with the hierarchy kept as folders. |
| Bulk Export | A hand-picked selection: tick exactly the pages you want in the tree. |
| Export Entire Space | Everything 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.
| Destination | A page that has children | Page order carried by | Links between pages |
|---|---|---|---|
| Plain Markdown | guide.md, next to a guide/ folder | 01- filename prefix | relative — ./install.md, ../api.md |
| Obsidian | same as plain | 01- filename prefix | wikilinks — [[folder/note|text]], images as ![[embeds]] |
| Docusaurus | guide/index.md | sidebar_position in front matter | relative |
| MkDocs | guide/index.md | 01- filename prefix | relative |
| Hugo | guide/_index.md | weight in front matter | relative |
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.
01-Guide.md Guide/
01-Guide/ index.md
01-Install.md Install.md
02-Configure.md Configure.mdWhy 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_spaceand aconfluence_urlyou 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.mdat 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
.mdinstead 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.
Exporting one page from the page itself
Export to Markdown
Incident response — Runbooks — Engineering Handbook
••• → 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.