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
-
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. - Drop one
.opmlfile, or one or more.mdfiles, on the panel. - 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.
- 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 app | In Listlis |
|---|---|
| Item text | Kept as the node title |
| Nesting and sibling order | Kept |
Notes (OPML _note) | Kept as the node's Markdown note |
Completed items (Workflowy _complete) | Kept as completed |
#tags in item text | Kept as text; Listlis indexes title tags, so they work as Listlis tags |
| Dates written in text | Plain text; set due dates again where you need reminders |
| Bold, italics, and links inside item text | Plain text, with any markup characters left in place |
Logseq TODO/DONE markers, [[links]], ((block refs)), {{queries}} | Plain text in the title |
Logseq key:: value properties | Plain text in the page's note |
| Workflowy mirrors | Ordinary items; the live mirror link is not kept |
| Colors, highlights, and other OPML attributes | Dropped |
| Completion state from Markdown or non-Workflowy OPML | Dropped; check finished items after import |
| Images and file attachments | Dropped; 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.