Repository navigation
Migrate from Obsidian
An Obsidian vault becomes a Folio space without a single file changing. Put the vault in a Git repository, create a space from it, and your team reads and edits the same notes in the browser. Opening a page writes nothing, and git status is clean after the first scan. Want to keep using Obsidian yourself? See Make Obsidian Multiplayer.
-
Put the vault in Git. Make a private repository on GitHub, GitLab or your own server. Add a
.gitignorefirst so workspace files do not conflict:.obsidian/workspace.json .obsidian/workspace-mobile.json .obsidian/cache .trash/ .DS_Store
- Give Folio a token. User menu, Git access: connect GitHub (if your admin set up the GitHub connection) or paste a token with read and write access to the repository contents.
-
Create the space. New space, From a git repository, address and branch. When the repository holds
.obsidian/, the dialog says it found a vault. You can also pick a subfolder as the root of the space. - Look around. Pages, tag tree, graph, canvases and bases appear. Start with a copy of the vault, not the original.
Folio adds no id to your notes and keeps its bookkeeping in one hidden file at the repository root (.<slug>.folio), committed once. A repository that already has files of its own connects this way by default, with or without .obsidian/. The space menu has Indexing & files... to add your own scan exclusions (up to 50 top-level names such as Templates/ or draft-*); .obsidian/, .trash/ and .git/ are always skipped.
Folio reads Obsidian markup and never rewrites your files to use it.
| Obsidian | In Folio |
|---|---|
Wikilinks [[Note]], aliases, #heading, #^block
|
Links, resolved with Obsidian's shortest-path rules; renaming a page rewrites the links that point at it |
Embeds ![[image.png|300]], ![[Note]], ![[Note#Heading]]
|
Images with width, embedded notes (3 levels deep, read-only); a PDF embed is a link |
| Callouts of any type, foldable, nested | Drawn (types map onto five looks) |
| Properties (front matter) | Properties panel, types from .obsidian/types.json as a read-only fallback |
#tags, %%comments%%, $formulas$, ^block-ids
|
Tag chips and a tag tree, hidden comments, KaTeX, anchors |
Canvas (.canvas) |
View-only page; Convert to Folio board makes an editable whiteboard |
Bases (.base) |
Table, cards or list, with cells you can edit in place |
| Graph | Space graph and local graph, aware of page access |
Also: backlinks with the line each link sits on, lists of unresolved links and orphan pages, search with tag:, in:, kind:, prop: (Properties, Tags, Search and Bases), and PDF or DOCX export.
- Dataview and
queryblocks show as code and do not run; Templater tags stay text; community plugins and their CSS do not exist in the browser. - Canvases are view-only; bases support table, cards and list (not
kanbanormap), and nothtml(),image()oricon(). - The
[[picker in the editor inserts a plain relative link; Folio never creates wikilinks. - In the live editor an image embed
![[image.png]]shows its name, not the picture (Reading, PDF and DOCX show the picture). - Two people editing the same note is live inside Folio. Between Folio and a local Obsidian the copies meet in Git (conflicts are resolved like any Git conflict).
- No end-to-end encryption, no offline vault; you run the server.
Folio vs. Obsidian · Guide: Make Obsidian multiplayer · Blog: open a vault as a team wiki · LIMITATIONS.md
Website · Live demo · Install · Docs · Repository · Discussions · Changelog · MIT license
Start
Move to Folio
- Migrate from Confluence
- Migrate from Notion
- Migrate from Obsidian
- Make Obsidian Multiplayer
- Docs as Code
Use
- Boards
- Data Tables and Forms
- Artifacts
- Properties, Tags, Search and Bases
- Graph
- Publish a Public Website
AI and agents
Admin