Extract dates from text

Extract dates scans pasted text for date-shaped strings and lists every match on its own line. Three formats are recognised: numeric with slashes or dashes (12/03/2026, 3-12-26), ISO 8601 (2026-03-12), and English month-name dates (March 12, 2026, Mar 12 2026). The transform runs in your browser.

Input
Line 1:1 LF cloud_done Saved locally
Result Extract Dates
0 lines 0 chars

How date matching works here

The matcher recognises three families of date strings. The first is numeric: 1 or 2 digits, a slash or dash, 1 or 2 digits, a slash or dash, then 2 or 4 digits. So 12/03/2026, 3/12/26 and 12-03-2026 all match. The matcher does not pick a locale; the same digits could be DMY or MDY depending on your data.

The second family is ISO 8601: exactly four digits, dash, two digits, dash, two digits. 2026-03-12 matches, but partial forms like 2026-03 do not. The third is English month names: Jan through Dec, with optional full-name tail (January), then 1 or 2 day digits, an optional comma, and a 4-digit year. So March 12, 2026 and Mar 12 2026 both match.

The matcher is format-aware but not calendar-aware. 02/30/2026 and 2026-13-40 match the shape and are returned as-is, even though they are not real dates. To validate, post-process the output in a spreadsheet or paste through extract regex matches with a stricter pattern.

How to use extract dates from text

  1. 1Paste the document, log or message into the input panel.
  2. 2The output panel shows every date, one per line.
  3. 3Click Copy to copy the list.
  4. 4Click Download to save it as a plain-text file.
  5. 5Need a stricter format? Use extract regex matches with your own pattern.

Keyboard shortcuts

Drive TextResult without touching the mouse.

Shortcut Action
Ctrl FOpen the find & replace panel inside the input Plus
Ctrl ZUndo the last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor Plus
EscClose find & replace, or exit fullscreen
Ctrl KOpen the command palette to jump to any tool Plus
Ctrl SSave current workflow draft Plus
Ctrl PRun a saved workflow Plus

What counts as a date here

Numeric with slashes or dashes

D/M/Y, M/D/Y and D-M-Y shapes match if each part is 1 to 2 digits and the year is 2 or 4 digits. 12/03/26, 3-12-2026 and 12/3/2026 all match.

ISO 8601 (year-first)

Exactly YYYY-MM-DD. 2026-03-12 matches; 2026-03 and 2026/03/12 do not (the year-first form requires dashes).

English month names

Three-letter abbreviations Jan to Dec, optionally extended (January, September), then day, optional comma, then 4-digit year. Match is case-insensitive (the regex uses the i flag).

No locale or calendar validation

Dates are matched on shape only. 02/30/2026 and 2026-13-40 match because the digit groups fit. To filter to real dates, post-process in a spreadsheet.

Order preserved, duplicates kept

Matches appear in source order. Duplicates are not removed; pipe through remove duplicate lines for a unique list.

Worked example

All three formats appear in the output as they were written. The matcher does not normalise to a single layout; if you need ISO output, run the result through find and replace or a spreadsheet.

Input
Invoice 12/03/2026, due 2026-04-15.
Meeting on March 12, 2026.
Shipped Apr 4 2026 and arrived 2026-04-08.
Output
12/03/2026
2026-04-15
March 12, 2026
Apr 4 2026
2026-04-08

Settings reference

Behaviour Effect on output
Numeric with slashes D/M/Y or M/D/Y, 1-2 digit parts, 2 or 4 digit year.
Numeric with dashes D-M-Y, same digit rules. ISO YYYY-MM-DD separately allowed.
ISO 8601 Exactly YYYY-MM-DD. Year-first with dashes only.
English month names Jan-Dec abbreviations, optional full-name tail. Case-insensitive.
Validation Shape-only. Impossible dates like 02/30/2026 still match.
Other languages Not supported. Use extract regex matches for non-English month names.

FAQ

Are non-English month names supported?
No. The pattern only knows the English three-letter abbreviations Jan through Dec. For French, German or other languages, use extract regex matches with a pattern that lists the month words you need.
Does the matcher know my date locale (DMY vs MDY)?
No. 03/04/2026 could be 3 April or March 4 depending on your data. The matcher captures the string as written; deciding which is which is up to your downstream code or spreadsheet.
Will partial dates like 2026 or March 2026 match?
No. The pattern requires year, month and day for each format. To capture year-only or month-year strings, use extract regex matches with a pattern like \b\d{4}\b or \b(?:Jan|Feb|...)\w*\s+\d{4}\b.
Are duplicates removed?
No. Every date is kept in source order. Pipe the result through remove duplicate lines for a unique list.
Is anything sent to a server?
No. The match runs entirely in your browser.