Foam logo

Foam

Personal knowledge management in VS Code with wikilinks

Foam is a personal knowledge management system built on Visual Studio Code and GitHub, inspired by Roam Research. Organize research, create interconnected notes, and visualize your knowledge graph.

Foam banner

Overview

What is Foam?

Foam is a personal knowledge management and sharing system that runs inside Visual Studio Code, inspired by Roam Research. It helps you organize research, maintain re-discoverable notes, write long-form content, and optionally publish to the web.

Core Capabilities

Foam transforms VS Code into a powerful knowledge workspace using wikilinks to connect atomic notes. The graph visualization shows how your thoughts interconnect, while features like link autocompletion, backlinks panel, and note embedding make it easy to build a networked knowledge base. Support for daily notes, templates, and hierarchical tags helps you maintain consistent workflows.

The system automatically syncs links when you rename files, supports unique identifiers across directories, and provides diagnostics for ambiguous wikilinks. You can navigate between notes seamlessly, peek references, embed note sections, and use link aliases for flexible organization.

Who Should Use It

Foam suits researchers, writers, students, and knowledge workers building a Second Brain or Zettelkasten. Because it's built on VS Code and stores notes as plain markdown files in GitHub repositories, you retain full ownership and control. The system is extremely extensible and free, though it remains an early-stage project under active development.

Highlights

Graph visualization showing connections between notes with wikilink navigation
Automatic link synchronization when renaming files and ambiguous wikilink diagnostics
Backlinks panel, tag explorer, and orphan/placeholder detection for knowledge base health
Daily notes, custom templates, note embedding, and section-level linking support

Pros

  • Full data ownership with plain markdown files stored in your own GitHub repository
  • Built on VS Code, leveraging familiar interface and extensive extension ecosystem
  • No vendor lock-in; notes remain accessible as standard markdown outside Foam
  • Free and open source with active community support

Considerations

  • Early-stage project under rapid development with potential breaking changes
  • Requires VS Code and GitHub familiarity; steeper learning curve than dedicated apps
  • Alpha-grade software with known issues and features that may occasionally break
  • No mobile-native experience; relies on VS Code availability

Managed products teams compare with

When teams consider Foam, these hosted platforms usually appear on the same shortlist.

Coda logo

Coda

Docs, tables, and apps combined into one collaborative workspace

Craft logo

Craft

Collaborative documents and notes with rich formatting

Document360 logo

Document360

Knowledge base software for product docs and self‑service help

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Developers and technical users already comfortable with VS Code workflows
  • Building a Second Brain, Zettelkasten, or personal wiki with networked notes
  • Researchers and writers who need long-form content creation with knowledge linking
  • Users who prioritize data ownership and want notes in portable markdown format

Not ideal when

  • Users seeking polished, production-ready software with guaranteed stability
  • Non-technical users unfamiliar with VS Code, GitHub, or markdown syntax
  • Teams requiring real-time collaboration features or mobile-first workflows
  • Those wanting a plug-and-play solution without tolerance for alpha-stage software

How teams use it

Academic Research Management

Organize literature notes with wikilinks, visualize connections between concepts, and maintain a navigable knowledge graph of research findings across multiple projects.

Zettelkasten Implementation

Create atomic notes with unique identifiers, link ideas bidirectionally, and discover emergent insights through graph visualization and backlink exploration.

Technical Documentation Writing

Draft long-form content with embedded note sections, use templates for consistency, and publish to GitHub Pages with generated markdown references for navigation.

Daily Journaling and Reflection

Maintain a journal using daily note commands, tag entries hierarchically, and link reflections to project notes for integrated personal knowledge management.

Tech snapshot

TypeScript96%
JavaScript3%
Markdown1%
HTML1%

Tags

notes-appnote-takingmarkdown-editormarkdowngraph-visualisationvscodepersonal-knowledge-basepkmzettelkasten

Frequently asked questions

What are the system requirements for Foam?

Foam requires Visual Studio Code and a GitHub account. You'll need high tolerance for alpha-grade software as the project is under active development.

Do I own my notes created in Foam?

Yes, you fully own your notes. Foam stores everything as plain markdown files in your own GitHub repository, with no vendor lock-in or proprietary formats.

Can I use Foam without publishing my notes publicly?

Absolutely. You can set your GitHub repository to private to keep your notes completely private while still using all Foam features.

How does Foam compare to Roam Research or Obsidian?

Foam is inspired by Roam Research but runs inside VS Code as a free, open-source alternative. Unlike dedicated apps, it leverages VS Code's extensibility and stores notes as standard markdown in GitHub.

What happens to my wikilinks if I stop using Foam?

Foam can generate markdown references for wikilinks, making your notes navigable in GitHub UI and other markdown editors even without Foam installed.

Project at a glance

Active
Stars
16,757
Watchers
16,757
Forks
749
Repo age5 years old
Last commit18 hours ago
Primary languageTypeScript

Last synced 52 minutes ago