Text to Reminders
Paste a brain-dump and get an iCalendar (.ics) reminder list: one task per line, deterministic due-date parsing, optional priority detection and alarms, all in your browser.
About this tool
Text to Reminders turns a pasted brain-dump into an importable iCalendar
.ics file. Write one task per line and the tool emits one reminder/task
component per non-blank line, with a due date when the line contains a recognised
phrase such as tomorrow, Friday, in 3 days, 2026-03-05, March 5, or
at 3pm.
Parsing is deterministic: there is no LLM, no account, no upload and no guessing
beyond the documented date/time rules. Relative phrases are anchored on the
Reference date field so examples, CLI runs and page deep links are repeatable.
Priority keywords such as urgent, asap, important and critical can map to
iCalendar PRIORITY:1; low-priority words such as someday map to PRIORITY:9.
Worked example
Input:
Call the dentist tomorrow at 3pm
Urgent: submit expense report Friday
Buy milk
With reference date 2026-03-02, priority detection on, undated lines kept and a
30-minute alarm, the output starts like:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//gizza-ai//text-to-reminders//EN
CALSCALE:GREGORIAN
BEGIN:VTODO
UID:todo-1-20260302@text-to-reminders
DTSTAMP:20260302T000000Z
SUMMARY:Call the dentist
DUE:20260303T150000
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Call the dentist
TRIGGER;RELATED=END:-PT30M
END:VALARM
END:VTODO
Options
- Reference date anchors relative phrases (
today,tomorrow, weekdays,in 2 weeks). Leave it on today's date for real use, or set it explicitly for reproducible CLI/page tests. - Detect priority keywords maps
urgent,asap,important,criticalto high priority andsomeday,whenever,eventuallyto low priority. Turn it off to keep those words in the task title. - Keep undated lines keeps lines with no recognised date as tasks without a due date. Turn it off to emit only dated tasks.
- Alarm minutes before due adds a display alarm before each dated task.
0means no alarm.
Limits & edge cases
- This is a deterministic parser, not an AI assistant. If a phrase is not in the documented rule set, it remains part of the title instead of being guessed.
- Times are emitted as floating local iCalendar date-times (
DUE:YYYYMMDDTHHMMSS) with no timezone database. Your importing calendar app interprets them in its local/calendar timezone. - Repeating phrases such as
every Monday, durations and end times are listed as out-of-model in the analysis and are not expanded. - Each non-blank line becomes one task. Multi-line task descriptions are not merged; paste them as one line if they should stay together.
- iCalendar text values are escaped and long content lines are folded at the RFC line length.
FAQ
Does this use AI to interpret my notes?
No. The parser is a fixed Rust implementation that recognises a documented set of date, time and priority phrases. That makes output reproducible and keeps the tool fully local in the browser.
What date does "tomorrow" or "Friday" use?
Those phrases are measured from the Reference date field. A bare weekday means
the next occurrence after the reference date; for example, with reference date
2026-03-02 (a Monday), Friday resolves to 2026-03-06 and next Monday
resolves to 2026-03-09.
What happens to lines with no date?
When Keep undated lines is enabled, they are included as reminders/tasks with
no DUE property. When it is disabled, undated lines are skipped so the output
contains only reminders with a resolved due date or time.
Can I import the result into Apple Calendar, Google Calendar or Outlook?
Yes. The result is a normal iCalendar .ics document containing task/reminder
components. Calendar apps vary in how prominently they show imported tasks, but the
file is standards-shaped text and can be saved with an .ics extension.
Developer & Automation Access
Run it from the terminal
Same engine as this page, headless — via the gizza CLI:
gizza tool text-to-reminders "Call the dentist tomorrow at 3pm
Urgent: submit expense report Friday
Buy milk"New to the CLI? Get gizza →
Open it by URL
Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:
https://gizza.ai/tools/text-to-reminders/?text=Call%20the%20dentist%20tomorrow%20at%203pm%0AUrgent%3A%20submit%20expense%20report%20Friday%0ABuy%20milk&reference_date=2026-03-02&detect_priority=true&include_undated=true&alarm_minutes=0Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.
