Notes
Import notes
Import an Obsidian vault, a Notion export, Bear or Apple Notes as plain Markdown, after a dry run that shows what changes.
This page shows how to import an Obsidian vault into Loam, what the import converts and copies, and what it leaves behind. The import only reads the Obsidian vault and never changes it. Notion, Bear and Apple Notes have importers too, described under Other apps below.
In the app, the Import Notes… command opens an import page. It previews an Obsidian vault, imports it into Imported/<vault name>, and writes an Import report.md there. The steps below use the command line.
Preview, then import
- Run a dry run, which writes nothing:
loam --vault ~/Notes import.obsidian source=~/ObsidianVault dry-run=true. - Read the report.
convertedandcopiedcount the files,skippedlists files that already exist, andwarningslists links and files that need a look. - Run the import without
dry-run:loam --vault ~/Notes import.obsidian source=~/ObsidianVault.
Add into=Imported to import into one folder of your vault. Add overwrite=true only if you want to replace files that already exist.
What is converted
- Notes (
.mdfiles): wikilinks and embeds become standard Markdown links. For example,[[Projects/Roadmap|roadmap]]becomes[roadmap](Projects/Roadmap.md). - Callouts become GitHub alerts, such as
> [!NOTE]. %%comments%%are removed. Code blocks stay as they are.- Canvas boards (
.canvasfiles) are copied. Their wikilinks in text cards become standard links, and their file paths move into the destination folder. - Other files, such as images and PDFs, are copied unchanged.
- A link to a note that does not exist becomes plain text, and the report lists it as a warning.
What is not copied
- The
.obsidian/folder, which holds the Obsidian settings, themes and plugins. - The
.trash/and.git/folders, and.DS_Storefiles. - Files that already exist in the destination. They are listed as skipped.
- The Obsidian daily notes folder and template. The report shows them, but Loam does not apply them.
To match the daily notes folder, set it in the daily-notes plugin: loam --vault ~/Notes plugins.set-setting id=daily-notes key=folder value=Journal.
Other apps
Three more importers copy notes as plain Markdown into Imported/<app> of your vault. They only read the source, they never overwrite a file that exists, and they accept into=<folder> and dry-run=true. Each prints a JSON report with converted, copied, collections, skipped and warnings.
| Command | Source | What it does |
|---|---|---|
import.notion source=<path> | A Notion export (Markdown & CSV), as a folder or its .zip. | Removes the ids from names and links, turns page properties into frontmatter, and turns databases into collections. |
import.bear | Bear, read from its database on this Mac. | Copies the notes with their pictures and files. Archived notes go in Archive/. Trashed and locked notes stay behind. |
import.apple-notes | Apple Notes, read through Notes. macOS asks for permission once. | Copies every note, with one folder per Notes folder, and their pictures. |
loam --vault ~/Notes import.notion source=~/Downloads/Export.zip dry-run=trueFor any other app that exports plain Markdown files, copy that folder and open it as a vault. Then check the links, because only standard Markdown links feed backlinks and renames.
dry-run=true first, and read the report it returns before you run it for real.