Skip to main content
Obsidian notes are written in Markdown — a lightweight syntax that lets you format text using plain characters. This page covers the core formatting elements you’ll use most. For more advanced syntax including tables, math, and diagrams, see Advanced formatting.

Paragraphs and line breaks

Separate paragraphs with a blank line:
This is a paragraph.

This is another paragraph.
To insert a line break within a paragraph (without starting a new one), either add two spaces at the end of the line before pressing Enter, or press Shift+Enter.
Obsidian includes a Strict line breaks setting (Settings → Editor → Strict Line Breaks) that makes line break behavior match the standard Markdown specification. When enabled, a single Enter with no trailing spaces merges the two lines; two or more trailing spaces produce a <br>; and a double Enter creates a new paragraph.

Headings

Add up to six # symbols before your heading text. The number of symbols sets the heading level.
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6

Bold, italic, and highlights

StyleSyntaxExampleOutput
Bold** ** or __ __**Bold text**Bold text
Italic* * or _ _*Italic text*Italic text
Strikethrough~~ ~~~~Striked out text~~Striked out text
Highlight== ====Highlighted text====Highlighted text==
Bold and nested italic** ** and _ _**Bold and _nested italic_ text**Bold and nested italic text
Bold and italic*** ******Bold and italic text***Bold and italic text
To display a special character without triggering its formatting, place a backslash (\) before it:
\*\*This line will not be bold\*\*

Inline code and code blocks

Inline code

Wrap text in single backticks to format it as inline code:
Text inside `backticks` on a line will be formatted like code.
To include a backtick inside inline code, surround it with double backticks: ``code with a backtick inside“ `.

Code blocks

Enclose code with three or more backticks (or tildes) to create a code block:
```
cd ~/Desktop
```
Add a language identifier after the opening backticks to enable syntax highlighting:
```js
function fancyAlert(arg) {
  if(arg) {
    $.facebox({div:'#foo'})
  }
}
```
Obsidian uses Prism for syntax highlighting.
Source mode and Live Preview do not support PrismJS, and may render syntax highlighting differently than Reading view.

Nesting code blocks

To include a code block inside another code block, use more backticks (or tildes) for the outer block:
````md
Here's how to create a code block:
```js
console.log("Hello world")
```
````
The outer block must always use more fence characters than any inner block, or use a different fence character type.

Blockquotes

Add a > before text to create a blockquote:
> Human beings face ever more complex and urgent problems, and their effectiveness in dealing with these problems is a matter that is critical to the stability and continued progress of society.

\- Doug Engelbart, 1961
You can turn a blockquote into a callout by adding [!info] as the first line inside the quote.

Lists

Unordered lists

Start each item with -, *, or +:
- First list item
- Second list item
- Third list item

Ordered lists

Start each item with a number followed by . or ):
1. First list item
2. Second list item
3. Third list item

Task lists

Start each item with - [ ] for an incomplete task, or - [x] for a completed one:
- [x] This is a completed task.
- [ ] This is an incomplete task.
You can toggle tasks in Reading view by selecting the checkbox. You can use any character inside the brackets to mark a task as complete — for example, - [?] or - [-].

Nesting lists

Indent list items to nest them. You can mix ordered, unordered, and task lists:
1. First list item
   1. Ordered nested list item
2. Second list item
   - Unordered nested list item
Nested task list:
- [ ] Task item 1
	- [ ] Subtask 1
- [ ] Task item 2
	- [ ] Subtask 1
Use Tab or Shift+Tab to indent or unindent selected list items.

Horizontal rules

Use three or more stars ***, hyphens ---, or underscores ___ on their own line:
***
---
___
Obsidian supports two formats for linking between notes:
[[Three laws of motion]]
[Three laws of motion](Three%20laws%20of%20motion.md)
Wrap the link text in brackets and the URL in parentheses:
[Obsidian Help](https://help.obsidian.md)
If your URL contains spaces, replace them with %20 or wrap the URL in angle brackets:
[My Note](obsidian://open?vault=MainVault&file=My%20Note.md)
[My Note](<obsidian://open?vault=MainVault&file=My Note.md>)

Images

Add a ! before a link to embed an image:
![Engelbart](https://history-computer.com/ModernComputer/Basis/images/Engelbart.jpg)
Control image dimensions by appending |widthxheight (or just |width) to the link destination:
![Engelbart|100x145](https://history-computer.com/ModernComputer/Basis/images/Engelbart.jpg)
![Engelbart|100](https://history-computer.com/ModernComputer/Basis/images/Engelbart.jpg)

Footnotes

Add footnotes using the [^label] syntax:
This is a simple footnote[^1].

[^1]: This is the referenced text.
[^2]: Add 2 spaces at the start of each new line.
  This lets you write footnotes that span multiple lines.
[^note]: Named footnotes still appear as numbers, but can make it easier to identify and link references.
You can also write inline footnotes — the caret goes outside the brackets:
You can also use inline footnotes. ^[This is an inline footnote.]
Inline footnotes only work in Reading view, not in Live Preview.

Comments

Wrap text with %% to add a comment. Comments are only visible in Editing view and are never rendered:
This is an %%inline%% comment.

%%
This is a block comment.

Block comments can span multiple lines.
%%

Escaping Markdown syntax

Place a backslash (\) before a special character to display it literally without triggering formatting:
CharacterEscaped
Asterisk\*
Underscore\_
Hashtag\#
Backtick\`
Pipe (used in tables)|
Tilde\~
\*This text will not be italicized\*.
For numbered lists, place the backslash before the period (not the number) to prevent automatic list formatting:
1\. This won't be a list item.

Build docs developers (and LLMs) love