|||

Using todo.txt in Obsidian (Or Wherever You Like), Part 1

PTPL 140 · Distraction-busting simplicity

Time for a fresh start

In the spirit of a fresh start for the new year,[^1] I’ve transitioned my to do list from Taskpaper format to todo.txt. Each approach has its advantages and disadvantages so as I always say, you just need to pick a set of faults you can live with.

The biggest difference between Taskpaper and todo.txt isn’t in the format (they’re very similar), but in how I’m setting up the file. Previously I tried to move tasks under project headings, or at least group them into broad areas. It might look nice, and yes, you can navigate even a large file with the help of Markdown headers, but I wasn’t motivated to keep up with the housekeeping side of things. Pretty soon my inbox was huge and growing.

Granted, this was due to how I was using the Taskpaper format, not due to the format itself.

Now my file is ordered solely by the order in which tasks were added. Seems like a small thing, but it feels like a weight off my shoulders! This type of simplicity is definitely a distraction buster.

As you read about how I’ve made todo.txt work in Obsidian, keep in mind that I’m well aware there are far more complex ways than these to surface targeted information in a file. This is a rabbit hole I’m actively choosing to avoid because of my propensity for falling in and forgetting to actually do the work!

todo.txt basics

To work with a todo.txt file in Obsidian you’ll need to change the file type to Markdown. todo.md and todo.txt.md are equally valid options.

Here’s a quick primer of the todo.txt format (source):

Incomplete tasks:

  • If priority exists, it ALWAYS appears first
  • A task’s creation date may optionally appear directly after priority and a space
  • Contexts and Projects may appear anywhere in the line after priority/prepended date

Complete tasks:

  • A completed task starts with an lowercase x character
  • The date of completion appears directly after the x, separated by a space

E.g.

  1. 2024-10-10 Find out how to list all homebrew-installed apps @learn
  2. 2025-01-18 Edit and schedule article
  3. 2024-10-14 +work Resolve 9000M downloadable calendars
  4. +home Mending x 2025-01-18 2025-01-03 +work Combine plain text accounting files (this task is complete)

I add the date to the front of tasks as they’re entered not because I’ve actively started a task, but so I can see how long it’s been sitting there.

Sorting through the mess

Obsidian has a couple of todo.txt plugins to choose from but I prefer to rely on queries to show useful subsets of tasks.[^2] Here are some that I use to show—

All incomplete tasks in the +HOME area with priority (B): file:"2025-todo.txt" line:("(B)" +home -x)

All (C) priority incomplete tasks in each of my four areas: file:"2025-todo.txt" line:(+church "(C)" -x OR +work "(C)" -x OR +home "(C)" -x OR +emw "(C)" -x)

All (A) priority incomplete tasks in either my task file or current OBTF: file:"2025-todo.txt" line:("(A)" -x) OR file:"2025 OBTF" line:("(A)" -x)

These strings can be entered into the search box, saved as Bookmarks, or embedded into other pages in the form of a query.

E.g.

file:"2025-todo.txt" line:("(B)" +home -x)

Note that queries in Obsidian aren’t case sensitive (sometimes I wish they were!). You can see that not all tasks have a project or a date and they don’t need to have a priority. Rather than using priorities to represent importance of a task, I use them for when I intend to do the work.

The letters A–E in my system therefore represent Today, This Week, This Month, This Quarter, and Long Term. Here’s how I remember them:

    1. = Action (Today)
    1. = Begin (This Week)
    1. = Checkpoint (This Month)
    1. = Drive (This Quarter)
    1. = Eventually (Long Term)

Projects each have their own page, so I only use projects in todo.txt to represent broad areas like +home and +work.

What about sub tasks?

As soon as a task needs to have another task completed before it can be started, I either add them both to a dedicated project page, or piggy back the tasks together by removing the line breaks between them. As the front task is completed, it’s separated from the rest by a line break.

E.g.

A task with a dependency:
(A) Open account at XYZ (B) Transfer $50 into XYZ account

First task done, second task ready 2 seconds later:
_x (A) Open account at XYZ 

  1. Transfer $50 into XYZ account_

What’s next?

Keeping a todo.txt formatted task file in Obsidian has several advantages:

  • Wiki links to project pages elsewhere in your vault
  • Easily accessible wherever you use Obsidian (e.g. mobile devices)
  • Same sync and version control as your vault, no need to set up anything else
  • An editor you’re already familiar with

Queries in Obsidian work well for the todo.txt format, but sadly there’s no custom sorting. Results display in the order in which they appear in the list of tasks.

Next week I’ll cover ways of interacting with a todo.txt file outside of Obsidian. Custom sorting and other useful features await!


[^1] Fresh starts can take place as often as you like, as long as they don’t distract from whatever the start’ is supposed to be leading you towards. I don’t do New Year’s resolutions, but I do like a fresh way of looking at my files every now and then.

[^2] I’m not a coding or query expert by any stretch of the imagination, but I’ve found some that seem to work okay. Let me know if you have a better way of doing it!


💬 I love to hear from readers! Talk to me via email, on Mastodon or Bluesky

If you get value from my work I invite you to share this post with someone you think will like it, or contribute to my support jar. Every gift helps to keep me an independent creator and is greatly appreciated. You may also like to check out the pay-what-you-want resources on my productivity themed Gumroad store.

Follow my RSS feed, or sign up to receive posts in your inbox  

 

Up next 2 Proprietary Apps Designed to Set Your Data Free Using todo.txt in Obsidian (Or Wherever You Like), Part 2
Latest posts Calendar Headers for 2025 OBTF - Sunday Start Calendar Headers for 2025 OBTF - Monday Start Using todo.txt in Obsidian (Or Wherever You Like), Part 2 Using todo.txt in Obsidian (Or Wherever You Like), Part 1 2 Proprietary Apps Designed to Set Your Data Free Daily Notes Don’t Need to Live in Separate Files There’s only One Right Way to Type the Date Why Do New Year’s Resolutions? Every Day is Already a Fresh Start This is Why To Do Apps Fail and What I’m Using Instead Paper, or Paperless? Yes Please Kindness, Hope, and a Christmas Carol from Me to You Eventually Consistent: a PKM Allegory on Taking Imperfect Action Now PTPL 132 · Happy To Do Lists · Better Queries in Obsidian · Trip Template · Avoiding App Lock-in Classifying Notes in an OBTF, Inspired By the Dash-Plus System 2025 Markdown Calendars If You’re Keeping Tasks in Your Calendar, I Hope You Know What You’re Doing No and Low-Clutter Gifts for Apple, PKM, and Analog Enthusiasts PTPL 129 · Live Out of Your Notes the Way Tom Lives Out of His Car Inktober 2024 PTPL 128 · Keep Your Content Separate From the Container in Which It Lives PTPL 127 · On Backing Up Paper, and Static Websites for Tiny Archives Efficient App Agnostic Tasks in a Single Plain Text File (Obsidian Optional) PTPL 126 · What the Dash-Plus System Looks Like in My OBTF and Analog Notes Word Puzzles (that aren’t Wordle) PTPL 125 · Choosing Between Digital and Analog, and a Plain Text Accounting Update How to Keep Your Wheels Turning Smoothly Despite the Automation Paradox PTPL 124 · Saving Safari tabs as Markdown links, and Mono Fonts in Obsidian Looking Through Windows (From the Outside In) PTPL 123 · ‘Analog Office’ Blog and Tomoe River Planner Recommendations Mastodon and the Fediverse — Social Media’s Brighter Future Celebrating Independent Indie Blogs
... ... ... ...