OmniOutliner —> Scrivener


This has been asked a million times, but I cannot find the answer: What is the best way to get an OmniOutlier outline into Scrivener?

I am using MarginNote on my iPad to take extensive notes on long texts in PDF format for importing into Scrivener for writing later. What’s great about MarginNote is that it keeps track of everything (even correct page numbers!), tagging, with passages and images. It’s amazing. However, I would like to use Scrivener as my writing “database” where I keep everything including my notes, and my writing. My plan was to export to OmniOutliner, export to OPML, then import into Scrivener.

However, while in OmniOutliner, everything is there, in columns like “tags” and “page number”, when I export to OPML and import into Scrivener, all of that is lost. I only get the text of the first column. I’ve tried the three different methods of importing OPMLs in Scrivener and nothing works. I tried to the use a script someone posted here to put it in TextWrangler and then export as MultiMarkdown, but the result is very inelegant, with the columns of the OOutliner file truncated in the synopsis line in Scrivener.

Is there a way to import a full OmniOutliner file, or an OPML (or other outlining/mind mapping format), that puts the ALL the content of the columns in nice places in Scrivener?

Thanks for any help


UPDATE —> So I actually imported an oo3 file into Scrivener, and it’s all there as one file (I imagine it is there because I own OO3), EXCEPT the images that I clipped aren’t there. And I can’t copy or select the text to use as quotes in the text I am writing.

You are looking at a Quick Look preview of the file, much like selecting in Finder and hitting the spacebar would do (Finder sometimes does additional stuff with the QuickLook engine we don’t have access to, like page thumbnails on PDFs, but the core engine is the same). You’ll note that Apple doesn’t let you copy and paste text out of Quick Look windows there, too. [size=80][1][/size]

There are plenty of options for export in OmniOutliner, do any of these others provide what you’re looking for? For example if I export as CSV and then copy and paste that from LibreOffice into a Scrivener text item, I get an editable table.

Scrivener isn’t a freeform multi-column outliner though, so I’m not sure how that would work. I suppose if a custom meta-data field happened to use an ad hoc column name from the OPML|CSV file, we could probably file values accordingly, I’ll put that idea on the list to look into. It’s one of those types of things that can be a bit fragile, converting data from one format to another when the file format in question doesn’t even officially address what is being done with it (OPML is not a native multi-column outline format).

In a word, no. There aren’t many facilities for importing meta-data, which is what I assume you’re getting at with “nice places”. I don’t know if it is any better in this regard, but you might take a look at DEVONthink Pro. It was designed from the ground up to be a database for diverse file formats. Where Scrivener focusses on writing features, it focusses on stuff like this: importing CSV into tables, better PDF annotation and viewing—that sort of stuff. A lot of people pair Scrivener and DTP together for this reason. On the left you have a solid writing platform with a UI built entirely around the writing process and on the right hand you have an industrial strength database that can handle more formats natively and can throw around millions of words like it’s nothing. They work fairly well together, too. Both Scrivener and DTP can generate external URLs to internal resources. So you can drop direct links to PDFs and spreadsheets into the References pane in Scrivener, or hyperlink an text annotation in DTP to a specific chunk of text in your manuscript.


  1. I have no idea why they designed it that way, but you can override that behaviour in Finder with a hidden preference using a tool like Onyx. Unfortunately that hidden preference does not impact the entire system, best I can tell. It makes no impact on Scrivener at any rate, or LaunchBar, which is where I usually pull up QL panels.


Have you opened the OPML file directly to see if the additional columns of data are being exported by OO? OPML is a primitive format by nature, so I am guessing that OO is only sending out the first column (aka your actual outline), not any of the supplemental stuff. So, that would mean doing what you want via OPML is already a bust, b/c the data isn’t there.

I don’t use OO, but am curious to know if it is exporting this extra data to the OPML.


That it does do, it inserts them as attributes. NeO as well seems to support the convention. That’s what I’ve added to the list, if other outlining software starts adopting a new convention (as gr notes, the specification itself is super basic, hierarchical headings only last I checked) or the spec has been updated, then it makes sense to take a look at it.

Not to be down on Omni (I love OmniFocus…) but this is the kind of issue that made me abandon OmniOutliner after a year or so – the import and export pain wasn’t worth the benefits I got from using it. Can you easily convert your tags to delimited text e.g. #tag #tag2 etc. (or whatever delimiter you want) and your page #s to text (or Author Date: Page)? Or even better a page # linked back to Marginnote? If so, I’d recommend bypassing OO & OPML altogether and dropping text straight into Scrivener.