Skip to content
listlis

Import and export

Bring your outline to Listlis

Listlis imports one OPML file or a group of Markdown files. Titles, notes, nesting, and sibling order come across. Export one project first, try it for a week, and keep the old app untouched until you are sure.

1. Export from your current app

Workflowy

Open the menu on the bullet you want to move (or on the home page for everything), choose Export, and pick OPML. Save the text as a file ending in .opml. OPML keeps each item's note and whether it was completed.

Dynalist

Open the document or item menu, choose Export, and pick OPML. Dynalist exports one document at a time, so start with the one you use most.

Logseq

On a file graph (Logseq OG), each page is already a Markdown file in the graph's pages folder. Copy the files for one project somewhere else, or use Export graph and choose Standard Markdown or OPML. A database graph keeps its pages in SQLite, so get Markdown out first: turn on Markdown Mirror for the graph, or use the app's Markdown export, then import the files it writes. The Logseq migration guide covers the rehearsal in detail.

Any other outliner

Most outliners export OPML. If yours only exports Markdown, a nested bullet list or a set of headings works.

2. Import into Listlis

  1. Open app.listlis.com and choose Import and export: from the left rail on desktop, the command list (?), or the header's ☰ menu on a phone.
  2. Drop one .opml file, or one or more .md files, on the panel.
  3. Check the node count in the preview, then pick where it goes: a new top-level section (the default, named after the file, or "Markdown import" for several files), the top level, or inside the node you had focused.
  4. Import. The tree updates on every open device.

Confirm your email before a real import: until you do, an account holds 100 nodes and 1 MiB of text. After that, one import takes up to 2,000 nodes. Larger archives go in several pieces, one branch or document at a time. If an import fails, your tree is left unchanged. Because the default puts everything under one new section, deleting that section undoes the whole import, and Trash keeps it for 30 days.

Markdown files: each file becomes one top-level node, titled by its first heading or its filename. Bullets become nested children by indentation. Other lines in the file become that node's Markdown note.

What transfers

From your old appIn Listlis
Item textKept as the node title
Nesting and sibling orderKept
Notes (OPML _note)Kept as the node's Markdown note
Completed items (Workflowy _complete)Kept as completed
#tags in item textKept as text; Listlis indexes title tags, so they work as Listlis tags
Dates written in textPlain text; set due dates again where you need reminders
Bold, italics, and links inside item textPlain text, with any markup characters left in place
Logseq TODO/DONE markers, [[links]], ((block refs)), {{queries}}Plain text in the title
Logseq key:: value propertiesPlain text in the page's note
Workflowy mirrorsOrdinary items; the live mirror link is not kept
Colors, highlights, and other OPML attributesDropped
Completion state from Markdown or non-Workflowy OPMLDropped; check finished items after import
Images and file attachmentsDropped; files are not part of the export

Export back out

The same panel downloads your whole account as Markdown or OPML. Both keep titles, notes, nesting, and order; OPML also keeps completion state, so an OPML export imports back into Listlis or another outliner with the same structure. Due dates, styles, links between nodes, and attachments stay in Listlis. Exporting regularly is a sensible backup routine for any hosted app.

Before you switch

Compare the tools on the work you actually do. The comparison hub covers Workflowy, Dynalist, Logseq, Checkvist, Tana, and others. For anything this page does not answer, see support.

Try one project

Export one branch, import it, and use it for a week.

Open the app