Tables in markdown

Tables are useful for presenting data and providing a break for the reader from textual monotony

Markdown allows you to create and format tables using hyphens (-) and pipes (|). This section explains how to structure tables, align text, format content and handle special characters within table cells.

Create a basic table

To create a table, use three or more hyphens (---) to define each column’s header and separate the columns with pipes (|). While not essential, include a pipe at the beginning and end of each row for readability.

An example is provided below followed by the rendered output.

| Syntax | Description |
| ----------- | ----------- |
| Header | Title |
| Paragraph | Text |
SyntaxDescription
HeaderTitle
ParagraphText

Note that while the cell widths may vary, the rendered output will look consistent.

Manually typing hyphens and pipes can be time-consuming. To speed things up in Obsidian, use Insert > Table from the command palette (accessible via Command P). Tools like Obsidian’s Advanced Tables plugin give you even more control.

Aligning text in tables

You can align text within table columns using colons (:) in the header row. The default state is left aligned:

  • Left align: :---
  • Centre align: :---:
  • Right align: ---:

An example is provided below followed by its rendered output.

| Syntax | Description | Detail |
| :--- | :----: | ---: |
| Header | Title | Heading |
| Paragraph | Text | Words |
SyntaxDescriptionDetail
HeaderTitleHeading
ParagraphTextWords

Formatting text in tables

You can format text inside table cells using inline markdown elements, such as:

  • Bold (**bold**)
  • Italic (*italic*)
  • Code (backticks around words or phrases)
  • Links.

See the extended syntax for more advice.

Download the
cheat sheet

Some wording here. You can include a maximum of 30 words in your message to our readers. 90 characters