Guide · Atlassian facts checked against its docs, 13 October 2026

Confluence storage format: what it is and how to view it

Confluence saves every page in its storage format: XHTML-based XML with its own ac: tags for macros, links and tasks and ri: tags for what they point at. Here's how to view it on Cloud and Data Center, what the common pieces look like, and what happens to it when you export or move a space.

What the storage format is

Atlassian calls it "XHTML-based", but says that technically it's XML, because it doesn't fully follow the XHTML definition. Ordinary content looks like HTML: <p>, <h2>, <ul>, <table>. Anything Confluence-specific uses its own elements:

From Atlassian's Confluence storage format reference.

How to view the storage format

Confluence Cloud

View Source isn't the same thing: Atlassian notes it shows the editor's format, not the storage format.

Sources: Atlassian Support on storage format on Cloud and as a non-admin.

Confluence Data Center

Sources: Atlassian's storage format reference and Data Center REST API examples.

What common content looks like

These examples are from Atlassian's documentation. The macro examples come from older versions of its docs, as the current macro pages give wiki markup instead.

Link to another page

<ac:link>
  <ri:page ri:content-title="Page Title" />
  <ac:plain-text-link-body><![CDATA[Link to another Confluence Page]]></ac:plain-text-link-body>
</ac:link>

Links to pages go by title (plus ri:space-key for another space), not by address. Confluence updates these titles when a page is renamed or moved, but any tool reading the content outside Confluence has to match them back to pages.

Attachment link and image

<ac:link>
  <ri:attachment ri:filename="atlassian_logo.gif" />
</ac:link>

<ac:image>
  <ri:attachment ri:filename="atlassian_logo.gif" />
</ac:image>

The file itself isn't in the page body, only its name. It lives in the page's attachments.

Code block macro

<ac:structured-macro ac:name="code">
  <ac:parameter ac:name="language">xml</ac:parameter>
  <ac:parameter ac:name="title">This is my title</ac:parameter>
  <ac:plain-text-body><![CDATA[<b>This is my code</b>]]></ac:plain-text-body>
</ac:structured-macro>

Plain-text macro bodies sit in a CDATA block, so the code is stored exactly as typed.

Info, tip, note and warning macros

<ac:structured-macro ac:name="info">
  <ac:parameter ac:name="title">This is my title</ac:parameter>
  <ac:rich-text-body>
    <p>This is <em>important</em> information.</p>
  </ac:rich-text-body>
</ac:structured-macro>

Tip, note and warning panels use the same shape with ac:name="tip", "note" or "warning". Their body is rich text, so it can hold lists, tables and other macros.

Include page macro

<ac:structured-macro ac:name="include">
  <ac:parameter ac:name="">
    <ac:link>
      <ri:page ri:content-title="My chocolate page" ri:space-key="DOC" />
    </ac:link>
  </ac:parameter>
</ac:structured-macro>

The included page's text isn't stored here, only a pointer to it. Confluence fills it in each time the page is shown.

Task list

<ac:task-list>
  <ac:task>
    <ac:task-status>incomplete</ac:task-status>
    <ac:task-body>task list item</ac:task-body>
  </ac:task>
</ac:task-list>

Sources: Atlassian's storage format reference (links, images, tasks), and the Confluence 5.7 to 5.9 docs for the code block, info and include page macros. The code and info examples are shortened.

What happens to the storage format on export

Source: Atlassian's export documentation for Data Center. Our guide to exporting a Confluence space covers each export step by step, on Cloud and Data Center.

Getting storage format into Docmost

Docmost doesn't read Confluence storage format directly. Its free edition imports HTML and Markdown, so a Confluence HTML export goes in as rendered pages, with the clean-up our Confluence to Docmost guide walks through. Docmost's paid edition has its own Confluence importer.

Tablewide's importer reads both exports. From an XML export it converts each macro from its storage format definition; from an HTML export it works from the rendered output. Either way:

Because it's standard Docmost, you can export your pages at any time and import them into a Docmost you run yourself.

31 seconds, no sound: the start-now preview for Google Workspace teams. You upload a Confluence HTML export and it opens as your wiki. This sample is 4 made-up pages; bigger spaces take longer. Through the form, your preview is ready within two business days of your upload. Where the export records it, each page names who wrote it in Confluence, plus who last edited it and when. Comments, page history and permissions don't come across.

The free preview puts one Confluence space into a private Docmost wiki for 7 days, with no card, so you can see how your own macros came across before you decide. The preview terms say where your export is stored and when it's deleted. Tablewide is $49 a month for your whole company, with unlimited users.

Get a free preview See the migration service

Confluence is a trademark of Atlassian and Docmost is a trademark of its developers. Tablewide is not affiliated with or endorsed by either.