Foam

Wikilinks

Wikilinks are internal links that connect files in your knowledge base using [[double bracket]] syntax.

  1. Type [[ and start typing a note name
  2. Select from autocomplete and press Tab
  3. Navigate with Ctrl+Click (Cmd+Click on Mac) or F12
  4. Create new notes by clicking on non-existent wikilinks

Example: [[graph-view]]

Placeholders

Wikilinks to non-existent files create [[placeholder]] links, styled differently to show they need files created. They’re useful for planning your knowledge structure.

View placeholders in the graph with Foam: Show Graph command or in the Placeholders panel.

Link to specific sections using [[note-name#Section Title]] syntax. Foam provides autocomplete for section titles.

Examples:

Link to a specific paragraph, list item, heading, or blockquote using [[note-name#^blockid]] syntax. Add a ^your-id anchor at the end of any block element, then reference it from other notes.

See [block-anchors] for full details.

Linking to a folder name navigates to that folder’s index file — either index.md or README.md. This works for both wikilinks and regular markdown links:

If a file named projects.md exists alongside the projects/ folder, it takes priority.

To disable this behavior, set foam.links.directory.mode to disabled in your VS Code settings.

When you rename or move a note or folder, Foam automatically updates all wikilinks pointing to it. This is enabled by default and can be turned off via the foam.links.sync.enable setting.

For standard markdown links (e.g. [text](path/to/note.md)), VS Code has a built-in feature that handles this. Enable it in VS Code settings: set markdown.updateLinksOnFileMove.enabled to always or prompt.

Markdown Compatibility

Foam can automatically generate [link-reference-definitions] at the bottom of files to make wikilinks compatible with standard Markdown processors.