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 %%note%% 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