Turn plain English into a due date and a repeat rule
Type a task the way you would say it. The parser finds the date ("tomorrow", "next friday", "sep 14", "in 3 days"), a start date ("start monday"), a repeat ("every weekday", "every other tuesday", "the 1st of every month") and a time of day, then gives you an ISO date, an RRULE and the task title with those words removed. It is the same parser the GetItDone task box runs as you type, and it never invents a date the text does not state.
Due Friday, November 6, 2026.
- Task title
- Send the contract
- Due date
2026-11-06- Start date
- None
- Today in UTC
2026-10-30
Show the JSON the API returns for this text
{
"input": "Send the contract next friday",
"tz": "UTC",
"today": "2026-10-30",
"strippedTitle": "Send the contract",
"dueDate": "2026-11-06",
"startDate": null,
"rrule": null,
"recurrence": null,
"timeOfDay": null,
"priority": null,
"projects": [],
"tokens": [
{
"kind": "dueDate",
"text": "next friday",
"label": "Due Fri, Nov 6"
}
],
"explanation": "Due Friday, November 6, 2026."
}How the parser reads a sentence
- Markers that cannot mean anything else go first: #projects and priorities such as p1 or !high.
- A time of day ("at 3pm", "15:00") is taken next, so it is never mistaken for a date.
- Repeats are read before dates, so "every monday" becomes a schedule rather than a due date, and a trailing "until sep 4" ends the schedule.
- Dates with a prefix ("start monday", "due friday") win over a bare one; a bare date is only looked for once nothing else has claimed the words.
- What is left, with the spaces tidied, is the task title.
Run it from code, no key needed
The same result as JSON, or as Markdown when you send Accept: text/markdown. Free and rate limited per IP address. Full reference in the free tools API docs.
curl 'https://nowgetitdone.com/api/tools/parse-date?text=review%20the%20report%20every%20friday&tz=America/Toronto'
Questions
- What phrases does the date parser understand?
- Relative days (today, tomorrow, yesterday, a weekday name, "next friday", "in 3 days", "in two weeks on monday", "next month"), calendar dates ("sep 14", "14 sep", "2026-09-15", "3/15"), explicit due and start dates ("due friday", "start monday"), repeats ("every weekday", "every other tuesday", "every 3 days", "the 1st of every month", "every 3 weeks after I finish it", "until sep 4", "6 times"), a time of day ("at 3pm", "15:00"), priorities ("p1", "!high") and projects ("#ops").
- Which timezone are "today" and "tomorrow" counted in?
- The one you choose. The page starts with your browser’s timezone; the API uses the tz parameter (an IANA name such as America/Toronto) and falls back to UTC when you leave it out. The response always says which zone and which "today" it used.
- Why is the time of day read but not saved?
- GetItDone schedules whole days, so the result is a calendar date, not a timestamp. The parser still recognises "at 3pm" so it does not end up in the task title, and reports it separately as "time not saved", exactly as the task box does.
- Is there an API for the natural language date parser?
- Yes. GET /api/tools/parse-date?text=…&tz=… needs no key and returns JSON (or Markdown with Accept: text/markdown). It is rate limited per IP address, and errors follow RFC 9457 problem+json.
- Does it guess when the text has no date?
- No. When nothing in the text names a day, the due date stays empty and the whole text is the task title. An impossible date such as 2026-02-31 is left as text rather than rolled over to March.
The same parser runs in the GetItDone task box, where your team and its AI agents share one board of tasks. Try GetItDone free
More free tools
- Eisenhower matrix — Sort your tasks into Do first, Schedule, Delegate and Drop. Drag them between quadrants, then copy, download or print the list. Free, no sign-up.
- Pomodoro timer — A free pomodoro timer: 25-minute focus sessions, 5-minute breaks and a longer break every fourth session. Adjustable, with no ads and no sign-up.
- Printable daily planner — Make a printable daily planner: pick the date and your hours, add your top 3, and print it or save it as a PDF. Free, no sign-up, no watermark.
- Weekly review template — A weekly review template in four steps: look back, clear, look ahead and choose next week’s top 3. Fill it in here, then copy, download or print it.
- RRULE builder and explainer — Build an RFC 5545 RRULE from a form, or paste one to read it in plain English. See the next 10 dates either way. Free, no sign-up, with a JSON API.
- Screenshot to tasks — Paste a screenshot or a photo of a list and GetItDone proposes one task per action, dated as written. You approve each one. Try it free as a guest.