Migrating from another app
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
In the app: File ▸ Import… opens a wizard — pick the app you’re coming from, point it at the export (or, for Apple Notes, just let it read the app), and review the report.
From the terminal: the
lettuce importcommand, which is the better choice for large libraries and for scripting. Full reference: CLI cookbook/12 lettuce import.
Getting an export out of each app
Most apps don’t store notes as plain Markdown, so first produce an export Lettuce can read:
Obsidian — already a folder of
.md. Point the importer straight at your vault folder.Bear — File ▸ Export Notes… → Markdown (Textbundle keeps images). Or point the importer at Bear’s live
database.sqlite.Ulysses — select your sheets/groups → File ▸ Export… → Text → Markdown (or a
.textbundle/.textpackto keep images).iA Writer — your documents folder, or a
.textbundle/.textpackexport.Notion — Settings ▸ Export → Markdown & CSV. Import the downloaded
.zipdirectly.Evernote — select notes → File ▸ Export… →
.enex. (Needspandoc:brew install pandoc.)Roam / Logseq — export the graph as Markdown; import the folder.
Apple Notes — nothing to export; the importer reads the app over AppleScript (it’ll ask for permission the first time). (Needs
pandoc.)
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.
Related
CLI cookbook/12 lettuce import — every flag, source, and exit code
Getting started/02 Your first vault — if you’d rather start fresh
Core concepts/04 Wikilinks, backlinks, and the graph — what your links become