User Rating 0.0
Total Usage 0 times
Markdown Input
Confluence Markup
Lines: 0 Input chars: 0 Output chars: 0
Is this tool helpful?

Your feedback helps us improve.

About

Confluence Wiki Markup uses a proprietary syntax that diverges from Markdown in nearly every construct. Headings use h1. instead of #. Bold wraps in single asterisks, not double. Code blocks require {code} tags. Links invert to [label|url]. Manual conversion across a large document introduces transposition errors that break page rendering in Confluence without clear diagnostics. This converter implements a two-pass parser: block-level tokenization followed by inline markup transformation. It handles nested lists, pipe tables with header rows, multi-line code fences with language hints, blockquotes, images, and horizontal rules. The tool approximates correct output assuming standard CommonMark input. Edge cases include raw HTML passthrough (not converted) and deeply nested blockquote-list combinations, which Confluence itself renders inconsistently.

markdown confluence wiki markup converter atlassian document converter markup

Formulas

This converter applies a deterministic two-pass text transformation algorithm. No mathematical formulas are involved. The logic is rule-based pattern matching.

Pass 1 Block Tokenization

The input string S is split by newline into lines L0, L1, …, Ln. Each line is classified into a block type B {HEADING, CODE_FENCE, UL, OL, BLOCKQUOTE, TABLE, HR, PARAGRAPH} via regex prefix matching.

Pass 2 Inline Transformation

Within each non-code block, inline patterns are replaced sequentially: bold (**text** *text*), italic (*text* _text_), strikethrough (~~text~~ -text-), code (`text` {{text}}), image, link. Order matters: bold must be matched before italic to avoid single-asterisk conflicts.

Where S = input Markdown string, Li = individual line at index i, B = block type classification, n = total number of lines.

Reference Data

Markdown SyntaxConfluence Wiki MarkupElement TypeNotes
# Headingh1. HeadingHeading 1Levels 1-6 supported
## Headingh2. HeadingHeading 2
**bold***bold*BoldSingle asterisks in Confluence
*italic* or _italic__italic_ItalicUnderscores in both systems
~~strikethrough~~-strikethrough-StrikethroughHyphens in Confluence
`inline code`{{inline code}}Inline CodeDouble curly braces
```lang ... ```{code:lang}...{code}Code BlockLanguage parameter optional
[text](url)[text|url]LinkLabel and URL separated by pipe
![alt](src)!src|alt=alt!ImageExclamation marks wrap source
- item* itemUnordered ListNested: **, ***
1. item# itemOrdered ListNested: ##, ###
> quote{quote}...{quote}BlockquoteBlock-level macro
--- or ***----Horizontal RuleFour hyphens in Confluence
| H1 | H2 ||| H1 || H2 ||Table HeaderDouble pipes for headers
| C1 | C2 || C1 | C2 |Table CellSingle pipes for body rows
[text](url "title")[text|url]Link with TitleTitle attribute discarded
\*escaped\**escaped*Escaped CharactersBackslash escapes removed

Frequently Asked Questions

Confluence uses repeated marker characters for nesting depth. A second-level unordered item becomes **, third-level becomes ***. Mixed nesting (ordered inside unordered) uses combined markers like *#. The converter tracks indentation depth (each 2 or 4 spaces = 1 level) and builds the appropriate prefix string by alternating * and # based on the marker type at each level.
A Markdown fence like ```javascript converts to {code:javascript} with the closing {code}. The language string is extracted from the opening fence and inserted as a parameter. If no language is specified, the output is simply {code} without a parameter. Content inside code blocks is never processed for inline markup transformations.
Raw HTML is passed through as-is without transformation. Confluence does not render arbitrary HTML in wiki markup mode. If your source Markdown contains <div> or <span> tags, they will appear literally in the output. You would need to use Confluence's HTML macro {html} to render them, which requires administrator permissions on most Confluence instances.
Markdown uses the separator row (|:---|:---:|---:|) to indicate left, center, and right alignment. Confluence Wiki Markup has no native column alignment syntax. The converter discards the separator row entirely and converts header cells to double-pipe format || Header || and body cells to single-pipe format | Cell |. Alignment must be applied manually in the Confluence editor after pasting.
This tool outputs Confluence Wiki Markup, the legacy human-readable syntax used in Confluence's text editor and macros. Confluence Storage Format is an XHTML-based format used internally by Confluence Server/Cloud since version 4.0. The REST API typically expects Storage Format. Wiki Markup is suitable for pasting into the legacy editor, source editor plugin, or wiki markup macros. If you need Storage Format, additional XHTML wrapping would be required.
Reference-style links like [text][id] with a separate [id]: url definition are resolved during parsing. The converter collects all reference definitions first, then resolves inline references to produce [text|url] in the output. Standard footnotes ([^1]) are not part of CommonMark and are not converted. They will appear as literal text in the output.