Using Plain Text Files as To Do Lists

Productivity junkies will know the very unproductive habit of forever passing tasks from one app into another. If you think about it, this should be no surprise. App makers (like drug companies) operate under a for-profit model. Their primary goal is to attract purchasers, rather than make simple, readily reproducible, long term solutions. (If you wanted an app that was based on the latest research into the psychology of productivity, that might be Lift. And if you wanted maximum flexibility, it might be pen and paper).

Using Plain Text files for personal productivity is a third option, and it has a small but highly motivated fan base. Without a paid publicity department you may not hear that much about it, but there are many reasons why you should try it out. Not only does it counter app fatigue, text files are amongst the smallest, most basic computer files. They can be read by just about any text program, and they are both fast and flexible. If you have your To-Dos in a Plain Text format, you will be able to tinker with your system to your heart’s content. Notifications, sorting, syncing – there are tutorials online to get just about any functionality you may need, and you won’t always have to start again with a new program, if one aspect isn’t quite right.

There are as many ways to use text files for productivity purposes as you can think of. You can simply put all your tasks in one text file ‘ToDo.txt’, or across several files – each dealing with a different project or purpose. Some go as far as giving each task its own unique text file, making the operating system their true organizing ‘app’ that controls everything.

We will summarize most of the basic tricks, tips and hacks of using Plain Text as a To-Do system here. This is an ongoing interest, so the resources will increase (with your help!) over time. The programs I mention are necessarily Mac-based (as that it what I use) but if you have PC or Linux versions, please let us know, via the comments.

This system uses

  • A plain text editor – if you are on a mac the most common is TextEdit, which comes free with your computer.
  • Any of a large range of desktop and smartphone apps mentioned in this article, that may suit your unique needs.


At its most basic, using a Plain Text editor as a to do list can be as simple as opening up a program and writing a list of tasks, one after another. Many people start and continue to use it just in this way. What we are interested in here is extending the very basic idea to take advantage of all the aspects you may find in more fancy, purchased desktop and smartphone apps.

Keeping on top of Long Lists

If you are a GTD follower, you will know that getting into the habit of continually reading through your lists – to see what should be best done now, and from this location – is a big deal. A closed list is a dead list.

It is also helpful if your system already has its tasks collated into contexts, deadlines or projects, rather than all piled together. We want to reduce the ‘friction’ of starting a task as much as possible, and we want to be efficient when we work.

Leaf Raker is one of the go-to blogs about Mac OS productivity, and its author recently published his own To Do file. It is a perfect example of a well segmented to do list along classic GTD lines. It uses a coding program, so it looks a little clunky to the untrained eye, but it contains a bucketload of tricks.

The key smarts in this system lie in its subcategories: some of them are sections called TODAY, a CALENDAR (“It doesn’t really matter how far in the future your calendar goes, as long as it’s far enough for what you need”), FOLLOW UP (things you are waiting on others first for), and SOMETIME/MAYBE.

A Calendar based approach is a good one – adding items here is much faster than setting specific ‘due dates’ from scrolling calendar dates in an iPhone app. You can slot tasks into a basic order simply by selecting a month, or week.

“I added an indicator for the start of each “Week” to my calendar. This is mostly to have an easier frame of reference when I’m inserting a new task. For example: Adding something for this week’s friday is quick and easy, without having to look at an external calendar to find out which date we have on Friday.”

You could further simplify this approach by writing a (1), (2) and (3) for weeks – or “Jan” “10 Jan” “20 Jan” – if you would like faster cues towards big blocks of time.

The author’s own routine working with this file is also instructive:

  • The first thing in the morning he moves all his tasks for today from the CALENDAR to TODAY. Now the first day of the calendar should be tomorrow.
  • If he finishes a one-time task he just deletes it from the file.
  • If he finishes a recurring task (like paying the mortgage) he cuts-and-pastes the task to when it occurs next in the calendar.
  • If he has to wait for somebody else to do something he cuts-and-pastes the task to the FOLLOW UP section

