Skip to content

Dooit vs topydo

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

topydo

Console todo.txt manager with dependencies and recurring tasks

Free

Where they differ

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

At a glance

Dooittopydo
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 whole program is free and open source under the GNU General Public License v3, with no paid edition. It is installed from PyPI with pip.
Free trialNone listedNone listed
macOS
Windows
Linux
Made bykraanzu (dooit-org)Bram Schoenmakers
Price read fromgithub.comgithub.com
CheckedOct 9, 2026Oct 9, 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

topydo

  • People who keep tasks in a todo.txt file and work in a terminal
  • todo.txt users who want dependencies and recurring items
  • Keyboard users who want several filtered lists side by side

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.

topydo

  • Console only: there is no graphical, web or mobile app. The docs say there is no native Android build and describe running it under Termux.
  • Column mode does not work natively on Windows; the docs point Windows users to Cygwin for it.
  • Dependencies, recurrence and start dates rely on tags that, the README says, other todo.txt tools may not interpret properly.
  • The documentation describes no sync feature, and releases are infrequent: PyPI shows 0.14 in December 2020, 0.15 in April 2025 and 0.16 in February 2026.

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.

topydo

Command line, prompt and column modes
Runs as one-off shell commands, as a prompt with Tab auto-completion, or as a text interface of side-by-side columns with vim-like keys, where each column has its own filter and sort order.
Due dates, start dates and relative dates
Due and start dates are stored as tags on the todo.txt line. When adding items you can type relative dates such as tomorrow, 1w or fri, which are written to the file as absolute dates.
Dependencies between items
The dep subcommand links a parent item to child items that should be done first. A parent with open children is hidden from the default list, and a Graphviz Dot export can draw the dependency tree.
Recurring items
A rec tag such as rec:1w creates a new instance of an item when it is completed, counted from the completion date or, in strict mode, from the original due date.
Filtering, sorting and output formats
Filter expressions select items by text and by tag comparisons such as due:<today, and sort and group expressions order the result. The ls command can also output iCalendar, JSON and Graphviz Dot.
Backups and revert
After each change topydo stores a backup of the todo and archive files, 5 by default, and the revert subcommand undoes the last command or a numbered earlier one.

Plans

Dooit

  • Free$0

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

topydo

  • Free$0

    The full program with its command-line, prompt and column interfaces. Prompt mode, column mode and iCalendar output each need an extra pip dependency.

More comparisons