The Definitive Markdown Guide A complete reference for standard Markdown and Obsidian-flavoured extensions. Table of Contents Headings Emphasis & Inline Formatting Paragraphs & Line Breaks Lists Links Images Code Blockquotes Tables Task Lists Horizontal Rules Footnotes Escaping Characters Obsidian-Specific Syntax Frontmatter & Metadata Headings Use # symbols to define heading levels. Always include a space after the #.
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
[!TIP] Use only one H1 per document. It acts as the page title. Alternate setext style (H1 and H2 only): Title Here
Subtitle
Emphasis & Inline Formatting
Syntax
Result
bold or bold
bold
italic or _italic*
italic
bold italic
bold italic
strikethrough
strikethrough
highlight
highlight
inline code
inline code
H2O
H2O
x^2^
x^2^
[!WARNING]
No spaces between delimiters and text. ** bold ** will not render.
Paragraphs & Line Breaks
Separate paragraphs with a blank line.
This is paragraph one.
This is paragraph two.
For a line break within a paragraph, end the line with two spaces or use
:
Line one
Line two (soft break above)
Lists
Unordered Lists
Use -, *, or + as bullet markers. Indent with 2–4 spaces to nest.
- Apples
- Bananas
- Cavendish
- Lady Finger
- Cherries Apples Bananas Cavendish Lady Finger Cherries Ordered Lists
- First
- Second
- Sub-item A
- Sub-item B
- Third [!NOTE] The actual numbers don’t matter — Markdown auto-increments. You can write 1. 1. 1. and it renders as 1, 2, 3. Definition Lists Some renderers (including Obsidian) support definition lists: Term : The definition of the term.
Another Term : Its definition, which can span multiple lines. Links Inline Links Anthropic Docs Reference-Style Links Visit Anthropic and read the documentation.
Auto Links
https://anthropic.com
hello@example.com
Internal Anchor Links
Link to a heading within the same document:
Jump to Code section
Back to top
[!NOTE]
Heading anchors are lowercase, spaces become -, and punctuation is stripped.
Images
Linked image (click to open URL):
Reference-style image:

Code
Inline Code
Wrap in single backticks:
Use the print() function.
Fenced Code Blocks
Wrap with triple backticks and specify a language identifier for syntax highlighting:
def greet(name: str):
return f"Hello, {name}!"
print(greet("World"))def greet(name: str): return f”Hello, {name}!”
print(greet(“World”)) Common Language Identifiers python · javascript · typescript · bash · shell · sql json · yaml · toml · html · css · markdown rust · go · java · c · cpp · swift · kotlin Indented Code Blocks Four spaces or one tab also creates a code block (legacy style): const x = 42; console.log(x); Blockquotes Prefix lines with >. Nest with >>.
“The best way to predict the future is to invent it.” — Alan Kay
Outer quote
Inner nested quote
Deeply nested “The best way to predict the future is to invent it.” — Alan Kay Blockquotes can contain any Markdown — headings, lists, code, and emphasis all work inside them. Tables Columns are separated by |. The second row of hyphens defines headers. | Name | Role | Active | |---------|-----------|--------| | Alice | Engineer | Yes | | Bob | Designer | No | | Charlie | PM | Yes | Name Role Active Alice Engineer Yes Bob Designer No Charlie PM Yes Column Alignment Use colons in the separator row: | Left | Center | Right | |:-------|:-------:|-------:| | text | text | text | | 1 | 2 | 3 | Left Center Right text text text 1 2 3 Task Lists Requires GitHub Flavoured Markdown (GFM) or Obsidian.
- Write the README
- Add unit tests
- Deploy to production
- Notify stakeholders
[x] Write the README
[x] Add unit tests
[ ] Deploy to production
[ ] Notify stakeholders
Horizontal Rules
Any of these create a
divider:
[!TIP] Always surround --- with blank lines to avoid it being interpreted as a setext-style H2 heading. Footnotes This claim needs a citation.1
Footnotes can also be longer.2
Underscore _ _ Backtick ` ` Hash #
Pipe
|
|
Tilde
~
~
Brackets
[ ]
[ ]
Backslash
\
Obsidian-Specific Syntax
Wiki Links
The core of Obsidian’s linked note system.
Note Title
Display Text
Note Title
Heading
Custom Label
Syntax
Purpose
Note Title
Link to a note by name
Alias
Link with custom display text
Note
Link to a note in a subfolder
Section
Link to a specific heading
Transclude of NoteEmbed another note inline
Embed a local image
Embed a specific block Callouts / Admonitions Obsidian extends blockquotes with typed callout boxes:Circular transclusion detected: Note
NOTE
Useful information that users should know.
TIP
Helpful advice for doing things better.
WARNING
Urgent info that needs immediate attention.
DANGER
Dangerous actions to warn users about.
INFO
General information.
SUCCESS
Confirmation of a successful action.
QUESTION
A question for the reader.
EXAMPLE
An illustrative example.
QUOTE
A highlighted quote.
ABSTRACT
A summary or abstract. Callouts can be collapsible with + (open) or - (closed): [!NOTE]+ Collapsible, open by default
This content is visible but can be collapsed.
Collapsible, closed by default
This content is hidden until expanded. Tags #tag #nested/tag #multi-word-tag Tags can appear anywhere in the body or in frontmatter. They are searchable and filterable in Obsidian’s graph view. Block References Add a block ID to any paragraph, then reference it elsewhere: This is a paragraph I want to reference later.
Elsewhere: ^my-block-id Or embed:
Transclude of Note-Title#^my-block-idComments Hidden text that renders in Obsidian’s edit view but not in preview:
Mermaid Diagrams Obsidian renders Mermaid diagrams natively:
graph TD A[Start] --> B{Decision} B -->|Yes| C[Do this] B -->|No| D[Do that] C --> E[End] D --> E
graph TD A[Start] ⇒ B{Decision} B ⇒|Yes| C[Do this] B ⇒|No| D[Do that] C ⇒ E[End] D ⇒ E Math / LaTeX Inline math with E = mc^2$ changed physics. Block math with $$:
Frontmatter & Metadata YAML frontmatter sits at the very top of a file, between --- delimiters. Obsidian reads it as structured metadata.
title: The Definitive Markdown Guide author: Fraser date: 2026-04-05 tags:
- reference
- markdown
- obsidian aliases:
- Markdown Reference
- MD Guide cssclasses:
- wide-page publish: false
Common Frontmatter Keys Key Purpose title Display name (overrides filename) aliases Alternative names for the note (used in search and linking) tags Note tags (same as inline tags) date / created Creation date modified Last modified date cssclasses Apply custom CSS classes to this note publish Controls Obsidian Publish visibility description Short summary shown in graph hover Quick Reference Cheat Sheet
H1 H2 H3 Headings
bold italic both Emphasis
strike highlight Inline styles
code lang\nblock\n Code
label
Link / Image
Note Alias Obsidian wikilink
Circular transclusion detected: Note
Obsidian embed
- item * item + item Unordered list
- item 2. item Ordered list
- todo - [x] done Task list
quote >> nested Blockquote [!NOTE] > [!WARNING] Obsidian callout
| A | B | |---|---| | 1 | 2 | Table --- *** ___ Horizontal rule 1 1: source Footnote ^block-id ^block-id Block reference #tag tag Tags Hidden comment Math / LaTeX * _ ` # Escape characters