Skip to content

Dooit vs Todo.txt

We give Dooit a 3.0 GPA and Todo.txt a 3.2, out of 4.0. Todo.txt grades higher on platforms. They get the same grade on value for money, the free plan, features and ease of use.

Price, platforms and features side by side. The table says where each price was read and when.

Dooit

Terminal to-do manager configured with a Python file

Free

Todo.txt

Plain-text to-do list format with an open-source command-line tool

Free

How we grade them

3.0GPADooitVery good3.2GPATodo.txtVery good
Value for money
AFree and open source under the MIT licence, with no paid version. The optional Dooit Extras package is free too. You install it with pip, Conda, yay on Arch or Nix.
AThe todo.sh script and the format are free and open source under the GNU General Public License v3.0. There's no paid version of either. Your whole outlay is a text file.
Free plan and trial
AThe whole thing is free, with nothing held back and no account to make. There's no paid tier to compare it to.
AAll of it is free: the full command-line script and the open format. With no paid version, nothing is fenced off. And since the list is a plain file, you can walk away with it any time.
Features
BNested workspaces, sub-todos, due dates typed like "1 jan 2025", four urgency levels and repeats such as 1d or 1w. Good basics, and you can query your todos from Python. But the docs have no section on sync.
BOne task per line, with (A) for priority, +Project and @context. The script adds, completes, sorts and archives to done.txt, and takes custom actions and add-ons. Small, and it does that fully. But the core format has no due dates of its own: they rely on key:value conventions set by each tool.
Ease of use
CNo rating is on record, and it asks a fair bit. It runs from a command line, and changing keys, layout or themes means writing a Python config file. Pressing ? does list every key that's bound, which helps.
CThe official tool is a shell script, so you add and finish tasks by typing commands like add and do. The README gives install steps only for macOS and Linux. You can also just edit the file in any text editor, which is easy, but then you're doing it all by hand.
Platforms and integrations
CIt runs in a terminal and nowhere else. No graphical, web or mobile app, and no integrations listed. The docs give install methods, not supported systems. The changelog has Windows fixes but never mentions macOS.
BThe script runs on Mac and Linux, and on Windows under Cygwin, and there are editor plugins for Vim, Visual Studio Code and Sublime Text. The project's own Android and iOS apps were archived in December 2020, so phone and web apps come from the community.
Best forVim users who want to-dos in the terminala to-do list that's just a text file

The GPA is the average of the five grades: an A is 4 points, an F is none. The full reasons are on each tool's page: Dooit and Todo.txt. How we grade

Where they differ

  • Dooit is free. Todo.txt is free.
  • Only Todo.txt lists a macOS app.
In commonFree planLinuxWindowsOpen sourceKeyboard-firstTasks

At a glance

DooitTodo.txt
PricingFreeFree
Starts atFreeFree
Free planFree and open source under the MIT license, with no paid version. It is installed from PyPI, Conda, Arch Linux packages or a Nix flake.The todo.sh script and the todo.txt format are free and open source under the GNU General Public License v3.0, with no paid version.
Free trialNone listedNone listed
macOS
Windows
Linux
Made bykraanzu (dooit-org)Gina Trapani and the Todo.txt community
Price read fromgithub.comgithub.com
CheckedOct 9, 2026Oct 5, 2026

Who each one suits

Dooit

  • People who manage their tasks from a terminal
  • Vim users who want familiar keybindings
  • Tinkerers who like configuring tools in Python

Todo.txt

  • People who want their task list in a file they fully control
  • Command-line users who add and complete tasks from a shell
  • Using several apps and editors against one shared text file

Worth knowing

Dooit

  • It runs in a terminal only; there is no graphical, web or mobile app.
  • Customizing it means writing a Python config file.
  • The documentation has no section on syncing tasks between devices.
  • The docs list install methods (PyPI, Arch Linux, NixOS, Conda) rather than supported operating systems; the changelog includes fixes for Windows but does not mention macOS.

Todo.txt

  • The official tool is a command-line script. The project's own Android and iOS apps were archived on GitHub in December 2020.
  • The core format covers priority, dates, projects and contexts only. Due dates and other fields rely on key:value conventions set by each tool.
  • No sync is built in; the README suggests placing the todo.txt directory on a cloud drive.
  • On Windows the script is listed as tested under Cygwin, and the README gives install steps only for macOS and Linux.

Key features

Dooit

Terminal interface with Vim-like keys
The app runs as a text interface in the terminal and uses Vim-like keybindings. Pressing ? opens a help menu listing every key currently bound.
Workspaces and nested todos
Todos are grouped into workspaces by topic. Workspaces can contain child workspaces, and a todo can hold sub-todos.
Due dates, urgency and status
A todo has a due date that accepts forms such as "1 jan 2025", one of four urgency levels, and a status of completed, pending or overdue. Words starting with @ act as tags.
Recurrence and effort
Recurrence is entered as an interval such as 1d or 1w, in minutes, hours, days or weeks. Effort is a plain number that can stand for points, time or a streak.
Python configuration
A Python config file sets keybindings, layout, the status bar, the dashboard, column formatters and themes, and custom CSS is supported.
Plugins and a Python backend
The separate Dooit Extras package adds utilities for customizing a setup, and the Workspace and Todo tables can be queried or changed from Python through SQLAlchemy.

Todo.txt

One task per line of plain text
A todo.txt file holds a single task on each line, so it can be read, searched, sorted and edited in any text editor on any operating system.
Priorities, projects and contexts
A leading (A) to (Z) sets priority, and +Project and @context markers can sit anywhere in the line. Tools may add key:value pairs such as due:2010-01-02.
todo.sh command-line script
Actions such as add, do, pri, append and replace change the file from a shell, and list shows the tasks matching your terms sorted by priority.
Archiving and reports
The archive action moves completed tasks from todo.txt to done.txt, and report records the number of open and done tasks in report.txt.
Add-ons and custom actions
The script loads custom actions from an actions directory, and the project wiki keeps a directory of add-ons and filters written by community members.
Community apps and editor plugins
The project site lists community-built apps for Windows, macOS, Linux, Android and the web, plus editor plugins, that all read the same file.

Plans

Dooit

  • Free$0

    The complete terminal app and the optional Dooit Extras package, installed with pip, Conda, yay on Arch Linux or Nix.

Todo.txt

  • Free$0

    The full todo.sh command-line script and the open todo.txt format, under the GNU General Public License v3.0.

More comparisons