You needn’t scroll down a long way to do these, either, they can be automatically opened and collapsed. We will look at his method of collapsing long lists later on.

A commenter called Laddiebuck offers a different organisation idea (which similarly can be quickly collapsed down from 5000 to just ten or so lines):

Personal Motto, line 1
Personal Motto, line 2

+- Daily (15 lines)
+- Now (604 lines)
+- Review (36 lines)
+- Tasks (306 lines)

+- Projects (3204 lines)
+- In (376 lines)
+- Goals (51 lines)

+- Optional (364 lines)
+- Done (1155 lines)
+- Scratch (0 lines)
+- Formatting (5 lines)

He gives this description of its use:

“Now” is just my calendar. It’s much the same as yours, but I don’t have a Today list, I just move the old day to “Done” at the end of each day, transferring any tasks that weren’t done. The idea is to do no task management at all, just have a weekly review be a task, when I also create a calendar entry for next Sunday’s weekly review. Then I just chug along and if the calendar tells me to do something, I do it. I don’t really do “task management”, I just give orders to my future self.

Adding Items Without Even Opening Your Text Editor

Using the free app Quicksilver, you don’t even need to open (or click) on TextEdit to add a new To-Do. “Prepend to…” from the Text Manipulation Actions plug-in lets you add a new line to a file with just a few keystrokes. It works whilst any window or program is open.

Nesting and Collapsing Long lists

Most people’s lists run into the dozens, if not many hundreds of items. If you are using a technique such as GTD, you will need several lists – those due today, later in a calendar or context, and others ‘someday maybe’. Scrolling down hundreds of items to reach later lists can generate a serious amount of system resistance. This article explains how you can use a program called BBedit and ‘code folding’ to collapse any areas of a long list.

If you don’t like BBedit, others recommend Vim (consider donating to their excellent charity program if you do). My choice, however, is FoldingText, with its much cleaner interface. Other programs include TaskPaper (not folding as such, but it makes it easy to jump to various ‘chapters’).

Setting Up Notifications

The simplicity of Plain Text does not mean that you have to give up some of the fancier bells and whistles of dedicated productivity apps, such as badges, and notifications.

This article explains how you can use the free app TaskBadges for Mac to go through your file automatically, and it lets you know from your desktop or dock icon how many tasks remain to be done.

Adding Checkboxes and Even Counting Down Timers Within Your File

As we have said, FoldingText is a really great way to sort out long Text Files, but it has other great functions as well. Two are the ability to make clickable checkboxes, and also real, working timers within your document. The latter is something I wish I had in my much fancier Clear App, for instance.

  • A simple key combination makes a checkboxed list, each producing a small cross, and a strikethrough, when clicked.
  • A separate key combination lets you set up a small alarm – that counts down the time before an entry is due.

More ‘modes’ are in production, and I can’t wait for these to appear here. Perhaps we will then see them in other basic text programs, like Simplenote.

Syncing to Smartphones…. and other Notational Velocity Type Wonders

Many of you on apple products will know about Notational Velocity and  Simplenote. These apps (there are also PC and Linux equivalents) allow the instant syncing of your Plain Text files across a wide range of devices. Edit a copy on your smartphone, iPad, laptop, or desktop, and you will have an updated version appear across all your other devices.

Needless to say, this has obvious productivity advantages over a single text file sitting on your home or work computer. You may feel for this reason alone you may wish to use text files within a Simplenote system, rather than basic PlainText.

The list below is only scratching the surface of what auto-syncing programs like Simplenote can do. Some of their functions include:

  • Quickly write a bulleted list in Notational Velocity. Details are here (basically, it’s Space + OPT+8 + Space + Text + Return to enter list mode)
  • If you want to quickly strikethrough an entry, simply type @done at the end of a list
  • If you want to create new text files via email, upgrade to Simplenote Premium, and you will be given a unique email address (costs $20 a year).  All emails sent to this address do just that. The advantages of this feature is that every email you wish to turn into a task can just be forwarded, and it’s done. Using Gmail forwarders, every email from a certain person or containing a certain phrase can become a task automatically.

