Ronalds Vilciņš

A plain text task list with Todo.txt

Most task managers eventually become another system to manage. Todo.txt takes the opposite approach: the entire list is an ordinary text file.

You can open it in any editor, keep it in a synced folder, process it with command-line tools, or use one of the apps built around the format. If the app disappears, the list remains readable. I like that property more than any animated checkbox.

The format stays out of the way

Each line is one task. The Todo.txt format adds structure through a few conventions:

For example:

(A) 2024-03-15 Finish article +blog @computer
(B) Call the dentist @phone
x 2024-03-14 Send invoice +admin

These are still normal lines of text. Search for +blog to see a project or @phone to find tasks you can do while holding a phone. No database migration required.

Where it works well

Todo.txt is a good fit if you want portability, fast keyboard input, and a format you can automate. Git can even keep a history, although I would be careful about committing private tasks to a public repository.

It is less convincing if you need shared boards, rich reminders, attachments, or complex recurring tasks. You can bolt those features on, but eventually you have recreated a task manager in shell scripts. That may be fun. It may not be productive.

I would start with a todo.txt file and the basic conventions, then add an app only when a real need appears. The main benefit is not the syntax. It is knowing that the tasks belong to you, not to whichever app currently displays them.

Enjoyed reading this?

If you found this article helpful, consider supporting my writing. Every little bit helps keep this blog going.

← Back to all articles