Learn how to migrate your data from OmniFocus to Things.

This page provides instructions for migrating your entire OmniFocus database over to Things. OmniFocus doesn’t provide a public API, so the only way to migrate is via AppleScript. This introduces two limitations:

  1. AppleScript is only available on Mac; there’s no way to migrate data on iPhone, iPad, or Vision.
  2. AppleScript is only supported in OmniFocus Pro; the below script will not work with the standard version of OmniFocus.

What happens during import?

The below script only copies your data into Things, so you can safely run it without affecting your data in OmniFocus. Here’s how the data will be interpreted:

  • Folders will become Areas.
  • Projects will become Projects.
  • Actions will become To-Dos.
  • Defer dates will become When (start) dates.
  • Due dates will become Deadline dates.
  • Tags will become Tags.
  • Flagged status will become a Flagged tag.
  • Repeating items will be imported, but will lose their repetition schedule. You’ll need to manually convert them into Repeating To-Dos.
  • Notifications will be ignored.
  • Links to other OmniFocus items will be preserved, but will continue to point to items in OmniFocus. If you want those links to work within Things, you’ll need to manually update them to Things URLs.
  • Things does not support nesting/indenting to-dos under one another, so any such hierarchy will be flattened.
  • The following are not supported in Things and will not be imported:
    • Attachments
    • Estimated duration

Import your data

First you’ll need to download the script:

Download Script for OmniFocus 4 Pro

The script should also work for OmniFocus 3 Pro but results may vary.

Locate the downloaded file, right-click it and choose Open. You’ll see this prompt:

Start the import

New items will gradually appear in Things, one at a time. If your OmniFocus database is large it could take a long time to finish, so please be patient. Leave both apps running. You’ll know it’s finished when you see this:

Finish the import


Some users have reported that the script can time out. If this happens, try running it via Script Editor instead:

  1. Right-click on the downloaded script and choose Show Package Contents.
  2. Navigate to /Contents/Resources/Scripts/.
  3. Right-click on main.scpt and choose Open WithScript Editor.
  4. In Script Editor, click ▶ Run in the toolbar at the top.

You might see a warning that the script can’t be opened due to security concerns. To work around this you need to right-click the file and then choose Open. Alternatively, you can open System Settings, go to Privacy & Security, scroll to the bottom, and click Open Anyway.