The ‘Caleb McDaniel’, Notational Velocity, File-Per-Task System

For want of a better title! But this article should be mentioned in any roundup of using plain text as a To-Do.

It is a very long article, but this is about using an operating system as your To-Do list. The essence Caleb’s approach includes

  • every task gets its own dedicated plain text file.
  • Its filename is the name of the action needed to take.
  • Within the note, any associated information about the task is included: notes, hashtags, contexts, links, email address links, due dates, etc. Even links to files on your computer can be quickly created, by dragging an icon into a note.
  • “Tasks” don’t get mixed up with ordinary “notes” by adding qq at the beginning of the title.
  • (This uses the ‘q trick’, that similarly deserves a mention here. QQ is easy to add, being the first letter on your keyboard (even easier from a smartphone keyboard). Few words have q in them, and none have two in a row. If you keep adding (or typing) q’s into a search bar – q, qqq, or qqqqq – you have a simple system of working up through your 15, 5, then 1 most important files).
  • contexts are easily added within titles: @work, @studio, @home, @shops, @phone, etc
  • in a weekly review of all tasks (qq), simply add @tw to the title to make it due ‘this week’
  • in your daily review, simply change @tw to @td (due today)
  • a ‘project view’ can be achieved by adding the name of the project somewhere in the text – eg. [ebook]
  • you can actually write (or keep track of) your project within its own To-Do note, seeing that a SimpleNote file can contain any amount of text (compare this fact alone to a simple iPhone productivity app!).
  • To delete a task, simply delete it of course. Or, if you want a recurring task, simply remove the @tw or @to tags, leaving it as a simple qq task.
  • By right-clicking on a note title in Notational Velocity, you can select another application in which to edit the same file. This is useful if files for publication need to be formatted. When saved, the same saved text file is also saved in Notational Velocity.
  • Simplenote Premium (mentioned above) also lets forwarded emails become tasks easily – an ‘essential component’, as some people have said.

This is a great system, that really starts to capitalize on some of the flexibility on offer using Text Files as To-Dos.

As this is already a long article, I will stop it here for now, but I hope it shows that we are only beginning to scratch the surface of what is possible with Plain Text files as a To-Do system.


  • The ultimate in flexibility. Want to sync to your phone? Set up automatic reminders? Change the font? Sort items automatically? Use a PC, Mac and Android phone? Whatever you want to do with your list can probably be done, with some app or coding. No other To-Do program matches it (it may even beat pen and paper).
  • Most programs that manipulate Plain Text files are very cheap or free, meaning you are not losing $1-$99 each time you change your app.
  • Don’t worry about updates to your operating systems. Every operating system runs .txt files, and will for decades.
  • As Plain Text files are so widely used, the skills you will use in trying this system out will help you out in using computers for many years to come.
  • Freeing yourself from an app-maker’s idea of productivity lets you focus much more on what works for you.


  • The only thing to be careful of is changing between the one or few lists approach, and each task in its own lists. There may be an automatic way of doing it I am not aware of, but transferring between these two models could be as painful as transferring between any other two, unrelated apps.
  • You may miss out on some of the slickness of To-Do apps like Clear, Epic Win, et cetera.


Some people print out their Plain Text list, if they prefer the real-world quality of ink on paper. If so updating and printing a new one out at the start of each week is a useful routine.

There is endless scope here if you have programming skills or are a developer. For instance, I would love to see ‘skins’ that can be applied over simple text To-Do lists.

Our Rating

This is the go-to method for true productivity pros.

Your Thoughts

Have you tried this system? What are your experiences working with it? Any pros, cons, variations, or tips?

Leave a Reply