Import Todos in Apple “Reminders” App
I’m currently in the process of switching to Apple’s own productivity apps for as many tasks as possible.
TL;DR If you just want to know how to import the data into the “Reminders” app and don’t want to know anything about the app itself, go directly to data transfer
Why? Because these apps are usually very easy to use and well thought out. In addition, they are synchronized across all my Apple devices without any problems and the use of the apps and the iCloud for synchronization is free or included in the price of iCloud packages.
If I am annoyingly away from one of my Apple devices, I can also use all these services on any other device in the browser via icloud.com. I can also regularly download all my iCloud data via the iCloud function “Request a copy of my data” and back it up to another location.
Contents
Todoist vs. Notes vs. Reminders
So at the moment I’m looking at my to-do lists. I currently use the Todoist app for this. I actually love this app and have been using it for years. It has a very nice, easy-to-use interface and offers lots of practical functions.
However, it costs me €5 a month and recently there have been a few bugs, synchronization doesn’t work or the app on my Mac reacts very slowly or hangs. I’ve also always found it annoying that Todoist uses Amazon’s AWS cloud to store data – and I just don’t like Amazon.
So the Todoist app will be my next “victim” from which I move my data to an Apple app.
Apple actually gives you two options for todo lists: You can either use the “Notes” app, because there you can also conveniently add a checklist to a note and then also free text, pictures, drawings in parallel. The checklists in “Notes” can even be nested very deeply.
Or you can use the “Reminders” app. Contrary to what the name suggests, tasks can also be added here without a reminder.
Todoist | Notes | Reminders |
💸 free for up to 5 lists otherwise at leasr €4 per month (as per August 2024) | 🤩 free Unless you need more than 5Gb iCloud storage | 🤩 free Unless you need more than 5Gb iCloud storage |
🗣️ Recognizes natural language (Date, repetition, prio, list…) | 🤷 Free text (no due date, prio, list existing) | 🫤 No recognition of natural language (except the date) |
🤩 Quick input via keyboard shortcut on desktop | ⛔️ No quick input | 🫤 No quick input but can be built with the “Shortcuts” app |
✅ Reminder of tasks at a point in time, optionally with repetition in natural language | 🫤 No reminder | 🤩 Reminder of tasks at a point in time, with repetition and when entering/leaving a location or when writing with specific people (via “Messages” app) |
✅ Intelligent lists (today, planned, custom) | ⛔️ No intelligent lists | ✅ Intelligent lists (today, planned, custom) |
✅ Nesting tasks at any depth optional with repetition in natural language | ✅ Nesting tasks at any depth | 🫤 Nesting of tasks at only 1 level |
✅ Any amount of lists, nested at any depth | ✅ Any amount of notes, nested at any depth | 🫤 Any amount of lists but only groupable on one level |
✅ Daily backup, can be downloaded in CSV format, but only with pro/team subscription. Also the attachments are not included | 🫤 Can be added to iCloud data export (each export takes about a week). Notes will be included as .txt files which will loose the formatting, tables and checklists. Attachment are also exported | ✅ Custom solution with “shortcuts” app. (Article) |
✅ Apps for Mac, Windows, Android, iOS, Webapp | ✅ Native Apps for Mac and iOS. Webapp via icloud.com | ✅ Native Apps for Mac and iOS. Webapp via icloud.com |
The new one
Before I decided to move my tasks, I took a close look at the “Reminders” app and spent some time with it. It’s not that different from Todoist, but it’s not the same. Some features are missing, some are added.
I was relieved to see that there are also the standard “Smart Lists” for Today and Planned to have an overview of the tasks that are due soon. Tags are also supported, so you can create your own “intelligent lists” that search for entries from all other lists based on date, tags, etc.
You can also group lists (but only one level deep). What’s great about “Reminders” is that you can assign an emoji as an icon and a color to each list. This makes it easier to keep track. You can also be reminded of a task not only at certain times, but also, for example, when you leave or enter a certain place – that’s cool!
What I will miss the most, however, is the function of the Todoist desktop app, which allowed you to add a new entry using the shortcut Control + Command + A
and create a completely finished entry in any list with a reminder at any time and with priority by entering #Listname
and a time of your choice, e.g. “tomorrow” or “in September” and “p1” or “p2” etc. for the priority.
Unfortunately, “Reminders” does not support creating a task using a keyboard shortcut, nor does it support determining the priority or the list name by entering the task title (although supports suggesting a date from the information in the title).
However, you can use Apple’s “Shortcuts” app for quick entry. Read this article.
Data-Transfer
With the “Reminders” app – apart from the iCloud for syncing – no remote API is involved; the data is stored locally for the time being. This means that there are no online services that can convert data between apps (except for a few shady ones that want your iCloud access data).
You won’t find an import function in the app either.
I then came up with the idea of using Apple’s “Automator” app, and you could actually create reminders in the app from there, but only in a very rudimentary way. So I tried the somewhat newer “Shortcuts” app, which can also create reminders and offers significantly more options.
After my first attempt ended in an endlessly long shortcut script, which directly disassembled the CSV from Todoist and tried to create reminders from it – which didn’t support nesting and was super confusing – I started a second attempt. In this one, I first convert the CSV files from Todoist into JSON files using a Deno script. These can then be read into “shortcuts” as a so-called dictionary and the individual properties can be accessed, which makes the whole thing much clearer.
What works, what not?
Due to the different features of the two apps (Todoist and “Reminders”) and the somewhat limited “Create reminder” step in the “Shortcuts” app, not all data can be converted 1:1. Here is an overview:
- ✅ Task title
- ✅ Task description
- ✅ Due date
- ✅ Priority
- ✅ Subtasks
(only one level) - ⛔️ Comments / conversation
(Feature is not supported in “Reminders”) – This data is not transferred! - ⛔️ Attachments
(not included in Todoist export) – Attachments are not transferred! - 🔧 Recurring events
(Not supported in the “Shortcuts” import step) – Manual rework necessary but no data loss - 🔧 Deeply nested tasks
(“Reminders” only supports nesting on one level, therefore deeply nested tasks are imported on the first level) - ⛔️ Duration
(not supported by “Reminders”) – This data is not transferred! - 🔧 Sections
(Not supported in the “Shortcuts” import step) – Manual rework necessary, but no data loss - ⛔️ Responsible person
(not supported by “Reminders”) – This data is not transferred!
Tasks that were in a Todoist section that should be repeated or were nested deeper than one level are given a tag starting with “export_” when they are imported into “Reminders”. These reminders must be edited manually (e.g. moved to a section or the repetition must be configured). Further details can be found in the reminder notes.
Step by step guide
- Download your Todoist backups (Settings -> Backups, only with Pro or Team subscription!) and unzip the ZIP archive
- Download my Deno script from Github to convert the Todoist CSV backups to JSON
- Follow the instructions in the README for the script (install Deno, run script…)
- Download my “Shortcuts” script and add it to your “Shortcuts” app
- The lists are imported one by one; after you have run the script, open the JSON file of a list you want to add to “Reminders” and copy the content to the clipboard (use a standard text editor to open the JSON)
- Alternatively, you can also execute the following command in the terminal on the Mac to copy the contents of a file directly to the clipboard:
cat [PATH_TO_FILE].json | pbcopy
- Alternatively, you can also execute the following command in the terminal on the Mac to copy the contents of a file directly to the clipboard:
- With the JSON in the clipboard, run the shortcut script in the “Shortcuts” app (Play button in the menu bar)
- You will be asked for the name of the list that will be created and filled with the tasks
A new list is always created - If you want to add tasks to an existing list, simply enter a temporary name for a new list and then move the tasks to the desired list in the “Reminders” app and delete the new one
- You will be asked for the name of the list that will be created and filled with the tasks
- Repeat this procedure for all lists you want to copy from Todoist to Reminders
Conclusion
Transferring the data this way has worked well for me; and I have been collecting data in Todoist for years. The manual work is annoying but not too time-consuming.
I have already gotten used to the “Reminders” app. The features that I miss can perhaps be replaced with other features over time or can be recreated with the “Shortcuts” app.
However, I’m not turning my back on Todoist quite yet, but I will use the free package for the time being.
Links
- Github Repository containing the script to convert Todoist Backups to JSON files: https://github.com/JanST123/todoist2json
- Shortcut script to import data fro the JSON files to the “Reminders” app: https://www.icloud.com/shortcuts/f93bcd159e1a44fb8a93cf727c43edde
- Todoist: https://todoist.com
- iCloud Webapp: https://icloud.com
- iCloud Page to export iCloud data: https://privacy.apple.com/account
- Deno (like NodeJS but based on Typescript and with more comfort): https://deno.land
Translated from german with DeepL.com (free version)
0 thoughts on “Import Todos in Apple “Reminders” App”