Topydo is a command-line based program for Todo.TXT

Jan 24, 2021
Software, Windows software

A good way to get things done, is to set reminders for tasks. I'm a fan of Todo.TXT, it is an efficient, offline note-taking system which works with plain text editors like Notepad. And since it is cross-platform compatible, I can use an Android app like Markor on the go, which I've been using for a couple of years.

Topydo add a task
If you're new to Todo.Txt, check out my tutorial to learn how to use it. Topydo is a command-line tool that lets you manage your Todo.TXT. To install it open a Command Prompt window and type,

pip install topydo

If you want to use columns use the following command.

pip install topydo[columns]

Unfortunately, the Windows version of topydo does not support columns. So, we'll be sticking with what we have. Start the program by typing topydo (in CMD). Nothing happens, that's because the to-do list is empty.

Let's add a task with the following command:

topydo add TASK.

Replace TASK with whatever you want. e.g. topydo Buy bread

And just like that, we have created our first task. That was easy wasn't it. Try starting the tool by typing topydo or use topydo ls. Now the tool will show you the tasks that you've added. Each task is assigned a number, along with the date when the task was created.

To delete a task use,

topydo del TASKNUMBER.

E.g. topydo del 2.  This will delete the 2nd task from the list.

Let's create a priority task. topydo add (A) Get cash from ATM.  This set's the task priority to A, which if you didn't know, is the highest in Todo.Txt. You can change the priority by using the pri command, followed by the task number and the priority you want to assign to it.

E.g. topydo pri 2 B.

Topydo priority task

Topydo has some special tags such as due, start date which you can assign to your tasks. You can use these to set appointments, due dates for bills, rent, etc. For instance, topydo add bill due:9d will create a new task with a due date tag that is set to expire in 9 days. The tool uses the current date/time to calculate when the due date is.

Topydo add tag

Mark as a tag as completed by using do followed by the task number, like so. topydo do 1

Topydo mark as completed

Now for the most important part, saving the contents to a Todo.Txt file. This can be very handy if you want to use it with a mobile app like Markor. The lscon command is useful to export your list. It is worth noting that the first letter is an L, not an I. This command saves the content to a Todo.TXT file that will be placed in your USER folder. Similarly, completed tasks are saved in the done.txt document.

topydo todo.txt

Oddly, topydo cannot edit documents directly and relies on external text editors. You may as well export the list and open it with Notepad to make a quick change. There are a lot more options available in Topydo. To view a list of supported commands, type topydo help in the command window, or check the official wiki.

Topydo is an open source application, it is written in Python. The program has a learning curve which can deter beginners away. So, why should you use this instead on TodoTxt.Net or Notepad? Because most of the commands provide a quick way to add/mark items such as due date, do, etc, which you may have to otherwise type manually.

software image
Author Rating
3 based on 1 votes
Software Name
Operating System
Windows, Linux, Mac
Software Category
Landing Page

Tutorials & Tips

Previous Post: «
Next Post: «


  1. Tardis said on February 1, 2021 at 8:12 am

    There are folks who do everything on the terminal. Even web browsing via Lynx. No surprises here.

  2. Anonymous said on January 25, 2021 at 12:39 pm

    Command-line todo list?

    1. Gerard said on January 26, 2021 at 11:49 am

      For MS-DOS users perhaps? :-)

  3. Anonymous said on January 24, 2021 at 2:32 pm

    I am not a fan of CLI apps, so I won’t be installing.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.