This module was developed with the help of Claude AI.
Freeform Date lets editors type dates the way they say them. It adds a free-text widget to core Date and Date range fields that understands input like 15/10/2026 3pm, next friday 10:30, end of next month, 15–18 oct or mañana a las 9, shows exactly what will be saved as you type, and falls back to a date picker when it can't tell.
Values are stored in core's own fields, so formatters, Views, migrations and existing content are unaffected. You can switch an existing field to this widget, and back, at any time.
Features
- Type it any way you like. Numeric dates, month names, relative dates and times in English and Spanish:
October 15th at noon,in a month,March 31st next year,el viernes que viene,hace 3 días,4 y media de la tarde. - Starts and ends of periods.
end of the year,end of next month,start of next week,end of the quarter,mid-November,EOD/EOM/EOY,fin de mes,a finales de octubre. - Chinese, Japanese and Korean. Recognized by their script, with no setting:
2026年10月15日,明天下午3点,来週の金曜日,내일 오후 3시,月底, full-width digits, and ranges such as10月15日到18日. - Date ranges.
15–18 oct,next friday to sunday,friday 3pm to 5,today to end of month,del 3 al 5 de noviembre. One side borrows what it leaves out from the other, and ends roll forward when that is clearly meant (dec 28 – jan 3,10pm to 2am). Supports date-only, date-and-time and all-day ranges. - Live preview. "→ Thursday, 15 October 2026, 15:00" appears under the field as you type, announced to screen readers. The preview and the save use the same code, so what you see is what gets stored.
- Always a way out. If the text can't be understood, the date picker opens in place. Without JavaScript, the save shows a clear error and opens the picker. Picking a date writes it back into the text.
- 4/3/26 done right. Is it 4 March or April 3? By default the visitor's own browser locale decides, not the site's country, which matters for sites with an international audience. The preview spells the month out and offers the other reading as a one-click "Did you mean…?".
- Strict, not clever. Rejects impossible dates (
February 30), invalid times, times skipped by daylight saving changes and ranges that end before they start, instead of silently "fixing" them. - Webform element. The included Freeform Date Webform submodule adds a Free-text date element that stores the same value as Webform's Date element and honors its minimum, maximum and days-of-week rules, so an existing Date element can be switched without touching past submissions.
- Works with your theme. The "Use a date picker" link sits in the help text and takes the theme's link color, adjusted when needed to stay readable on the background.
- Cache-safe and private. Nothing rendered into the page depends on the visitor, so page and CDN caching keep working. Parsing happens on your own server; no third-party services or libraries.
Post-Installation
Go to Manage form display for any entity with a Date or Date range field, choose Free-text date or Free-text date range, and adjust the settings under the gear icon:
- Day/month order: visitor's browser (default), site country for everyone, always day/month, or always month/day.
- Default time for date-and-time fields when only a date is typed (or require a time); default start and end times for ranges.
- Live preview on or off, and which date format it uses.
For Webform, enable Freeform Date Webform and add a Free-text date element, or change an existing Date element's type. There is no module-wide configuration page.
Additional Requirements
- Core Datetime, and Datetime Range for the range widget.
- PHP's intl extension is used when available to read a visitor's date order; without it a built-in list of countries is used.
Recommended modules/libraries
- Webform (6.2 or later), for the Free-text date Webform element.
Similar projects
- Smart Date improves date entry with smart defaults, durations and recurrence, using pickers rather than free text.
- Duet Date Picker replaces the date input with an accessible picker, but doesn't parse typed text.
Ask your assistant about Freeform Date
Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Releases
| Version | Type | Core | PHP | Release date | |
|---|---|---|---|---|---|
| 1.0.0-alpha1 | Pre-release | 10–11 | PHP >=8.1 | Oct 16, 2026 |