Back to Blog

How to Convert Markdown to Confluence Wiki Markup

MD-TO Team

If you write in Markdown but collaborate with a team that uses Atlassian Confluence, you’ve likely run into the format gap: Confluence Data Center and Server use their own wiki markup syntax, which looks nothing like Markdown.

Manually rewriting your documents is tedious and error-prone. md-to.com provides a free, browser-based converter that turns Markdown into Confluence wiki markup in real time.

This article walks through what the tool supports, how to use it, and what to watch out for.


What Syntax Is Supported?

The converter handles the following Markdown elements and maps them to their Confluence equivalents:

Text Formatting

MarkdownConfluence Output
**bold***bold*
*italic*_italic_
~~strikethrough~~-strikethrough-
`inline code`{{inline code}}

Headings

Markdown # through ###### map to h1. through h6. in Confluence.

## Section Title

becomes:

h2. Section Title
  • [Google](https://google.com) becomes [Google|https://google.com]
  • ![alt text](https://example.com/img.png) becomes !https://example.com/img.png|alt=alt text!

Code Blocks

Fenced code blocks are converted to Confluence {code} macros. The language identifier is preserved:

```javascript
function greet(name) {
  return "Hello, " + name;
}
```

becomes:

{code:language=javascript}
function greet(name) {
  return "Hello, " + name;
}
{code}

Code blocks without a language tag omit the :language= attribute.

Tables

Markdown tables are converted with || for header cells and | for data cells:

| Name | Age |
|------|-----|
| Alice | 30 |

becomes:

||Name||Age||
|Alice|30|

Pipe characters inside cells are automatically escaped.

Lists

  • Unordered lists use *, with ** for nested items, *** for deeper nesting, and so on.
  • Ordered lists use #, with ## for nested items.
  • Task lists are converted: - [x] becomes (/) (done) and - [ ] becomes (x) (not done).

Blockquotes

Blockquotes are wrapped in {quote}...{quote}. Nested blockquotes are flattened into a single {quote} block, because Confluence does not support nested quoting.

Horizontal Rules

--- in Markdown becomes ---- in Confluence.


How to Use It

  1. Paste your Markdown into the left editor at md-to.com/markdown-to-confluence.
  2. View the output on the right — it updates as you type.
  3. Copy or download the Confluence wiki markup using the buttons above the output panel.

The editor synchronizes scrolling between input and output, so you can review long documents without losing your place.


How It Works

The converter is built on markdown-it, a Markdown parser that produces a stream of tokens (an abstract syntax tree). Instead of using fragile regex replacements, the tool walks the token tree and renders each node into the corresponding Confluence markup.

This approach means:

  • Nested structures (lists inside lists, code blocks inside list items) are handled correctly.
  • Special characters in links, images, and table cells are escaped where needed.
  • The output stays consistent with how markdown-it interprets the input, avoiding edge-case surprises.

All processing happens locally in your browser. No data is sent to any server.


Compatibility and Limitations

Target environment: The output is designed for Confluence Data Center / Server, or the legacy markup insertion flow in Confluence Cloud. The new editor in Confluence Cloud does not accept wiki markup directly.

Known limitations:

  • Nested blockquotes are flattened — Confluence wiki markup has no nested {quote} support.
  • Raw HTML in Markdown is ignored (the parser has HTML disabled).
  • Advanced markdown-it plugins (footnotes, definition lists, etc.) are not enabled.

Wrapping Up

If you need to move Markdown content into Confluence Data Center or Server, this converter handles the syntax mapping for you — headings, formatting, code blocks, tables, lists, and more.

Try it at md-to.com/markdown-to-confluence.


Resources: