Importing from Logseq, Obsidian, or an EtherPK export
Import brings an existing folder of notes in as a brand-new knowledge graph. The source folder is only ever read - your original graph or vault stays exactly as it was.
An import always creates a new graph. It cannot add files to an existing local or synced graph, and it does not convert the source graph in place. Moving a local graph to synced storage therefore leaves the local graph untouched and creates a separate synced graph.
Supported sources:
- Logseq - a graph folder (detected by its
logseq/config directory) - Obsidian - a vault (detected by
.obsidian/) - EtherPK - one of our own exports, Local Mirrors, or local-folder graphs. Importing a Local Mirror is how you rebuild a synced graph you have lost access to, or move one to another account; see Keeping A Local Copy Of A Synced Graph
- Plain markdown - any other folder of
.mdfiles
How to import
- On the Graphs page, click Import.
- Choose the source folder. The picker reads the folder once; nothing is written to it.
- Check the detected format (you can override it), give the graph a name, and choose
where it lives:
- Local folder - plain markdown files in a new, empty folder you choose. Needs a Chromium-based desktop browser. If the folder you pick isn't empty, the import refuses - it never adopts or overwrites an existing folder.
- Synced graph - end-to-end encrypted on your sync server, available on all your devices. Set up sync first - see Synced Graphs And Your Recovery Code. You are not asked to choose a destination folder because EtherPK creates a new graph on the Sync Server.
- Click Import. The import window closes and a progress activity takes over.
Before importing to a synced graph
The Synced graph choice is available only after this device has connected to a Sync Server and the Server has confirmed your account. Use Graphs -> Sync settings to connect to Managed Sync or a Custom server first.
If this account already has encryption keys and they are locked on this device, the import asks for them before it starts: approve from a device that is already unlocked, or enter your Recovery Code. Nothing is created on the sync server until the keys are in hand, and cancelling the prompt simply cancels the import. You do not need an existing synced graph to unlock - Sync settings → Unlock keys does the same job from a device that has none.
If this is your account's first synced graph, EtherPK creates your encryption keys before the import starts and shows you the Recovery Code there and then. Save it and confirm, and the import begins; nothing is uploaded until you have. That ordering is deliberate: your notes are encrypted with a Graph Key that lives in the key bundle, and until the bundle is stored, anything already uploaded could not be opened again. The Sync Server still cannot recover the code or your graph for you.
You can also mint them ahead of time with Sync settings → Create encryption keys. The import then just adds the new graph's key to the bundle you already have.
While the import runs
Import runs in the background. You can close the import window, visit another part of EtherPK and carry on working whilst the activity reports progress. Only one import can run in a browser tab at a time.
For a synced destination, EtherPK converts the source, encrypts and uploads its assets, prepares the documents, then waits for the Sync Server to confirm the encrypted changes. The graph is not added to this device's main graph list until the import has safely reached its final registration step.
When the activity finishes:
- Imported means the Sync Server has confirmed the imported document changes. Select Open on the activity to enter the graph - EtherPK does not move you there automatically.
- Still syncing to the server means the encrypted work is safe in this browser's durable cache, but the Server has not yet confirmed every document. EtherPK keeps the graph and its pending changes. Open the graph to resume delivery.
- A genuine failure or cancellation removes the new destination graph rather than leaving a half-imported graph in your list. Closing or killing the browser tab during an import is different: the partially populated Server graph can appear under Synced graphs as Not on this device, where its Owner can delete it.
Imported synced assets have the same membership checks and end-to-end encryption as assets added in the editor. See Images And Files In Your Notes for the full access and security details.
What gets converted
Documents, assets, journals, and links all come across. A few things are worth knowing:
- Tasks become markdown checkboxes with hash tags: priorities map to
#P1/#P2/#P3, waiting to#W, deadlines to#D-2026-03-20style dates. Logseq'sTODO/DOING/DONEmarkers and the Obsidian Tasks plugin's emoji are both understood. The tags render as plain text for now - task views are on the roadmap. - Journals are renamed to their ISO date (
2026-07-16.md), and links to journal pages (like[[Jul 16th, 2026]]) are rewritten to match. - Logseq namespaces (
physics/quantum) and Obsidian folder clashes become scoped concepts ([[[[physics]] quantum]]), EtherPK's own way of nesting ideas. - Piped links (
[[Target|label]]) keep the label when it's the target or one of its aliases; otherwise the label stays in your prose with the link alongside it. - Constructs with no EtherPK equivalent (embeds, block references, queries) degrade to the nearest readable markdown. Nothing is silently deleted.
- An EtherPK folder's
AGENTS.mdandCLAUDE.mdare not imported as pages. They belong to the folder they came from (see Your Notes In Your Own Folder); a local destination graph writes its own the first time it opens.
The Import Report
Every conversion that couldn't be lossless is listed on an Import Report page generated inside the new graph, with links to the affected documents. It's an ordinary page - read it, follow up anything that matters to you, then delete it if you like.