Wiki.js supports the full CommonMark specification + GitHub Flavored Markdown (GFM) extensions, plus its own Wiki.js-specific features.
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6
**Bold text**
*Italic text*
~~Strikethrough~~
**_Bold and italic_**
`Inline code`
<kbd>Ctrl</kbd> + <kbd>S</kbd>
Bold text | Italic text | Strikethrough | Bold and italic | Inline code | Ctrl + S
Standard blockquote:
> This is a blockquote.
> It can span multiple lines.
> This is an info note.
{.is-info}
> This is a success note.
{.is-success}
> This is a warning note.
{.is-warning}
> This is a danger/error note.
{.is-danger}
This is an info note.
This is a warning note.
This is a danger/error note.
- Item one
- Item two
- Nested item
- Another nested
- Item three
1. First item
1. Second item
1. Third item
Tip: You can use
1.for every line — Wiki.js will auto-number them.
- [x] Completed task
- [x] Another done item
- [ ] Pending task
- Grid Item 1
- Grid Item 2
- Grid Item 3
{.grid-list}
- [Page Title *Subtitle description here*](/link/to/page)
- [Another Page *Another subtitle*](/other/page)
{.links-list}
[Link Text](https://example.com)
[Internal Page](/folder/page-name)
[Link with title](https://example.com "Tooltip title")





Use `backticks` for inline code.
```
function hello() {
return "world"
}
```
```javascript
function greet(name) {
return `Hello, ${name}!`
}
```
```python
def greet(name):
return f"Hello, {name}!"
```
Wiki.js supports ~185 programming languages for syntax highlighting.
| Column 1 | Column 2 | Column 3 |
|----------|----------|----------|
| Cell A | Cell B | Cell C |
| Cell D | Cell E | Cell F |
| Left | Center | Right |
|:---------|:--------:|---------:|
| left | center | right |
---
Use the {.tabset} class on a parent heading. Child headings become tabs.
# Parent Section {.tabset}
## Tab One
Content for tab one goes here.
## Tab Two
Content for tab two goes here.
## Tab Three
Content for tab three goes here.
The parent heading text is hidden. Children must be one level deeper (e.g.,
##tabs under#, or####tabs under###).
```mermaid
graph TD
A[Start] --> B{Decision}
B -->|Yes| C[Do this]
B -->|No| D[Do that]
C --> E[End]
D --> E
```
```mermaid
sequenceDiagram
Alice ->> Bob: Hello Bob!
Bob -->> Alice: Hello Alice!
```
Inline math:
$E = mc^2$
Block math:
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$
Here is a sentence with a footnote.[^1]
[^1]: This is the footnote content.
Press <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>Del</kbd>
Press Ctrl + Alt + Del
H~2~O ← Subscript
X^2^ ← Superscript
H2O | X2
The HTML specification is maintained by the W3C.
*[HTML]: HyperText Markup Language
*[W3C]: World Wide Web Consortium
Term 1
: Definition for term 1
Term 2
: Definition for term 2
:smile: :rocket: :warning: :white_check_mark:
Apply custom classes to any element using {.classname} syntax:
Some text here.
{.my-custom-class}
{.radius-4}
Use a backslash \ to escape Markdown characters:
\*Not italic\*
\# Not a heading
\[Not a link\]
| Element | Syntax |
|---|---|
| Bold | **text** |
| Italic | *text* |
| Strikethrough | ~~text~~ |
| Inline Code | `code` |
| Keyboard Key | <kbd>Key</kbd> |
| Link | [text](url) |
| Image |  |
| Blockquote | > text |
| Info callout | > text + {.is-info} |
| Warning callout | > text + {.is-warning} |
| Danger callout | > text + {.is-danger} |
| Success callout | > text + {.is-success} |
| Unordered list | - item |
| Ordered list | 1. item |
| Task list | - [x] done / - [ ] todo |
| Grid list | List + {.grid-list} |
| Links list | [Title *Sub*](url) + {.links-list} |
| Table | \| col \| col \| with \|---\|---\| |
| Code block | ``` lang |
| Mermaid diagram | ```mermaid |
| Tabs | Heading + {.tabset} |
| Horizontal rule | --- |
| Footnote | [^1] / [^1]: text |
| Subscript | H~2~O |
| Superscript | X^2^ |
| Inline math | $formula$ |
| Block math | $$formula$$ |
| Emoji | :emoji_name: |
| Escape character | \* |