Importing from another app

Last reviewed: 2026-07-28

Plainva can bring notes over from other note apps. The import always writes into the vault you currently have open, in a subfolder you name — so it never touches the rest of your vault, and you can move or delete the imported folder afterwards like any other folder.

Import runs on both devices. The desktop offers every source; on the phone you find it under Settings → Maintenance → Import from another app. There it always writes into a subfolder of the open vault — sources that need an account with a service (Notion through its API, for instance) stay on the desktop.

Starting an import

Three ways in:

The first step asks for your export — Choose files… or Choose folder…, whichever you have. The wizard then names the app it recognised and you decide where the import writes. A preview follows with the numbers for the run, the limits of this import and the switches for the source. Nothing is written until you press Start import.

You do not have to know which entry fits your export. Pick the files, and Plainva recognises the source — a Notion export by the long IDs in its paths, a Logseq graph by its journals/ and pages/ folders, a Keep or Simplenote export by what is inside the JSON. The wizard says what it recognised; if it guessed wrong, change it in the tiles below and your choice stands.

Where the import writes

Exactly one of two places per import — never both:

The target line under the choice always spells out the exact folder, so where things will land is never a guess.

Options for this import

The preview carries the switches that fit the source it recognised, below the numbers — every source brings its own, and what a source cannot do never shows up there. They sit there rather than earlier because the questions only make sense once you can see what is coming; a switch that changes the numbers has them recounted at once.

What the preview shows

The preview is the last stop before anything is written, and it names everything that would otherwise be a surprise afterwards:

Stopping a run

A large workspace can take a while, so an import can be stopped: Stop import during the run. What already reached the vault stays there and the report describes it — a partial import is not a broken one. As with a completed import, the folder is the undo.

What you can import

SourceWhat you selectWhat comes across
Notion (API)An integration tokenPages, folder hierarchy, databases with rows, relations, 21 property types
Notion (ZIP export)The ZIP or unpacked folderPages and folder structure; a database gets its columns and row values from the CSV beside it
Evernote (ENEX)One or more .enex filesNotes, tags, checklists (checked and unchecked), created/updated dates
Google Keep (Takeout)The Takeout ZIP or the .json filesNotes, checklists, labels as tags, colour on the note header, pinned notes as a pinboard
SimplenoteThe exported .json fileActive notes and their tags
LogseqYour graph folderThe files, copied unchanged
JoplinThe Markdown export folder or ZIPNotes with their notebooks, frontmatter, tags and resources
Bear (TextBundle)The exported .textbundle foldersNotes with their images
NotesnookThe Markdown exportNotes and their notebook folders; a note filed in two notebooks is imported once
CapacitiesThe export folder or ZIPNotes with their properties as frontmatter, plus media
AmplenoteThe export ZIPNotes with their frontmatter and images
SupernotesThe Markdown exportCards as Markdown, with the metadata files beside them
HeptabaseThe Markdown exportCards with their frontmatter; whiteboard layout is not carried over
UpNoteThe Markdown exportNotes with their notebooks and attachments
CraftThe Markdown exportDocuments with their assets
AnytypeThe Markdown exportObjects with their relations as frontmatter
Standard NotesThe decrypted JSON backupNotes with their titles and tags
Workflowy / DynalistThe OPML exportOne note per top-level item, its children as nested bullets
TriliumThe subtree exportThe note tree and its attachments; HTML notes become Markdown
Roam ResearchThe JSON exportPages as notes, outlines as nested bullets; block references become the text they pointed at
ReflectThe Markdown exportNotes with their wiki links and daily notes
TiddlyWikiThe JSON exportTiddlers as notes with their tags and dates; WikiText is kept as written
TanaA Tana Paste textEvery top-level node becomes a note, its children stay bullets
RemNoteThe Markdown exportDocuments with their nested rems
HTML folder / ZIPA folder, files or a ZIP of HTML pagesThe pages as Markdown notes, with the links between them repointed
Markdown folder / ZIPA folder, files or a ZIPThe .md files and their folder structure

Obsidian is in the list too, but it starts no import — and needs none. Plainva works with the same Markdown files: the entry says so and offers you Open vault. Wiki links, tags, frontmatter and .base files keep working, and your vault stays usable in Obsidian. Honestly alongside that: there is no plugin ecosystem, no Canvas and no Dataview — you get filters in .base instead, and plugin syntax in your notes stays there as plain text.

Why is my app missing?

Some apps are not in the list, and the reason is a different one each time — which matters, because two of them are only missing for now.

For anything not listed, the way in is the same: if your app can write Markdown files, the Markdown folder / ZIP entry takes them, and their folder structure comes with them.

Notion in detail

Notion is the one source where the two paths differ a lot.

With an integration token (recommended). Create a token at notion.so/my-integrations — the wizard spells out the three steps and opens the page for you. Then open each Notion page you want to import, choose ”…” at the top right → Connections, and add your integration — Notion only exposes pages you have explicitly connected.

Plainva does not store the token. It is used for that one run and gone afterwards; no connected account is created. For the next import you paste it again.

Through the API, Plainva sees the structure, not just the text:

From a ZIP export. This works offline and needs no token, but Notion’s export does not contain the database schema or the page IDs. Pages and their folders come across, and links between the imported pages keep working — Notion writes them with a long ID in every path segment, and Plainva points them at the notes it actually wrote. The .csv beside each database folder is read for what the pages themselves do not carry: the columns, their types, and each row’s values as frontmatter. Rows the export has no page for are written as notes. Matching happens by title — the API path is the one with real IDs, and stays the better route for a workspace built on relations.

What imports cannot carry over

Every importer states its limits in the preview and again in the report. The main ones:

Dates come across

A collection grown over years loses its time axis if everything is dated today after an import. Plainva therefore carries the source’s dates over:

One failure does not end the whole import

If a single note cannot be written, the import carries on and the report names it with the reason. The report is written even when the run stops early — so you always see what already landed in your vault.

Nothing gets overwritten

The import writes into the vault you have open, so it is built to be non-destructive:

If you would rather keep the import completely separate, create a new vault first (New vault on the start screen) and import into that.

The import report

Each run writes an import report into the target folder. It lists:

The report is the honest record of the run — if something was truncated or dropped, it appears there rather than being silently counted as a success. Worth a read before you delete the export.

At the bottom it says how to undo the import: everything from one run sits in a single folder, so deleting that folder removes the import. With the New vault target that is the new vault’s own folder. No separate undo command is needed for it. The report itself is an ordinary note and can be deleted once you have read it.