Need AI Training/Help?CloudYeti.io/meet
MarkdownMe
Obsidian to Markdown guide

Turn an Obsidian Vault Note Into Portable Markdown

Portable Markdown is text that renders the same in every reader. This is the list of Obsidian-only syntax that stops a note being portable, and what each piece becomes.

Direct answer

Seven pieces of syntax make a note Obsidian-only: wikilinks, embeds, callouts, highlights, block reference IDs, %%comments%%, and inline #tags. The converter above rewrites or removes all seven so the note renders correctly in GitHub, GitLab, VS Code, Pandoc, and static site generators. Text inside code fences and inline code is never rewritten, so code samples containing [[ or == stay exactly as written.

Open the Obsidian ↔ Markdown converter

When to use this

  • You are leaving Obsidian, or want an escape route before you commit to it.
  • Notes must be readable by a team that uses several different editors.
  • You are archiving a vault and want files that stay useful in ten years.

Steps

  1. Paste a note into the converter above with the direction on Obsidian → standard Markdown.
  2. Set frontmatter and tags to match the destination.
  3. Scan the output for anything left over — Dataview blocks and other plugin syntax pass through unchanged and need manual removal.
  4. Download the .md file.
  5. Open the file in a second renderer, such as the GitHub preview or VS Code, to confirm it reads correctly.

Example conversion

Input
Read [[Onboarding]] %% draft note %%

> [!tip] Fast path
> Use the script.

```
keep [[this]] and ==this==
```

^para-9
Converted output
Read [Onboarding](Onboarding.md)

> [!TIP]
> **Fast path**
> Use the script.

```
keep [[this]] and ==this==
```

Common mistakes

  • Do not treat the conversion as lossless. Block reference IDs are removed, so any note that linked to a specific block loses that anchor.
  • Do not expect embedded note transclusion to expand. ![[Other Note]] becomes a link-style image reference to Other Note.md, not the content of that note.
  • Do not lose the size hint silently. ![[image.png|300]] becomes ![](image.png) because Markdown has no width syntax; set the width in HTML if you need it.
  • Do not skip a visual check on long notes. The rules are text transforms, not a full parser.

FAQ

Are Obsidian files already Markdown?
Yes, the files on disk are plain .md text. The portability problem is the Obsidian-specific syntax inside them, which other renderers do not understand.
Is anything inside code blocks changed?
No. Fenced blocks and inline code spans are set aside before the rewrite rules run and restored afterwards, so [[brackets]] and ==equals== in a code sample stay literal.
What is not converted?
Dataview queries, other plugin blocks, canvas files, and embedded query results. They have no Markdown equivalent, so they pass through as written and you should remove or rewrite them by hand.
Does this upload my notes anywhere?
No. The conversion runs in your browser. Nothing is sent to a server, and no account is needed.

Related Obsidian guides