Import from Obsidian
A 3-step migration for Obsidian vaults.
Pikos reads an Obsidian vault directly from disk. There's no export step to run on the Obsidian side. Point Pikos at the vault folder and it does the rest. The same path works for any directory of plain .md files.
1. Open the importer
In Pikos, press Cmd+, to open Settings, then click the Data tab. The Import section is at the top.
2. Pick your vault folder
Click Select Folder next to "Markdown" and choose your vault directory, the same folder you'd open in Obsidian. Pikos walks every .md file recursively, so subfolders are included automatically. Hidden directories (anything starting with ., including .obsidian) are skipped.
Your vault stays where it is. Pikos copies the contents into its own database; nothing is moved or modified on disk.
3. Review the preview
Before any data is written, Pikos shows a preview: how many pages, which folders, what got skipped, and any warnings. If you see something you don't want imported, cancel and adjust the vault, or proceed and clean up after.
The preview also has a Skip completed toggle. If you used Obsidian Tasks or a frontmatter status: done field for completed work, you can leave the archive behind and import only the live pages.
What comes across
- Frontmatter — Pikos reads the YAML block at the top of each file. Recognized keys:
tags— inline arrays ([a, b]), comma-separated, or YAML lists all workstatus— valuesdone,completed, orxmark the page complete; anything else stays openpriority— numeric1–4(1 urgent, 4 low) or the keywordsurgent,high,medium,lowscheduled,due, orscheduled_start— scheduled date (always imported as all-day)created,date created, orcreated_at— original creation timestampmodified,date modified,updated, orupdated_at— original modification timestamp
- Folder structure — preserved. Nested paths flatten with a
/separator (soProjects/Work/Q3becomes a folder named "Projects / Work / Q3"). Files in the vault root land in the Pikos Inbox. - Wikilinks —
[[Page Name]]stays as text. Pikos uses a different linking model, so they don't auto-resolve, but nothing is lost. - Image embeds — both
![[image.png]]andare copied into Pikos's asset store and rewritten to local paths. Supported extensions:png,jpg,jpeg,gif,webp,svg,bmp,avif. Extensionless wiki-embeds (![[Screenshot]]) are tried speculatively against those extensions; if no image is found, they're left as plain text. - Callouts —
> [!note] Titlebecomes a styled blockquote with the type as a bold label (> Note: Title). - Tasks — checkbox items (
- [ ]and- [x]) keep their checked state. - Tables, code blocks, headings, lists, formatting — all preserved through the rich-text editor. Blank lines between blocks are preserved too — paragraph spacing matches what you had in Obsidian.
What doesn't come across
- Excalidraw drawings — files named
*.excalidraw.mdor*.excalidraware skipped entirely. The preview reports the count. - Non-Markdown files — anything other than
.mdthat isn't an image embedded in a note (loose PDFs, audio, video, etc.) is counted as skipped in the preview. Only files referenced from a Markdown image embed are copied across. - Plugins — Dataview queries are flagged as warnings so you know which pages lost dynamic content. Templater syntax is left as-is in the body (so unrendered template directives may show up as text).
- Mermaid diagrams — preserved as fenced code blocks; they don't render visually.
- Recurring schedules and end times — Obsidian frontmatter doesn't have a standard for either. Pikos imports a single all-day
scheduleddate per page; recurrence and end times need to be set in Pikos after import. - Graph view, canvas, and link backreferences — Pikos isn't a knowledge graph tool. If that's the workflow you came for, this isn't the right move.
If something goes sideways
Pikos snapshots its database before every import. If the result isn't what you wanted, every imported page is tagged with the import batch, and the Settings → Data → "Undo last import" button removes them in one click.
Pikos is launching soon. When it lands, the import flow is in the Data tab the first time you open Settings.