1. Paste the notes
Optional: add an AI pass on your own key
The rules above are the product. This pass asks a model for commitments the rules missed. It sends your notes straight from this browser to the provider you pick, so use it only for notes you are allowed to share with them. Each suggestion must quote your notes word for word, its date comes from that quote, and anything it cannot support is dropped. Suggestions are marked low confidence. Your key stays in this browser and is never sent to us.
Paste notes above and click the button.
Result
| Owner | Action | Due | Sure? |
|---|
Take it with you
Preview the follow-up email
What you use today, and what this does differently
Recording note-takers (Otter, Fireflies, Fathom and similar) join your call, transcribe it and send the audio to their servers, usually on a paid plan once the free minutes run out. Doing it by hand is free but is the step people skip. This tool works from notes or a transcript you already have, applies fixed rules you can read, runs offline in your browser, and flags the items that have no owner instead of guessing.
Run it from the command line
Zero dependencies, Node 18+.
node cli.mjs notes.txt --date 2026-10-19 --attendees "Ana,Ben,Cleo" --format email node cli.mjs notes.txt --date 2026-10-19 --format csv
The exit code is 1 while any action item has no owner, so a team can make "every action has an owner" a check.
Questions people actually ask
Can I turn meeting notes into action items for free without uploading them?
Yes. Paste the notes or transcript and the tool finds who committed to what, with due dates, decisions and open questions. It runs in your browser and, unless you turn on the optional AI pass with your own key, makes no network calls, so a confidential call never leaves your device.
How does it decide who owns an action item?
From the words: a named person with will or to ("Cleo will book the venue"), a speaker saying I'll, a request to a named person ("John, can you check the contract?"), or an explicit ACTION line with a name. If nobody is named it says so and lists the item under needs an owner instead of guessing.
How are dates like "by Friday" or "next week" worked out?
Against the meeting date you enter. A bare weekday means the next one after the meeting, "next Friday" means Friday of next week, "end of the week" is Friday, and "in 2 weeks" is fourteen days on. Without a meeting date it leaves the phrase as written and tells you.
Is this as good as an AI note-taker like Otter or Fireflies?
No, and it does not try to be. Those record and transcribe the call. This starts from notes or a transcript you already have and uses fixed rules you can read, so it misses a commitment phrased in an unusual way. It never invents one, and it costs nothing.
What can I export?
A markdown checklist, a CSV, a follow-up email grouped by person, and a calendar file with all-day entries for every dated item. The command-line version can fail a CI step while any item still has no owner.
Longer version: how to write meeting action items that get done.