This page covers advanced formatting elements that go beyond basic Markdown. For the foundational syntax, see Basic formatting.
Tables
Create tables using vertical bars (|) to separate columns and hyphens (-) to define the header row:
| First name | Last name |
| ---------- | --------- |
| Max | Planck |
| Marie | Curie |
The vertical bars on either side of the table are optional, but including them improves readability. Cells don’t need to be perfectly aligned, but the header row must contain at least two hyphens per column:
First name | Last name
-- | --
Max | Planck
Marie | Curie
In Live Preview, right-click a table to add or delete columns and rows, or to sort and move them using the context menu. You can also insert a table using the Insert Table command from the Command Palette.
Aligning table columns
Align column content by adding colons (:) to the header row separator:
Left-aligned text | Center-aligned text | Right-aligned text
:-- | :--: | --:
Content | Content | Content
Formatting content within a table
You can use basic Markdown formatting (bold, italic, inline code) inside table cells. To use a vertical bar | inside a cell — for example in an alias or image resize — escape it with a backslash:
First column | Second column
-- | --
[[Basic formatting syntax\|Markdown syntax]] | ![[image.jpg\|200]]
Math
Obsidian supports math expressions using MathJax and LaTeX notation.
Block math
Surround the expression with double dollar signs ($$) to display it as a block:
$$
\begin{vmatrix}a & b\\
c & d
\end{vmatrix}=ad-bc
$$
Inline math
Wrap the expression in single $ symbols to display it inline within a sentence:
This is an inline math expression $e^{2i\pi} = 1$.
For a syntax reference, see the MathJax basic tutorial and quick reference. For supported packages, see The TeX/LaTeX Extension List.
Mermaid diagrams
Obsidian supports Mermaid for creating diagrams and charts, including flow charts, sequence diagrams, and timelines.
Create a diagram by opening a mermaid code block:
```mermaid
sequenceDiagram
Alice->>+John: Hello John, how are you?
Alice->>+John: John, can you hear me?
John-->>-Alice: Hi Alice, I can hear you!
John-->>-Alice: I feel great!
```
```mermaid
graph TD
Biology --> Chemistry
```
Linking notes from a diagram
You can create internal links inside a diagram by attaching the internal-link class to nodes:
```mermaid
graph TD
Biology --> Chemistry
class Biology,Chemistry internal-link;
```
For diagrams with many nodes, assign the class to a predefined list of node letters:
```mermaid
graph TD
A[Biology]
B[Chemistry]
A --> B
class A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z internal-link;
```
Each letter node becomes an internal link, with the node text as the link label.
If a note name contains special characters, wrap it in double quotes: class "⨳ special character" internal-link. Internal links from diagrams do not show up in Graph view.
For full diagram syntax, refer to the official Mermaid docs.