Migrating from another app

~3 min read

Migrating from another app

Already keep notes in Obsidian, Bear, Ulysses, Notion, Evernote, Roam, Logseq, iA Writer, or Apple Notes? Lettuce imports them into a vault in one pass — converting each app’s Markdown quirks into plain, portable Markdown and copying your attachments along the way. Your originals are never touched; import only reads the source.

Two ways to do it

Getting an export out of each app

Most apps don’t store notes as plain Markdown, so first produce an export Lettuce can read:

A safe first run

Always dry-run first — it reads everything and prints a report without writing:

lettuce import --from obsidian ~/ObsidianVault --vault ~/Notes --dry-run

The report tells you how many notes and attachments would come over, and flags anything that needs a human eye (a Dataview block, a broken reference). Happy with it? Run it again without --dry-run.

Importing into a vault that already has notes is safe: a name clash lands as Note 2.md rather than overwriting, and existing attachments are kept.

After importing

lettuce lint ~/Notes

lint reports unresolved links, orphans, and other hygiene issues — a quick way to confirm everything came across and links still resolve. Then open the vault in Lettuce (File ▸ Open Folder) to browse it with backlinks and the graph.