DokuWiki Formatting Syntax

DokuWiki supports some simple markup language, which tries to make the datafiles to be as readable as possible. This page contains all possible syntax you may use when editing the pages. Simply have a look at the source of this page by pressing the Edit this page button at the top or bottom of the page. If you want to try something, just use the playground page. The simpler markup is easily accessible via quickbuttons, too.

Basic text formatting 

DokuWiki supports *bold*, //italic//, 'underlined' and ''monospaced'' texts. Of course you can *'//''combine''//'* all these.

You can use <sub>subscript</sub> and <sup>superscript</sup>, too.

You can mark something as <del>deleted</del> as well.

Paragraphs are created from blank lines. If you want to force a newline without a paragraph, you can use two backslashes followed by a whitespace or the end of line. Note that the two backslashes are only recognized at the end of a line or followed by a whitespace \\this happens without it.


You can use up to five different levels of headlines to structure your content. If you have more than three headlines, a table of contents is generated automatically - this can be disabled by including the string —NOTOC— in the document.

==== Headline Level 3 ====
=== Headline Level 4 ===
== Headline Level 5 ==

By using four or more dashes, you can make a horizontal line:

Inverse Heading Syntax

Is it possible to inverse syntax of headings? It would be more cushier for users if they can "count levels" while writing a text. It would also save time if you get more levels than expected - you wouldn't have to change every heading.


==Heading 1==
===Heading 2 ===
====Heading 3====

Nonparsed Blocks 

You can include non parsed blocks into your documents by either indenting them by at least two spaces (like used for the previous examples) or by using the tags code or file.

To let the parser ignore an area completely (ie. do no formatting on it), enclose the area either with nowiki tags or even simpler, with double percent signs %%.

This is some text which contains addresses like this: and *formatting*, but nothing is done with it.

See the source of this page to see how to use these blocks.

Embedding HTML and PHP 

You can embed raw HTML or PHP code into your documents by using the html or php tags like this:

This is some <font color="red" size="+1">HTML</font>
echo 'A logo generated by PHP:';
echo '<img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" />';

Please Note: HTML and PHP embedding is disabled by default in the configuration. If disabled, the code is displayed instead of executed.


Dokuwiki supports ordered and unordered lists. To create a list item, indent your text by two spaces and use a * for unordered lists or a - for ordered ones.

  • This is a list
  • The second item
  • You may have different levels
  • Another item

    • The same list but ordered
    • Another item
    • Just use indention for deeper levels
    • That's it

Colored or indented quoting

DokuWiki can mark some text by preceding it with one or more > characters. By default DokuWiki just adds blue bars in front of the quoted text. Any chance of some syntax rule being added to DokuWiki, to handle this colored quote?

You can change how the quoting looks by changing the stylesheet style.css. Find the following block:

.quote {
  border-left: 2px solid #8cacbb;
  padding-left: 3px;

Replace it with something you may prefer. Eg. indenting every quote and format the first level red, the second one green and the following ones blue:

.quote {
  padding-left: 1em;
div.quote {
  color: #cf0000;
div.quote div.quote {
  color: #00cf00;
div.quote div.quote div.quote {
  color: #0000cf;

Images and other files 

You can include external and internal images with curly brackets. Optionally you can specify the size of them.

Real size:                        {{wiki:php-powered.png}}
Resize to given width:            {{wiki:php-powered.png?100}}
Resize to given width and height: {{wiki:php-powered.png?100x100}}
Resized external image:           {{}}

By using left or right whitespaces you can choose the alignment

{{ wiki:php-powered.png}}
{{wiki:php-powered.png }}
{{ wiki:php-powered.png }}

Of course, you can add a title (displayed as a tooltip by most browsers), too.

{{ wiki:php-powered.png |This is the caption}}

If you specify a filename (external or internal) that is not an image (gif,jpeg,png), then it will be displayed as a link instead.


DokuWiki supports multiple ways of creating links.


External links are recognized automagically: or simply - You can set Linknames, too: . Email addresses like this one: <> are recognized, too.


Internal links are created by using square brackets. You can either just give a or use an additional . Wiki pagenames are converted to lowercase automatically, special chars are not allowed.

You can use by using a colon in the pagename.

Linking to a specific section is possible, too. Just add the sectionname behind a hash character as known from HTML. E.g.:

This links to .


  • Links to existing pages are shown in a different style from nonexisting ones.
  • DokuWiki does not use CamelCase to automatically create links by default, but this behaviour can be enabled in the config file. Hint: If DokuWiki is a link, then it's enabled.
  • When a section's heading is changed, it's bookmark changes, too. So don't rely on section linking too much.


DokuWiki supports links. These are quick links to other Wikis. For example this is a link to Wikipedia's page about Wikis: .

Image Links 

You can also use an image to link to another internal or external page by combining the syntax for links and images (see below) like this:

Please note: The image formatting is the only formatting syntax accepted in link names.


DokuWiki supports a simple syntax to create tables.

Table rows have to start and end with a | for normal rows or a ^ for headers.

^ Heading 1      ^ Heading 2       ^ Heading 3          ^
| Row 1 Col 1    | Row 1 Col 2     | Row 1 Col 3        |
| Row 2 Col 1    | some colspan (note the double pipe) ||
| Row 3 Col 1    | Row 2 Col 2     | Row 2 Col 3        |

To connect cells horizontally, just make the next cell completely empty as shown above. Be sure to have always the same amount of cell separators!

Vertical tableheaders are possible, too. As you can see, it's the cell separator before a cell which decides about the formatting:

|              ^ Heading 1            ^ Heading 2          ^
^ Heading 3    | Row 1 Col 2          | Row 1 Col 3        |
^ Heading 4    | no colspan this time |                    |
^ Heading 5    | Row 2 Col 2          | Row 2 Col 3        |
Note: Vertical spans (rowspan) are not possible.

You can align the table contents, too. Just add at least two whitespaces at the opposite end of your text: Add two spaces on the left to align right, two spaces on the right to align left and two spaces at least at both ends for centered text.

^           Table with alignment           ^^^
|         right|    center    |left          |
|left          |         right|    center    |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |


You can add footnotes1) by using double parenthesises.

You can add footnotes This is a footnote by using double parenthesises.

Syntax Highlighting 

DokuWiki can highlight sourcecode, which makes it easier to read. It uses the GeSHi Generic Syntax Highlighter - so any language supported by GeSHi is supported. The syntax is the same like in the code block in the previous section, but this time the name of the used language is inserted inside the tag. Eg. <code java>.

The following language strings are currently recognized: actionscript, ada, apache, asm, asp, bash, caddcl, cadlisp, c, c_mac, cpp, csharp, css, delphi, html4strict, java, javascript, lisp, lua, nsis, objc, oobas, pascal, perl, php-brief, php, python, qbasic, smarty, sql, vb, vbnet, visualfoxpro, xml


DokuWiki converts commonly used emoticons to their graphical equivalents. More smileys can be placed in the smiley directory and configured in the conf/smileys.conf file.


DokuWiki can convert simple text characters to their typographically correct entities. Here is an example of recognized characters.

-> <- <-> => <= <=> >> << — --- 640x480 (c) (tm) (r) "He thought 'It's a man's world'…"

Please note: These conversions can be turned off in the config file.