OmniOutliner Review

I review OmniOutliner for macOS, and ask the question 'can it add the outlining features I need to Ulysses or is it better to stick with Scrivener?'

OmniOutliner Review

I'm a planner rather than a pantser. I like structure and I think quite linearly. Where some folk prefer index cards or mindmaps, my preferred way to plan a writing project, be it fiction or non-fiction, is through outlining.

Ulysses has no outlining capability and the lack thereof is one of the reasons I continue to use Scrivener for long-form writing. Scrivener's outlining capability is excellent, essentially providing a flexible and extensible spreadsheet view with which to plan, organise and eyeball a complex project into its constituent parts.

Enter OmniOutliner, a standalone outlining application by the venerable Omni Group. It's available for macOS and iOS and promises to keep your work synced using iCloud or even their own open-source syncing service - which you can self-host if you don't trust others to host your data.

OmniOutliner is often touted in conjunction with Ulysses, so I wanted to see if I could make it work for me. Would it fulfil my needs and provide a planning solution as seamless as Scrivener? Let's find out!

The bottom line

Let's get the price out of the way first. OmniOutliner comes in two varieties: Essentials and Pro. Essentials is heavily stripped down and is available for $9.99 while the Pro version comes with many more features and a price to match at $59.99 — all prices in USD.

On iOS, Essentials is the same $9.99 price point where the Pro version costs $39.99.

So, if you want both, you're looking at outlaying anywhere between $10 and $100 USD depending on your needs.

The Omni Group is old school, so they offer no subscription, and they have upgrade pricing if you're coming from older versions — this is becoming increasingly rare in the Apple ecosystem.

For the sake of comparison, Scrivener for macOS is only $45 and for iOS it's $19.99. The comparison is worth noting because Scrivener includes outlining features and you can get both the macOS and iOS app for only $5 more than OmniOutliner Pro for macOS by itself.

Essentials vs Pro

As noted, Outliner comes in two flavours: Essentials and Pro. You can compare the two on Omni's website. The page also notes the feature differences between iOS and macOS.

The trial version conveniently allows you to switch between modes, which gives you the opportunity to evaluate what version you need. Cudos to OmniGroup for doing this, it was very helpful and I've not seen other developers do this before.

Essentials is very much stripped down, removing just about every feature I'd need for my experiment. Very quickly, I dismissed Essentials because it doesn't allow the addition of multiple columns to an outline — a dealbreaker for my workflow.

The Pro version is another animal entirely, adding a raft of functionality, including some very powerful features aimed at those who like automation — which I do. As I note above, the most important feature for my use case is the ability to add multiple columns, as I can in Scrivener. So, from here on in, I'll be discussing the Pro version.


I can't fault OmniOutliner's interface, it’s clean, customisable and attractive. It encourages focus, has a dark mode and a raft of keyboard shortcuts to keep my fingers on the keyboard where they belong.

The main UI is a typical tri-panel layout similar to what you’ll find on Pages and many other productivity apps for the Mac

OmniOutline Main UI
OmniOutline Main UI

On the left, we have the Sidebar which allows you to toggle between a Section view, Style view and Filters (saved searches).

The central panel is your main workspace, where your outline is developed and you’ll spend most of your time.

On the right is the Inspector, where you can edit the style of the selected element or you can adjust settings that effect the whole outline — for example, how rows are styled and so on. It’s also where you apply the document’s metadata, if required.

As you’d expect from a modern Mac app, you can dial back on the UI and focus on what you want by closing the panels you don’t need.

OmniOutliner's Central Panel
OmniOutliner's Central Panel

You can even focus on a particular node of your outline with the aptly named Focus mode. Activate it and the UI will zoom in on the element you want, along with its children.

OmniOutliner Focus Mode
OmniOutliner Focus Mode

With OmniOutliner it’s also easy to change themes. The app ships with several, aesthetic themes including the classic Solarized Dark, a must have for working at night or in other low-light conditions.

OmniOutliner with a dark theme applied
OmniOutliner with a dark theme applied

So, OmniOutliner’s a great looking app on the Mac. I also briefly played with it’s iOS counterpart and found it to be elegant too, albeit in different ways as it’s adapted to suit the needs of touch interaction.

A note on shortcuts

