Obsidian is a Markdown-based note-taking and knowledge base app.
We currently support the formats below:
Internal linking ¶
Link to a page: index .
Embeds ¶
Embed another file (read more about Embed files ). Here’s an embedded section:
Headers ¶
# This is a heading 1
## This is a heading 2
### This is a heading 3
#### This is a heading 4
##### This is a heading 5
###### This is a heading 6
This is a heading 1 ¶
This is a heading 2 ¶
This is a heading 3 ¶
This is a heading 4 ¶
This is a heading 5 ¶
This is a heading 6 ¶
Emphasis ¶
This text will be italic
This will also be italic
This text will be bold
This will also be bold
You can combine them
Lists ¶
- Item 1
- Item 2
- Item 2a
- Item 2b
- Item 1
- Item 2
- Item 3
- Item 3a
- Item 3b
Images ¶
Resizing images ¶
Example of this above image resized to 100 pixels wide:
Links ¶
External links ¶
Markdown style links can be used to refer to either external objects, such as web pages, or an internal page or image.
http://obsidian.md
- automatic!
Obsidian
Obsidian URI links ¶
Obsidian URI links can be used to open notes in Obsidian either from another Obsidian vault or another program.
For example, you can link to a file in a vault like so (please note the required encoding ):
You can link to a note by its vault name and file name instead of path as well:
Escaping ¶
If there are spaces in the url, they can be escaped by either using
%20
as a space, such as:
Or you can enclose the target in
<>
, such as:
Blockquotes ¶
> 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
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
Inline code ¶
Text inside
backticks
on a line will be formatted like code.
Code blocks ¶
Syntax highlight is supported with the language specified after the first set of backticks. We use prismjs for syntax highlighting, a list of supported languages can be found at their site
```js
function fancyAlert(arg) {
if(arg) {
$.facebox({div:'#foo'})
}
}
```
Text indented with a tab is formatted like this, and will also look like a code block in preview.
Task list ¶
- [x] #tags, [links](), **formatting** supported
- [x] list syntax required (any unordered or ordered list supported)
- [x] this is a complete item
- [?] this is also a complete item (works with every character)
- [ ] this is an incomplete item
- [ ] tasks can be clicked in Preview to be checked off
- #tags, links , formatting supported
- list syntax required (any unordered or ordered list supported)
- this is a complete item
- [?] this is also a complete item (works with every character)
- this is an incomplete item
- tasks can be clicked in Preview to be checked off
Tables ¶
You can create tables by assembling a list of words and dividing them with hyphens
-
(for the first row), and then separating each column with a pipe
|
:
First Header | Second Header
------------ | ------------
Content from cell 1 | Content from cell 2
Content in the first column | Content in the second column
| First Header | Second Header |
|---|---|
| Content from cell 1 | Content from cell 2 |
| Content in the first column | Content in the second column |
Tables can be justified with a colon | Another example with a long title
:----------------|-------------:
because of the `:` | these will be justified
If you put links in tables, they will work, but if you use Piped Links, the pipe must be escaped with a `\` to prevent it being read as a table element.
| Tables can be justified with a colon | Another example with a long title |
|---|---|
because of the
:
|
these will be justified |
If you put links in tables, they will work, but if you use Piped Links, the pipe must be escaped with a
\
to prevent it being read as a table element.
First Header | Second Header
------------ | ------------
[[Format your notes\|Formatting]] | [[Keyboard shortcuts\|hotkeys]]
| First Header | Second Header |
|---|---|
| Formatting | hotkeys |
Strikethrough ¶
Any word wrapped with two tildes (like
this
) will appear crossed out.
Highlighting ¶
Use two equal signs to highlight text .
Footnotes ¶
Here's a simple footnote,[^1] and here's a longer one.[^bignote]
[^1]: meaningful!
[^bignote]: Here's one with multiple paragraphs and code.
Indent paragraphs to include them in the footnote.
`{ my code }`
Add as many paragraphs as you like.
Here’s a simple footnote, 1 and here’s a longer one. 2
You can also use inline footnotes. ^[notice that the carat goes outside of the brackets on this one.]
You can also use inline footnotes. ^[notice that the carat goes outside of the brackets on this one.]
Math ¶
You can also do inline math like \(e^{2i\pi} = 1\) .
Obsidian uses Mathjax . You can check which packages are supported in Mathjax here .
Comments ¶
Use
%%
to enclose comments, which will be parsed as Markdown, but will not show up in the preview.
Here is some inline comments: %%You can't see this text%% (Can't see it)
Here is a block comment:
%%
It can span
multiple lines
%%
Here is some inline comments: %%You can’t see this text%% (can’t see it in preview)
Here is a block comment: (can’t see it in preview either)
%%
It can span
multiple lines
%%
Diagram ¶
Obsidian uses Mermaid to render diagrams and charts. Mermaid also provides a helpful live editor .
```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!
```
Obsidian supports linking to notes in Mermaid:
```mermaid
graph TD
Biology --> Chemistry
class Biology,Chemistry internal-link;
```
An easier way to do it is the following: ^376b9d
```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;
```
This way, all the note names (at least until
Z[note name]
) are all automatically assigned the class
internal-link
when you use this snippet.
If you use special characters in your note names, you need to put the note name in double quotes.
"⨳ special character"
It looks like this if you follow the
second option
:
A["⨳ special character"]
Developer notes ¶
We strive for maximum capability without breaking any existing formats, therefore we use a slightly unorthodox combination of flavors of markdown. It is broadly CommonMark, with the addition of some functionality from GitHub Flavored Markdown (GFM), some latex support, and our chosen embed syntax, which you can read more about at Accepted file formats .