Use case or problem
tl;dr - Add an auto incrementing suffix to date/time numbering to avoid incrementing (potentially nonsensical) time values, and allow integer numbers in Unique Note Creator (zettelkasten) format, expanding the readability and use cases for this core plugin. e.g. “2026 Jan - #12” formatted as ‘YYYY MMM - #n’
Unique Note Creator core plugin (initially added for zettelkasten numbering, pre v1.0) allows users to customise a time format (with moment.js formatting) in order to create a unique timestamp title for a note.
If a user were to create two notes in a single time-period, the core plugin’s behaviour is to increment the time (regardless of whether that was the time the note was created).
Take this silly example:
Let’s say a user selects “Y” (year) as their ‘ Unique Prefix Format’ (which currently render as “2026”), then creates a new note, that note would have the title “2026”. Then if they create another, the unique note would be titled “2027”.
The current default format is YYYYMMDDHHmm, so every minute we get a new unique number, else if we create two notes in a minute, the unique number is a timestamp in the future.
As a unique identifier, it works, but to me it feels a little beta (which tbf Obsidian was at the time), and a simple upgrade could substantially improve its usability, and also add interesting functionality.
Proposed solution
My proposal is to add the option for an incrementing integer, either automatically (perhaps a checkbox in the options) or letter not used in the date/time formatting code (e.g. ‘n’ - though this could create a future clash with moment.js).
In my example above, the first note would be “2026” then the second note would be “20261”.
It could be helpful to add a character to separate the moment.js derived timestamp from the integer: “2026-1”. Punctuation can already be added to the formatting string, which in this case could be “Y-n”.
Currently, “2026-2” is sorted before “2026-10” in my vault, so this solution shouldn’t present a sorting problem.
Alternatively, if non moment.js codes were not allowed in the prefix format field, an option field could be added to the Unique Note Creator core plugin’s settings, allowing a user to set the format for any increment numbering, which would be added after the date code, e.g. “- n”.
With this change, users could:
- Be assured that the date-time stamp used reflected when they created the note
- Use more unique formats that reflected their workflows: e.g. “YY Wo - n” for notes made in each week of the year rather than a full unix timecode.
- Allow users to use only auto-incremented numbers: e.g. “n”
This simple addition would expand the use of this feature to far more people than the core zettelkasten group.
Current workaround (optional)
There may be methods using community plugins such as Linter, or Templater, plugins which allow access to javascript in templates, or the power to alter notes but nothing I was able to find for people using Obsidian’s core plugins.
Related feature requests (optional)
I’m also proposing separately that that the Unique Note Creator could optionally create the same unique note identifier, but add it to a property instead - which can now be indexed using Bases. This would allow users to use names as note titles, but still have a unique note numbering system, which also extends Bases to allow use of human readable Primary Key of sorts.
(I’m using Obsidian 1.11.5)