I count shortcuts as an important part of the user experience when using and evaluating productivity software. I’m more efficient if I can do something without leaving the keyboard to futz around with menus.

I’m pleased to say that OmniOutliner has perhaps some of the best shortcut sets I’ve seen. By default, you can do just about anything — best of all you can customise them extensively and make your own sets so you don’t muck up the defaults.

Customising shortcuts in OmniOutliner
Customising shortcuts in OmniOutliner

I didn’t like the default shortcuts for applying heading styles, so I changed them to what I preferred.

Similarly, the iOS version is also rich in keyboard shortcuts, when using an external keyboard. Most of them are the same as their Mac counterparts, meaning you can be just as productive on an iPad too — this is even more important on the iPad, where leaving the keyboard requires you to lift your hand to physically touch the screen.

Outlining (a novel)

To put OmniOutliner through its paces, I decided to outline a novel as I typically would in Scrivener.

First off though, I need to set up my columns.

Column data

The intent here is to reproduce my fiction template from Scrivener to OmniOutliner. For me that means, translating my project’s custom metadata into OmniOutliner columns. In Scrivener I track as a minimum:

  • Title and synopsis
  • Status (i.e. the document's current state)
  • Scene type
  • POV character
  • Other characters
  • Location and weather
  • Word count and target.

In a more complex story I'll also track things like Date/Time, Subplot, Character Arc, Tension and so on.

Translating this to OmniOutliner columns is trivial for the most part, but it's worth noting there are differences with Scrivener. For example, in a Scrivener outline, the Title and Synopsis occupy the same cell. Here’s an example drawn from an old draft of my big novel, Weaver of Dreams

Scrivener outline
Scrivener outline

I’m not sure if I can achieve that same functionality in OmniOutliner or if I have to keep the Title and Synopsis as separate fields. Maybe my thinking is overly influenced by Scrivener so I’ll be looking forward to learning best practice.

Scrivener and OmniOutliner share many of the same data types namely, Text, Checkbox, List and Date. Omnioutliner also has the additional types: Duration and Number, and in the Pro version text is rich, supporting inline formatting.

OmniOutliner can also do more with its data, for example adding up all the values of its numeric fields to give you totals in a summary footer. That would be handy for tracking a novel’s word count — then again, Scrivener and Ulysses can track word count too.

So I’ll start with a new document and add my columns.

OmniOutliner basic template for novels
OmniOutliner basic template for novels

I’m not convinced Title and Synopsis should be separate, but I’ll run with it for a moment. With the columns I’ve created I’ll amend Type and POV Character to be popup lists. Using lists is useful for entering data quickly and consistently.

I’ll add my first row, label it the book’s title and style it as heading one.

Immediately as I started outlining, I noticed the Notes feature (shown in the screenshot above). This is similar to how the synopsis works in Scrivener so I decided I’d do that and removed the Synopsis column.

Title and Synopsis merged
Title and Synopsis merged

Novel structure

There’s no right or wrong way to structure a novel and in my opinion any structure is better than none at all. OmniOutliner doesn’t impose a structure so you are free to do anything you want.

I structure my stories by character arcs made up of key scenes rather than acts, chapters or beats — at least for the first draft. In Scrivener (or Ulysses) these are represented by Binder documents (or Sheets). In OmniOutliner, these would be represented by rows in the outline so for each scene in my novel, I'll need a row.

Everyone’s mileage varies. I’ll show you an example of one of the most commonly used structure. Here’s the classic three act structure with a prologue and chapters — typical of epic fantasy.

Three Act Novel Structure
Three Act Novel Structure

If I want to focus in on outlining chapter 1, I do so with focus mode.

Focusing on chapter 1's outline
Focusing on chapter 1's outline

The beauty of OmniOutliner is you can start with no structure at all, and easily add one later. For example, you could start with a simple list of scenes then move them into chapters by simply adding a ‘chapter’ and dragging the scenes into place.

This is how a pantser might work and it’s good to see that OmniOutliner is flexible enough to handle projects from the top down or bottom up.

Mind you, Scrivener let’s you work this way too, as does Ulysses. Where OmniOutliner has them both licked is how easy it is to restructure very quickly using just the keyboard. It can be quite tedious restructuring content in Scrivener’s Binder with a mouse. Similarly, making structural changes in Ulysses, which doesn’t have a high-level outline view beyond views sheets in a Group, is a real pain.

So, OmniOutliner is clearly the winner in terms of creating and editing a complex outline.

Power features

OmniOutliner Pro is not short of features for power users. Aside from the aforementioned multiple columns, the Pro version includes the following gems:

  • Searching using regular expressions (Scrivener supports this, but Ulysses doesn't)
  • Document encryption
  • Smart Columns
  • Automation with Javascript
  • Custom keyboard shortcut sets

Certainly these are nice to have and make for a compelling upgrade along with the other pro features, such as rich text and custom style and template support. I use regular expressions all the time in Scrivener, I also find the automation features intriguing but so far I haven't found a particular need for them.


OmniOutliner has a decent array of export options including CSV, HTML, Microsoft Word, Rich Text, Plain Text, PowerPoint and OPML. The Pro version adds enhanced OPML, Microsoft Excel and Apple's RTFD format.

The glaring omission is lack of Markdown support. As such, it's a royal pain in the neck to import a text outline into Ulysses — the reason I've embarked on their experiment in the first place. Disappointing, certainly but not a deal breaker. Ulysses can import a Word document and convert basic formatting to Markdown XL.

Here’s a look at how Ulysses handled the OmniOutliner’s exported docx.

OmniOutliner doc imported into Ulysses
OmniOutliner doc imported into Ulysses

It does a decent job converting Word’s heading styles into a Markdown hierarchy while the notes become the body text.

From here you can cut the document up into parts and turn the synopsis in Ulysses comment blocks — or however you prefer to work.

Note that Scrivener handles Word documents much better as it uses rich text internally, but that defeats the purpose of this experiment. If I was going to write in Scrivener, I'd outline in it too and save myself 60 bucks American.

On the subject of missing formats, there's no support for ePUB or PDF. I use these two formats daily for reading on my iPad or printing out copies for proof-reading. When I created the ePUB for The Weaver's Boy, I did so using Scrivener with minimal clean-up required in Sigil before I published to Amazon. Ulysses' ePUB output is equally production ready. Plenty of authors also send Scrivener and Ulysses generated PDFs straight to Createspace too.

Integrating with Ulysses

This section is something of a misnomer because Ulysses and OmniOutliner can't talk to each other, like say Ulysses and Aeon Timeline can. Nevertheless if I want to plan in one and write in the other, I at least would like to link the two apps somehow. That somehow is courtesy of the mother-of-all hacks, X-callback-url schemes.

X-callback-url was developed by third-party iOS developers (i.e. not Apple) to enable apps to exchange data through Apple's sandboxing on iOS. The concept took off as a means of making mobile devices more productive, and since then it’s been implemented in some macOS apps including OmniOutliner and Ulysses.

To make this work, I’ll add a new text column to the outline, named Ulysses — it can be called anything, but this name is as good as any.

Ulysses Column
Ulysses Column

From there, I can paste in an x-callback-url link from a Ulysses sheet, creating a reference between the two applications.

Note, this functionality is hidden in Ulysses, but you can find it by Option-clicking a sheet or using the keyboard shortcut, Control-Option-Cmd-C.

Once we have our X-Callback-Url copied, we can paste it into OmniOutliner.

OmniOutliner callback URL
OmniOutliner callback URL

You’ll note the link is active. Clicking it will return you to the Ulysses sheet from which the link was created.

Would I write in Outliner?

The hack I describe above is hardly worth the effort, beyond my intellectual curiosity.

OmniOutliner's tagline is a tantalising 'Outline: think, write, do' which makes me ponder the question of could I use it to write instead of Ulysses or even Scrivener?

Ostensibly you can. Imagine if Scrivener's outline view also included the ability to edit the document text in situ and you'll have an idea what the experience is like. On the surface, it sounds practical, but in practice I found it messy as the document grows, even with the ability to fold sections and focus on what you are writing.

Still, it's possible. The Pro version has Notes in Pane (analogous to document/sheet notes in Scrivener/Ulysses), Saved Filters (analogous to Collections/Smart Groups in Scrivener/Ulysses) and File Attachments (like Ulysses). Honestly, there’s not much missing.

In the Pro version, text fields are rich text, which I generally prefer for fiction.

But it's the differences that make it impractical for me.

In OmniOutliner, each document is a project. It lacks Ulysses' Library — a single, managed repository for everything. Similarly it lacks Scrivener's concept of a Binder — a flexible file system that can store everything from a short story to a multi-volume series.

On that note, OmniOutliner lacks Scrivener's ability to store and manage huge amounts of research material. That rules out adding your world-building files, character and location sheets in the same project. Of course, not everyone writes that way. If you store your research elsewhere then this won't bother you.

But there's more…or rather less. OmniOutliner lacks Scrivener 3's Linguistic focus mode, customisable character name generator, and its multi-panel view mechanism. The last point makes it a deal breaker. Although I write the first draft lineally, when I'm revising and editing I work in parallel, often working on (or at least referencing) two or three scenes at the same time on a big external monitor.

Another consideration is that OmniOutliner’s file format is proprietary — and binary. I make it a point to write in formats that are open. Scrivener is a bunch of RTF files in a directory masquerading as a file. Ulysses sheets are plain-text documents buried inside your iCloud storage pool (you have to dig deep to find them, but they are there).

So, while it's possible, for me at least it's not practical beyond a basic first draft.

Concluding thoughts — is it worth it?

No, honestly it's not for me — not for $100USD.

It's very rare I'm this blunt in a review, so naturally I want to justify my reasoning.

You'll remember I came into this review looking to add outlining capability to Ulysses. For me it was an experiment to see if the combination of Ulysses and OmniOutliner could give me the functionality already built into Scrivener. While it can at a pinch, the resulting workflow is neither convenient nor cost effective. At best the workflow is a hack, and not a particularly elegant one. The apps don't really talk to each other at all, so any change I make in one has to be manually applied to the other. Neither app is at fault here, but it's needless complexity and double-handling that I can live without.

But, let's assume for a minute that I'm not already using Scrivener. Maybe you’re on the fence about it. Maybe you’re leaning heavily towards an iOS only existence where Scrivener loses its competitive advantage. Would I buy OmniOutliner?

Well, I'd be much more inclined to, however with that price tag, I'd be hesitant and here's why.

Essentials, which I dismissed quite early on, is so stripped down it isn't much better than what you'll get in the word processor that chances are you already have. Microsoft Word in particular has decent outlining capability. Even Apple's lightweight Pages app can be wrangled for the purpose. You can also outline quite effectively in Bear Notes or even a simple Markdown or text editor. Years ago, I built a proof-of-concept outlining workflow based using Multimarkdown's OPML capabilities

Still, it's only $10 and if your needs are simple — and you hate your word processor, give it a look.

I considered the Pro version essential because I need multiple columns to outline a novel. Thing is, Scrivener aside, I could do the same thing in a spreadsheet — as advocated by Randy Ingermanson's popular Snowflake Method. For my purposes even Apple's free Numbers app is adequate and it works on the Mac, iPad, iPhone and even on the web — everything synced nicely through iCloud. Sure, the UI isn't as nice but it’s adequate. Spreadsheet can also do things that Outliner can't, like make charts to visualise POV frequency at a glance.

If I was hell bent on separating my planning from my writing into different apps, I'd have to conclude that Ulysses/OmniOutliner is a rather expensive and inconvenient solution. Moreover, this pursuit is beginning to feel like fool's errand, at least for me.

As for writing in OmniOutliner, the experience left me wanting. Scrivener and Ulysses are better writing environments by far — they're built for writers. OmniOutliner is, in OmniGroup's own words, built as an all-purpose tool. If I'm going to eat steak, I prefer to use a steak knife, not the flimsy blade of a Swiss Army knife.

Honestly, my time wrangling Outliner and Ulysses together made me appreciate Scrivener more — both in terms of its functionality and its incredible value. Sure, Omni's outliner is better than Scrivener's outliner but Scrivener value is greater than the sum of its parts — thanks to Scrivener's integration and extremely flexibility.

So, OmniOutliner is an excellent app; what it does, it does very well. Those of you who live and breathe outlines and have very high standards in UI design will love the app. For me outlines are a means to an end, and I need the tight coupling between my plan and my content. So, for me at least OmniOutliner's cost and the hit to my productivity is a price too high to pay.