Obsidian and Notion are excellent, but if you already spend eight hours a day in VS Code, hopping between apps for notes is friction you can remove. The right extensions turn VS Code into a Markdown-native, git-backed personal knowledge system with backlinks, graphs, and diagrams. No new app to learn, no cloud subscription to renew.
We tested eight VS Code extensions that cover the full note-taking stack, from atomic Zettelkasten linking to slide decks. All eight are free. Most are open source. Together they let you keep every note as a plain .md file in a git repo you control.
What to look for in a note-taking VS Code extension
- Backlinks and wiki-style
[[links]]. Without them, notes become a folder of dead files. - Graph or tree view. Seeing what connects to what turns a folder into a knowledge base.
- Live Markdown preview. Split-pane preview beats round-tripping through a browser.
- Diagrams and sketches. Mermaid, Excalidraw or Marp cover almost every visual you need.
- Local-first, no account. The whole point of using VS Code is that your notes live in your own git repo.
- Templates and daily notes. Repeatable structures save time on weekly reviews and meeting notes.
Quick comparison
| Extension | Best for | Free plan | Paid tier | Standout feature |
|---|---|---|---|---|
| Foam | Zettelkasten and graph view | Free, open source | None | Graph visualization |
| Dendron | Hierarchical notes for engineers | Free, open source | None | Schema-driven note tree |
| Markdown All in One | Better Markdown editing | Free, open source | None | Table formatting and TOC |
| Markdown Preview Mermaid Support | Flowcharts in notes | Free, open source | None | Native Mermaid preview |
| Excalidraw | Whiteboards and diagrams | Free, open source | None | Hand-drawn sketch look |
| Bookmarks | Jump-back to lines | Free, open source | None | Line-level bookmarks |
| Todo Tree | Actionable notes | Free, open source | None | Aggregated TODO panel |
| Marp | Slide decks from Markdown | Free, open source | None | Export to PDF, PPTX, HTML |
The extensions
1. Foam — best for Zettelkasten-style knowledge graphs
Foam is a personal knowledge management system built as a set of loosely coupled VS Code features. It gives you [[wikilinks]], backlink discovery, a graph view of every connection, and templates for daily notes. Nothing is stored in a proprietary format. Every note is a plain Markdown file in a folder you own.
Where it falls short: The graph view is the star, but on vaults with more than a few thousand notes it becomes slow to render. Foam is community-maintained and update cadence is uneven.
Pricing:
- Free, MIT-licensed, open source
- No paid tier
Platforms: Windows, macOS, Linux (anywhere VS Code runs)
Download: Foam on the VS Code Marketplace
Bottom line: Foam is the pick if you want the Obsidian experience without the app.
2. Dendron — best for hierarchical notes and structured PKM
Dendron turns note filenames like projects.acme.launch.md into an interactive hierarchy. It adds schemas, templates, refactor-safe renames that fix links, and a lookup command that jumps to any note in a keystroke. Engineers who like folder trees usually pick Dendron over Foam.
Where it falls short: The learning curve is steeper than Foam. The filename hierarchy convention feels rigid until it clicks. Original maintainers stepped back in 2024; the community fork is active but ships slower.
Pricing:
- Free, open source
- No paid tier
Platforms: Windows, macOS, Linux
Download: Dendron on the VS Code Marketplace
Bottom line: Choose Dendron if you like your notes filed like code, with strict structure and refactor safety.
3. Markdown All in One — best for everyday Markdown polish
Markdown All in One is the extension that makes VS Code feel like a real Markdown editor. It adds keyboard shortcuts for bold/italic, list continuation, automatic table of contents, table formatter, math via KaTeX, and auto-updated link references. It is the base layer under every other note-taking setup on this list.
Where it falls short: No note-graph, no backlinks. It is a formatting toolkit, not a knowledge system.
Pricing:
- Free, open source
- No paid tier
Platforms: Windows, macOS, Linux
Download: Markdown All in One on the VS Code Marketplace
Bottom line: Install this first, whatever else you pick.
4. Markdown Preview Mermaid Support — best for flowcharts and diagrams inline
Markdown Preview Mermaid Support renders Mermaid code blocks natively in VS Code’s Markdown preview. That means flowcharts, sequence diagrams, class diagrams, Gantt charts, and pie charts live directly in your notes as plain text. Version control tracks every change.
Where it falls short: Mermaid’s syntax is powerful but not friendly to beginners. Editing complex diagrams by hand gets fiddly beyond a dozen nodes.
Pricing:
- Free, open source
- No paid tier
Platforms: Windows, macOS, Linux
Download: Markdown Preview Mermaid Support on the VS Code Marketplace
Bottom line: The right pick when your notes need architecture diagrams that live next to the text.
5. Excalidraw — best for whiteboards and sketch-style diagrams
Excalidraw ports the popular hand-drawn diagramming web app into VS Code as .excalidraw files. It is the tool of choice for concept maps, brainstorm sessions, and diagrams you want to look human. Files sit in your notes folder alongside Markdown.
Where it falls short: The output is intentionally sketchy. If you need presentation-grade diagrams, pair it with Mermaid instead.
Pricing:
- Free, open source
- No paid tier
Platforms: Windows, macOS, Linux
Download: Excalidraw on the VS Code Marketplace
Bottom line: Best for early-stage thinking. Not for polished deliverables.
6. Bookmarks — best for jumping back to lines inside long notes
Bookmarks adds line-level bookmarks with optional labels. You can mark a line in a running meeting note, keep working, and jump straight back. Bookmarks are stored in the workspace, so they travel with your notes folder.
Where it falls short: Bookmarks don’t sync across machines unless the workspace is in git. The UI is workmanlike.
Pricing:
- Free, open source
- No paid tier
Platforms: Windows, macOS, Linux
Download: Bookmarks on the VS Code Marketplace
Bottom line: A small quality-of-life win for anyone taking long meeting or reading notes.
7. Todo Tree — best for actionable notes and follow-ups
Todo Tree scans every open file for tags like TODO, FIXME, NOTE, and HACK, then shows them in a side panel grouped by file. Point it at your notes folder and every follow-up you write anywhere becomes a live task list. No separate task app required.
Where it falls short: Not a full task manager. There is no due-date, priority, or completion history unless you build it yourself with conventions.
Pricing:
- Free, open source
- No paid tier
Platforms: Windows, macOS, Linux
Download: Todo Tree on the VS Code Marketplace
Bottom line: A quiet, useful bridge from notes to next actions.
8. Marp — best for turning notes into slide decks
Marp compiles Markdown into slide decks. You get a slide preview alongside your file and can export to PDF, PPTX, or HTML. Perfect for engineers who dislike PowerPoint and want a versioned deck that lives in the same repo as the notes it came from.
Where it falls short: Layout customization stops well short of a design tool. Complex animations don’t exist.
Pricing:
- Free, open source
- No paid tier
Platforms: Windows, macOS, Linux
Download: Marp for VS Code on the Marketplace
Bottom line: The best free way to turn a Markdown outline into a shareable deck.
How to pick the right one
- Pick Foam if you want Obsidian-style backlinks and a graph without leaving VS Code.
- Pick Dendron if you think in file hierarchies and want strict structure with schema validation.
- Install Markdown All in One always. It is not a choice, it is the baseline.
- Add Mermaid Support and Excalidraw as soon as you need visuals in a note.
- Use Todo Tree and Bookmarks if your notes are meetings and long-form reading.
- Add Marp the first time you need to present a note to a room.
The realistic combination is Foam or Dendron for the graph, Markdown All in One for polish, Mermaid Support for diagrams, and Todo Tree for follow-ups. Layer them and you have a full personal knowledge management system inside the editor you already keep open.
FAQ
Can VS Code replace Obsidian for note-taking?
For most technical users, yes. VS Code with Foam or Dendron gives you [[wikilinks]], backlinks, a graph view, and daily notes on top of plain Markdown files. What you give up is Obsidian’s cleaner mobile app and community plugin depth. What you gain is git integration and a familiar editor.
Is there a free note-taking extension for VS Code?
Every extension in this article is free and most are open source. Foam and Dendron are the two big personal knowledge management options; Markdown All in One is the essential editor polish.
How do I get Obsidian-style backlinks in VS Code?
Install Foam or Dendron. Both add [[wikilinks]], autocomplete for note names, and backlink panels that show every note referencing the file you have open.
Can I sync my VS Code notes across devices?
Yes. Put your notes folder in a git repository (GitHub, GitLab, self-hosted Gitea) and pull it on every device. No cloud subscription required.
What is the best extension for Zettelkasten in VS Code?
Foam. It has the atomic-note workflow, [[links]], and the graph view that Zettelkasten depends on.
Does VS Code support Markdown preview by default?
Yes. Press Ctrl/Cmd+Shift+V to open the built-in Markdown preview. Add the Mermaid and Marp extensions to extend it with diagrams and slides.