[![](https://p24.f4.n0.cdn.getcloudapp.com/items/jkuK7x4R/TD-lockup-standard-64.png?v=1177403d33870d89aa26111aca3d99ea)](https://doist.grsm.io/leightonprice1199) # Todoist Due Dates & Times: Natural Language Syntax ## A user-compiled, comprehensive glossary of the bits Todoist missed out **Last updated:** 31 May 2021 ## Overview I've found that Todoist's own [website and help articles](https://get.todoist.help/hc/en-us/articles/205325931) are far from exhaustive in detailing all the natural language terms that can be used for setting task due dates and times. As natural language entry is the only means by which more complex task schedules can be set (there is no UI), I've made a point of documenting the extra inputs I've discovered since first becoming a Todoist user in Nov 2014. You'll find these listed in the **Glossary** below, along with some of the more widely known ones. Note, these work on all Todoist tiers; **Free**, **Pro** & **Business**. If you copy and paste the code block below into a new task in your Todoist Inbox, the [uncompletable task](https://todoist.com/help/articles/how-to-create-an-uncompletable-task) will act as a handy [Markdown link](https://todoist.com/help/articles/text-formatting) to this page which is then available from all your devices for quick reference. `* __[Reference Sheet - Todoist Dates](https://www.leightonprice.com/todoist/dates.html)__` It will then look like this in Todoist.... ![Todoist Inbox](https://user.fm/files/v2-3b78ad8b4bf37c9da24c3773bf1185d6/Todoist_Inbox.png) In addition to the Glossary, there are various scenarios which Todoist's natural language syntax is unable to accommodate. However, I've created some solutions for these with my spreadsheet skills as covered in the **[Google Sheets: Todoist Due Date Solutions](#sheets)** section. As a [Todoist-acknowledged Ambassador](https://blog.doist.com/todoist-ambassadors-tips/), I maintain & share this page purely to aid the wider Todoist community. If you are inclined to lift specifics from it for your own internet empire building exercise, a courteous acknowledgement of this page is all that is required, but clicking on the yellow button would naturally be appreciated too:-) And finally, my expanded take on [Todoist Filters](https://www.leightonprice.com/todoist/filters.html#) is also well worth checking out if you haven't done so already. Cheers. Buy Me A Coffee *** ## Glossary ## Single-occurring due dates & times ***Input*** *Definition (Todoist understands)* **no date** Sounds weird, but handy when quick-adding a task when either the [Today View](https://todoist.com/help/articles/how-to-plan-your-day) or [Upcoming View](https://todoist.com/help/articles/plan-ahead-with-upcoming-view) is active (both default to "today"), but you don't want to set a due date (**no due date** also works) **now** Today ***Note*** - There is no native way by which to enter the current date / time (i.e. 'now') in natural language. However, this can be achieved by using a snippet in a [Text Expansion app](https://textexpander.com) configured such as ***tod %H:%M*** **today** Today (**tod** also works) **tomorrow** Tomorrow (**tom** also works) **yesterday** Including to flag that you can also set dates in the past. You can use terms such as **3 weeks ago** or **2 days ago** etc., in addition to just inputing an actual date **later this week** Assigns a day later in the week. Changes dependent upon what day of the week it is upon time of entry **friday** The next Friday to occur **next friday** The second Friday to occur (this is a little confusing!) **next weekend** The second-next Saturday to occur (again, confusing) **this weekend** The upcoming Saturday **next month** 1st day of the next month **next year** Jan 1 of next year **someday** in 62 days (yes, this really does work!) **jan 27** Jan 27 (**27 jan** also works) **27/1** Jan 27 **jan twenty seventh** Jan 27 **27th** 27th day of the current month **3rd friday jan** Converts to the respective date of the third Friday in next January **mid january (jan)** January 15th **end of month** Last day of the current month **today at 10** Today at 10am **6pm** Today at 6pm (unless 6pm has passed, in which case tomorrow) (**18:00** also works) **tomorrow at 16:00** Tomorrow at 4pm **tom morning** Tomorrow at 9am (**tommorning** also works) **tom afternoon** Tomorrow at 12pm (**tomafternoon** also works) **tom evening** Tomorrow at 7pm (**tomevening** also works) **tom night** Tomorrow at 10pm (**tomnight** also works) **fri @ 7pm** Friday at 7pm (**Friday @ 7pm, Fri at 7pm, Fri at 19:00** also work) **in 5 days** 5 days from now (**+5** also works) **in 3 weeks** 3 weeks from now **in 2 hours** 2 hours from now **50 days before new year eve** Will set date to 11 November (this is particularly useful for setting [Reminders](https://get.todoist.help/hc/en-us/articles/205348301-Reminders)) **6 weeks before 21 Jul** Will set date to 9 Jun **28 days after 21 July** Will set date to 18 Aug --- ## Recurring due dates & times Todoist recurring tasks are extremely powerful. When you complete a repeating task, the entry will roll to the next date you've selected. When creating recurring tasks in Todoist, the time expression has **3 parts**: * the **repetition** - day and/or time * the **start date** - see notes below * and the **end date/duration** You can mix and match them however you like, e.g. **every day at 10am starting Friday for 8 weeks** ## Repetition ***Note*** - **every** can be shortened to just **ev** and will be accepted by Todoist, making entry even quicker **every hour** Every hour starting from now **every 12 hours starting at 9pm** Every day at 9am and 9pm **every day** Every day starting from today (**daily** also works) ***Note*** - The syntax doesn't support **every day except**. So if you only want the task to repeat on specific days of the week, you have to express those explicitly as per the following. **every monday, friday** Every Monday, Friday (**ev monday, friday; every mon, fri; ev mon, fri; ev mon, ev fri** also work) **every weekend** Every Saturday **every morning** Every day at 9am **every afternoon** Every day at 12pm **every evening** Every day at 7pm **every night** Every day at 10pm **every workday** Every Monday, Tuesday, Wednesday, Thursday, and Friday ***Note*** - You can also use **ev mon-fri** or **ev weekday**, but post-task entry, these will just get converted to **ev workday** **every 3 workday** Every 3rd work day (mon-Fri only) from today **ev mon, fri at 20:00** Every Monday and Friday at 20:00 (***Note*** - Times cannot be set independently for each of the recurring days) **every 3 days** Every 3 days from today (**ev 3 days** also works) **every week** Every week starting from today (**weekly** also works) **every month** Every month starting from today (**monthly** also works) **every quarter** Every 3 months starting from today (**quarterly** also works) **every other day** Every other day starting from today **every other week** Every other week starting from today **every other month** Every other month starting from today **every other year** Every other year starting from today **every other fri** Every other Friday, but starting receurrence from the second, not the upcoming (next) Friday ***Note*** - This is not consistent with the preceding **ev other** examples. You would need to enter **ev other fri starting fri** to make it effective from the next Friday **ev 2nd Monday** Every Second Monday in a month **every 3rd friday** Every 3rd Friday of the month **every 3rd friday 8pm** Every 3rd Friday of the month at 8pm **every 3rd friday jan** 3rd Friday of each January (**yearly 3rd fri jan** also works) **every 1st wed jan, every 3rd thu jul** 1st Wednesday of each January and 3rd Thursday of each July **ev 7** Every 7th of the month **ev seventh** Every 7th of the month **every 27th** Every 27th of the month (**every 27** also works) **every 2, every 15, every 27** Every 2nd, 15th & 27th of the month (**every 2, 15, 27** also works) **every jan 27th** Every January 27th **every 14 jan, 14 apr, 15 jun, 15 sep** Every January 14th, April 14th, June 15th & September 15th ***Note*** - I've had it confirmed that the maximum number of comma-delimited dates you can enter here is ***8***. Actually, it's only ***7*** if you include a time too. ***Warning!!*** - If you apply this to a task that is in a project [syncing with Google Calendar](https://get.todoist.help/hc/en-us/articles/115003128085-Use-Google-Calendar-with-Todoist), it won't work properly. Moreover, in the above example, post-entry and without warning, it will get transformed into **every 14, 15** in Todoist. Also, if you add a time, the date syntax 'sticks,' in Todoist but the task doesn't appear at all in Google Calendar. **ev last day** Every last day of the month **ev last mon** Every last Monday of the month **every first workday** Every first working day (Mon to Fri) of the month **every last workday** Every last working day (Mon to Fri) of the month **every year** Every year starting from today (**yearly** also works) **after 10 days** This is a bit different in that it changes, post-entry, to ***!every 10 days*** effective for today **after 10 days starting 1 Aug** As above, it changes, post-entry, to ***!every 10 days*** effective from 1 August ***Note*** - I've often seen people trying to get a schedule such as **1st Mon of every 3rd month** to work. Unfortunately, this kind of repeat cycle is not supported. ## Start date ***Note*** - "Start date," in this context, is the date when the recurrence should start from. Do not confuse this with the date on which *activity on a task should "start."* Todoist does not support the concept of "***Start dates & Do dates***," unlike, say, [Omnifocus](https://www.omnigroup.com/omnifocus). The reasoning for this is [clarified on YouTube](https://youtu.be/shTYLWogs5I?t=1816) by Todoist's CEO, Amir Salihefendić, and also in the [Todoist help pages](https://get.todoist.help/hc/en-us/articles/360007312259-Does-Todoist-support-start-dates-). ### Examples **every day starting tomorrow until April 3** **starting 9:00** **starting Monday** **starting 1 Jan** **starting June** - i.e., every second Thursday starting June **from 9:00** **from Friday** **from 16 Aug** ## End date/Duration ### Examples **until 20 July** **ending 24 August** **for 3 weeks** **for 3 days** **ending in 3 months** #### Example: for repeating this week only **every Wednesday, Friday, Saturday ending Saturday** Please note that in Todoist there are two recurring dates: **every** and **every!**. They are similar and the difference is how the next date is computed. For example: * **Clean fridge** with due date **every 3 months starting 10 April** * **Clean fridge** with due date **every! 3 months starting 10 April** Completing **every 3 months starting 10 April** will result in a due date 3 months from 10 April. Completing **every! 3 months starting 10 April** will result in a due date 3 months from the completion date. --- ## Holidays Tasks that need to be done on holidays can be specified using these respective keywords. **new year day** January 1 **valentine** February 14 (**valentine's day** also works) **memorial day** Last Monday of May **halloween** October 31 **new year eve** December 31 ***Note*** **Thanksgiving** used to be included in the natural language, but was removed as some countries, e.g. [Canada](https://en.wikipedia.org/wiki/Thanksgiving_(Canada)), celebrate on dates differing to the US. *** ## Google Sheets: Todoist Due Date Solutions You can click on the named links to view them in your browser, or on the respective "make a copy," links to add them to your own Google Drive. Each one is fully documented and they are quick and easy to use. * **[Recurring tasks 'n' days before the end of each month](https://docs.google.com/spreadsheets/d/1zZfVAEB2rDby-GvYzNWspfK2_oQhX7UhG53053Y4BkA/edit?usp=sharing)** - You can use this Google Sheet to quickly and reliably create the syntax for recurring tasks that repeat on a cycle of a specified number of days before the end of each month. You can [make your own copy of it here](https://docs.google.com/spreadsheets/d/1zZfVAEB2rDby-GvYzNWspfK2_oQhX7UhG53053Y4BkA/copy) * **[Relative Due Dates Tool](https://docs.google.com/spreadsheets/d/19nTmSIEx8CMzzrtrAxUtKbdYMuBsuUj6qd53kKSd6p4/edit?usp=sharing)** - A further development of the above, this one dynamically creates multiple due dates formatted for easy [pasting-in](https://todoist.com/help/articles/how-to-add-multiple-tasks-at-once) to Todoist. There are **4 tabs**, each performing a different manipulation as detailed below. [Here's a short video](https://drive.google.com/file/d/1eAb8yXep1Zzh-xwrCCMGyn55cvMPgjiY/view?usp=drivesdk) showing one of the workflows in action. You can [make your own copy of it here](https://docs.google.com/spreadsheets/d/19nTmSIEx8CMzzrtrAxUtKbdYMuBsuUj6qd53kKSd6p4/copy) * Offset a specified number or working days before or after a specified occurrence (1st, 2nd etc.) of a day of the week within each month * Offset a specified number or working days before or after the last working day of each month * Specify a monthly due date for a task and it automatically gets moved to the preceding Friday if the date should happen to fall on either a Saturday or Sunday * Choose the last instance of a named day before the last Friday of the month [Back up to Glossary](#glossary) *** **[Go to www.leightonprice.com](https://www.leightonprice.com)** Ambassador