# Markdown to Confluence

Convert Markdown to Confluence markup in your browser — storage format (XHTML) or wiki markup, with code macros, panels, tables, and lists. Free, no upload, no sign-up.

## Run it

- **CLI:** `gizza tool markdown-to-confluence '# Release notes

Some **bold** and `inline code`.

> Note: back up before upgrading.

```sql
SELECT 1;
```

| Step | Owner |
|------|-------|
| Deploy | Alex |'`
- **Web:** https://gizza.ai/tools/markdown-to-confluence/
- **Agents:** machine-readable descriptor (parameters JSON Schema) at https://gizza.ai/tools/markdown-to-confluence/tool.json

## Inputs

- `input` — Markdown _(field)_
- `format` — Output format _(field)_
- `panel_blockquotes` — Convert Note/Warning/Info/Tip blockquotes to panels _(field)_
- `heading_offset` — Heading offset (0–5 — demote headings) _(field)_

## Output

- Confluence markup (text)

## Query parameters

Open the tool pre-filled and auto-run via URL:

- `input` — Markdown
- `format` — Output format
- `panel_blockquotes` — Convert Note/Warning/Info/Tip blockquotes to panels
- `heading_offset` — Heading offset (0–5 — demote headings)

Example: `https://gizza.ai/tools/markdown-to-confluence/?input=%23%20Release%20notes%0A%0ASome%20%2A%2Abold%2A%2A%20and%20%60inline%20code%60.%0A%0A%3E%20Note%3A%20back%20up%20before%20upgrading.%0A%0A%60%60%60sql%0ASELECT%201%3B%0A%60%60%60%0A%0A%7C%20Step%20%7C%20Owner%20%7C%0A%7C------%7C-------%7C%0A%7C%20Deploy%20%7C%20Alex%20%7C&format=storage&panel_blockquotes=true&heading_offset=0`

---

## Markdown to Confluence, right in your browser

Paste a Markdown document and get clean Confluence markup you can drop straight
into a page. The conversion runs entirely on your device with WebAssembly — your
text is never uploaded, there is no account, and there are no limits. Pick
**storage format** for the XHTML the Cloud REST API consumes, or **wiki markup**
for the Data Center / Server "Insert markup" dialog.

## Which output format do I want?

- **Storage format** is the canonical XHTML-based markup a Confluence Cloud page
  is stored as. It carries structured macros — so fenced code becomes a real
  **code macro** (with its language) and a `Note:` blockquote becomes a real
  **panel** — and it's what the REST API (`PUT /content`) expects. Use it when
  you're pushing pages programmatically or pasting into the storage-format editor.
- **Wiki markup** is the older text dialect used by the Data Center / Server
  editor's "Insert markup" flow. It's more compact (`h2.`, `*bold*`, `{code}`,
  `{note}`) but the Cloud editor won't paste it directly.

## What gets converted

- **Headings** — ATX `#` … `######` map to `h1`–`h6`. Use the **heading offset**
  option to demote every heading by 1–5 levels when you're pasting under an
  existing page title; anything past `h6` is capped there.
- **Inline formatting** — `**bold**`, `*italic*`, `~~strikethrough~~`, and
  `` `inline code` `` all convert, in both formats.
- **Lists** — bullet, numbered, and nested lists become `<ul>`/`<ol>` in storage
  format or `*` / `#` markers (repeated for nesting) in wiki markup.
- **Code** — fenced blocks become a **code macro** in storage format (with the
  language you tagged the fence, inside a `CDATA` block so nothing is escaped) or
  `{code:language}` in wiki markup.
- **Tables** — GitHub pipe tables become a `<table>` with `<th>` header cells, or
  `||header||` / `|cell|` rows in wiki markup.
- **Panels** — a blockquote whose first line starts `Note:`, `Warning:`, `Info:`,
  or `Tip:` becomes the matching Confluence panel macro (`info` / `note` /
  `warning` / `tip`), with the prefix stripped. Turn the option off to keep every
  blockquote a literal quote.
- **Links, images, and rules** — `[text](url)`, `![alt](src)`, and `---`
  thematic breaks all convert to their Confluence equivalents.

## Safe by construction

Prose is escaped for the target format automatically — the XHTML special
characters (`&`, `<`, `>`) in storage format and the structural characters
(`{`, `}`, `[`, `]`, `|`) in wiki markup — so a `1 < 2` comparison or a
`{placeholder}` won't break the page. Code blocks are emitted literally, so what
you paste is exactly what runs.

## Private by design

The conversion happens locally in your browser with WebAssembly. Nothing is sent
to a server, so it works offline and your documents stay yours.

## FAQ

<details>
<summary>What is the difference between storage format and wiki markup?</summary>

Storage format is the XHTML-based markup a Confluence Cloud page is actually
stored as, and it's what the REST API consumes — it carries structured macros
like the code and panel macros. Wiki markup is the older, more compact text
dialect used by the Data Center / Server editor's "Insert markup" dialog. Pick
storage format for Cloud and the API; pick wiki markup for the legacy insert flow.

</details>

<details>
<summary>How do I get an info, note, warning, or tip panel?</summary>

Write a blockquote whose first line starts with `Note:`, `Warning:`, `Info:`, or
`Tip:` (case-insensitive) — for example `> Warning: back up first.` With the
panel option on (the default), it becomes the matching Confluence panel macro and
the prefix is removed. Turn the option off if you'd rather keep every blockquote
as a plain quote.

</details>

<details>
<summary>Can I paste the wiki-markup output straight into Confluence Cloud?</summary>

Not directly — the Cloud editor doesn't accept wiki markup on paste. Use the
storage format output for Cloud (via the storage editor or the REST API), and use
wiki markup for the Data Center / Server "Insert markup" dialog, which still
supports it.

</details>

<details>
<summary>What does the heading offset do?</summary>

It demotes every heading by 1–5 levels: with offset 1, `#` becomes `h2` instead
of `h1`, `##` becomes `h3`, and so on. That's the right knob when you're pasting
the converted content under an existing page title. Levels that would fall past
`h6` stay at `h6`.

</details>

<details>
<summary>Does anything get uploaded?</summary>

No — the whole conversion runs in your browser with WebAssembly. Your Markdown
never leaves your device, there's no account, and it works offline once the page
has loaded.

</details>

## Related tools

- [BibTeX Formatter & Validator](https://gizza.ai/tools/bibtex-format/): Free BibTeX formatter and validator — pretty-print, sort and align .bib bibliography entries in your browser. Consistent indentation, no sign-up, no upload.
- [Citation Generator](https://gizza.ai/tools/citation-generator/): Free APA 7, MLA 9, Chicago and Harvard citation generator — format author, title, year, journal and URL into a correct reference right in your browser.
- [Document Splitter](https://gizza.ai/tools/document-splitter/): Split a long Markdown or HTML document into separate files, one per top-level heading. Runs entirely in your browser, no upload, no sign-up.
- [ENEX to Markdown Converter](https://gizza.ai/tools/enex-to-markdown/): Convert Evernote ENEX exports to Markdown or plain text with titles, dates, tags, source URLs, and attachment summaries — locally in your browser.
- [HTML to Markdown](https://gizza.ai/tools/html-to-markdown/): Convert HTML into clean Markdown instantly in your browser — preserves headings, links, lists, code blocks, tables, and emphasis. Free, private, no upload, no sign-up.
