VS Code

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

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:

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:

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:

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:

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:

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:

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:

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:

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

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.