Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Natural Language Dates (Revived)

amato21amato215k downloads

Auto-complete dates and times naturally (@today, @dans 20 min). Now with multilingual support and hybrid links.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates9

This is a revived and improved version of the popular "Natural Language Dates" plugin for Obsidian. It brings the plugin back to life with a modern engine, true multilingual support, and smarter time handling.


Supported Languages

Enable any combination in Settings → Natural Language Dates → Language settings. All examples in this README use English, but every feature below works the same way in each of these:

Language Status
English Full support
French Full support
Spanish Full support
Italian Full support
Russian Full support
Ukrainian Full support
Chinese (Traditional & Simplified) Partially supported
German Partially supported
Portuguese Partially supported
Japanese Full support
Korean Partially supported
Dutch Under development

You can enable several languages at once — the autosuggest and parser understand all of them simultaneously.

Korean support (오늘, 내일, 다음 주 월요일, 3일 후...) reuses vocabulary from CreamNuts' nldates-obsidian-korean — many thanks for that work. As with the other "partially supported" languages, chrono-node has no Korean parser to fall back on, so some combined phrasings (e.g. a weekday together with a specific time, or date ranges) aren't recognized yet (#40).


How to Install

Via Obsidian Community Plugins (Recommended)

  1. Open Settings → Community plugins in Obsidian.
  2. Click Browse and search for "Natural Language Dates (Revived)".
  3. Install and enable it.

Via BRAT (for the latest beta builds)

To get updates ahead of the official release, use the BRAT plugin:

  1. Install BRAT from the Community Plugins store.
  2. Add a Beta Plugin with this URL: https://github.com/Amato21/nldates-revived
  3. Enjoy!

Usage

Date Autosuggest

Type @ (default trigger) followed by a natural date.

  • @today → [[2024-12-30]]

  • @tomorrow → [[2024-12-31]]

  • @in 20 minutes → 14:30 (smart formatting: only time when it's today!)

  • @in 2 hours → 16:30 (smart formatting for today)

  • @in 2 weeks and 3 days → [[2025-01-22]] (full date for future dates)

  • @next Monday at 3pm → [[2025-01-06]] 15:00

  • Weekday shortcuts:

    • @Monday → next Monday (or today if it's Monday)
    • @this Monday → Monday of the current week (even if already elapsed)
    • @last Monday → Monday of the previous week
    • @next Monday → Monday of the next week
    • Abbreviations also work: @mon, @tue, @wed, @thu, @fri, @sat, @sun
  • @3 minutes ago → 14:27 (past expressions, in every supported language)

  • @2 hours ago → 12:30

  • @from Monday to Friday → [[2025-01-06]], [[2025-01-07]], [[2025-01-08]], [[2025-01-09]], [[2025-01-10]]

  • @next week → [[2025-01-06]], [[2025-01-07]], [[2025-01-08]], [[2025-01-09]], [[2025-01-10]], [[2025-01-11]], [[2025-01-12]]

  • Complex date expressions:

    • @the 15th of next month → [[2025-02-15]]
    • @last day of month → last day of the current month
    • @last day of next month → last day of next month
    • @first Monday of month → first Monday of the current month
    • @first Monday of next month → first Monday of next month
    • @last Friday of next month → last Friday of next month
    • Works with all prefixes (next, last, this) and their translations in every supported language
  • Time shortcuts: type the word for "time" in one of your enabled languages to see quick time-adjustment suggestions — @Time in English, @heure in French, and so on for each language:

    • Time:Now → inserts the current time (e.g. 14:30)
    • Time:+15 minutes / Time:+1 hour → time 15 minutes / 1 hour from now
    • Time:-15 minutes / Time:-1 hour → time 15 minutes / 1 hour ago
    • These insert just the time, with no date or link — handy for logging timestamps
    • Only works for a language you've actually enabled in settings — @Time won't trigger anything if only French is enabled, only @heure will

Each suggestion in the dropdown shows a preview of the resolved date or time next to it (e.g. typing @next monday shows "Next Monday" with 2025-01-06 beside it), so you can see exactly what will be inserted before you pick one.

Press Shift + Enter to keep the original text as an alias (e.g. [[2024-12-30|today]]). If you type the full word yourself, the alias keeps your exact casing instead of the suggestion's own — handy in languages where the dictionary form is capitalized (French Demain, for instance) but you'd rather see it lowercase in your note. Only completing a partial word falls back to the suggestion's own spelling.

Obsidian_ldWoN5Xnt8

Commands (Ctrl/Cmd + P)

  • Parse natural language date: Replaces selected text with a link (e.g. select "tomorrow" -> becomes [[2024-12-31]]).
  • Insert the current date and time: Quickly insert a timestamp with both date and time.
  • Insert the current date: Inserts only the current date.
  • Insert the current time: Inserts only the current time.
  • Date Picker: Opens a calendar view to pick a date visually.

Configuration

Go to Settings > Natural Language Dates:

  • Languages: Check the languages you want to enable.
  • Date Format: How the date part looks (e.g. YYYY-MM-DD).
  • Time Format: How the time part looks (e.g. HH:mm).
  • Separator: Character between date and time (if used).
  • Smart Suggestions: Enable intelligent suggestions (enabled by default)
    • Enable smart suggestions: Master toggle for all intelligent features
    • History-based suggestions: Learn from your frequently used date patterns. Ranking favors what you've picked recently, not just most often overall — something you used a lot months ago naturally fades if you haven't reached for it lately, while anything you reuse jumps back to the top.
    • Context-based suggestions: Detect dates already mentioned in the current document (within ±10 lines of the cursor) and suggest them
    • Manage history: Opens a list of everything in your suggestion history (most relevant first), with a button to remove any single entry, plus a "Clear all" option (armed on the first click, applied on the second, so it can't be triggered by accident)
  • Date Formatting:
    • Omit date for short relative expressions: When enabled, short relative expressions for today (e.g., @in 15 min, @in 2 hours) will display only the time (e.g., 14:30) instead of [[2024-01-15]] 14:30 (enabled by default)
  • Periodic Notes: Optional formats for linking to weekly/monthly/quarterly/yearly notes (e.g. used by the Periodic Notes plugin), each empty/disabled by default:
    • Week format (e.g. GGGG-[W]WW), Month format (e.g. YYYY-MM), Quarter format (e.g. YYYY-[Q]Q), Year format (e.g. YYYY)
    • When set, an expression that resolves to a whole period instead of a single day — @next week, @this quarter, @Q3, @Q3 2026, @2026-W02 — uses that format instead of the daily Date format. Leave a field empty to keep using the daily format for that granularity (and, for weeks specifically, the existing behavior of inserting a link for every day of the week).
    • Recognized in all 12 supported languages: @next week/@semaine prochaine/@来週/@다음 주, etc.

Note: History data is stored in .obsidian/plugins/nldates-revived/history.json and is limited to the 100 most relevant entries for optimal performance.

URI Action

Open (or create) a daily note from outside Obsidian — e.g. from a Shortcuts automation, a script, or another app:

obsidian://nldates?day=tomorrow&newPane=yes

day accepts any natural language expression the plugin understands. newPane (yes/no, default yes) controls whether the note opens in a new pane.


🔧 For Developers

Building an integration against the plugin's TypeScript API? See API.md for the complete reference: accessing the plugin instance, all public methods and types, and usage examples.


🙏 Credits & Acknowledgements

This project stands on the shoulders of giants. Huge thanks to:

  • Argentina Ortega Sainz (argenos): The original creator of this plugin. This revival is based on their excellent work.
  • RensOliemans: For the major contributions and foundational work on the multilingual support.
  • CreamNuts: For nldates-obsidian-korean, whose vocabulary this plugin's Korean support is built on.
  • Amato21: Maintainer of this "Revived" version.

Powered by the chrono-node library.


Changelog

See CHANGELOG.md for the full version history.


Development Troubleshooting

If npm install fails with an ENOTEMPTY rename error, remove node_modules/ and retry. If you see 403 Forbidden while fetching packages, confirm that your registry access is allowed by your network or security policy before retrying. This helps avoid stalled installs when running the project locally. Keep any local install logs out of version control.


Maintenance & Community

This project is open source (MIT License). The primary goal is to provide a working, reliable tool for the Obsidian community.

Community First: If this repository becomes inactive or unmaintained in the future, please feel free to fork it and take over maintenance immediately—no permission needed! The community's needs come first, and we'd be delighted to see the project continue to evolve and improve.

Your contributions, forks, and improvements are always welcome! 🚀

HealthExcellent
ReviewSatisfactory
About
Parse and insert natural-language date expressions in English, French, German, Japanese, Dutch, Portuguese, Spanish and Italian, converting combined durations, weekday+time, and date/range phrases into concrete dates. Provide document-aware suggestions that learn your patterns and detect nearby dates while analyzing only the current note.
DatesLanguagesEditing
Details
Current version
0.9.81
Last updated
2 days ago
Created
7 months ago
Updates
9 releases
Downloads
5k
Compatible with
Obsidian 1.1.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
amato21amato21
github.com/Amato21
GitHubamato21
  1. Community
  2. Plugins
  3. Dates
  4. Natural Language Dates (Revived)

Related plugins

Simplified Chinese Word Splitting

Adds Simplified Chinese word splitting support for the editor and Vim mode.

LanguageTool

Unofficial integration of the LanguageTool spell and grammar checker.

Advanced Tables

Improved table navigation, formatting, and manipulation.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Tasks

Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering. Maintained by Clare Macrae and Ilyas Landikov, created by Martin Schenck.

Day Planner

Turn tasks from daily notes, the Tasks plugin, and calendars into time blocks on an editable timeline, with built-in time tracker.

Outliner

Work with your lists like in Workflowy or Roam Research.

Update modified date

Automatically update a frontmatter modified date field when the file is modified.

Creases

Tools for effectively folding Markdown sections.

Dragger

Drag and drop any block (paragraphs, headings, lists, etc.) to rearrange content like Notion.