Create zettelkasten note inline

I can’t seem to find documentation on how to do it if it’s already a feature but are we able to create a zettelkasten note inline?

I know I can create a new note with [[some note]] but is it possible to generate a zettelkasten note inline (with the id)?


![[some note]] will show the note inline in the preview.

Oops i think I didn’t write it clearly.

I want to be able to generate a zettelkasten note inline while I’m writing.

Currently I have to generate a zettelkasten note with the command palette then navigate back to the original note and link it.

Ideally I could just use [[]] to generate the zettelkasten note without having to context switch

1 Like

I asked for that too a while ago! See the last para in my request. Drag and drop selected text to elsewhere in same note or another note

@kkyang What value does the UID give you in your system that makes it worthwhile to go to the trouble to context switch? Obviously you could create a note with a normal file name inline…so why not use a note with a normal file name?

I’ve asked this of others but never gotten a response that made sense to me. The origin of the UID in the zettlekasten system was this: Luhman used a code because it was his backlink - it was a code to show how the handwritten card fit into his existing knowledge framework. When people began using electronic note keeping systems for zettleing they needed a unique id in order to link notes in the early database type systems. Thus was born the date/time stamp UID. But the purpose in all cases was to tie the note you’ve created into the structure of the existing knowledge base in a way that allows you to happen upon it again as you follow the a trail of knowledge in your system.

The backlink serves this purpose perfectly. Multiple backlinks even better. It is the value they provide. Unless you are planning to export all your notes into one of the old legacy systems (or maybe to the ever-promised nvUltra) why do you need a meaningless note title? (the UID).

Sorry that’s a longer diatribe than I intended but as I said I’ve asked this before and no one seems to have an answer (except “I’m future proofing” - uhmm how?)


To me, and maybe I’m all wrong, but the UID gives you deduplication - i.e. I may name a note the same thing in “human language”, but it’s a separate note (say “Summer Vacation”) - the UID makes it unique.


Pretty easy to make names different without the UID timestamp. In ways that actually add meaning to the title.

I use the UID’s for deduplication in names of my mathematic books. You would be surprised how many books are titled Complex Analysis, or Calculus of variation. Having to type a non-UID name link, then go back to edit the note, then add create a UID stub note to copy and paste the UID onto the original note is quite tiresome.

1 Like

I actually did go down a rabbit hole trying to understand the purpose of the UID because it seemed unclear to me what the utility of it was.

My logic is the same as yours so it didn’t make sense to me to use a UID. It also clutters the UI (the graph and just interlinking notes)

The only 2 benefits I found were

  1. same name note
  2. can create a note with no name

I just decided to use the built in zettelkasten naming because I’m new to zettelkasten and figured I’d just trust the process first and adjust later.

I’m assuming there is no difference between a zettelkasten created note and a regular note other than it just prefixes the title right? I wasn’t sure if there’s some logic in obsidian that treats zettelkasten created notes differently than regular notes.

Also, I prefer daily note to zettelkasten note with template and more customized id。

So,when creating a note through internal link,it is necessary to generate a daily note or
zettelkasten note

This has been coming up for me in the most recent instantiation of the way that I want to produce notes with a focus on “atomic notes.”

It would be extremely useful to be able to hit one keystroke or one sidebar button, have a zettelkasten-formatted link name dropped into my current edit and then automatically open that link to add content. You could easily change the name of the file at the top and have the original link change automatically given that option set for the environment as a whole.

Alternately, I would settle for writing a chunk of content, being able to highlight it, hit one button, and have it all moved into a zettelkasten-named note while leaving behind the link, whereupon I can continue with what I’m working on, whether that be writing another chunk that will be attached or content which belongs in the enclosing note.


I have been missing this feature a lot, when I try to link to a new, non existing note, I have to create a new zettel note, populate it, find the note I was writing in the first place and only then link it, and beautify it.


+1 for this feature

Frustrating to find that when I create a new note in-line, it’s not Zettel style

Let me give this another shot, I’m missing this feature too.

First one. I just wrote a note about “coaching”. This is the first time I’m systematically thinking about “coaching”, therefore it doesn’t contain a proper definition (or any other meaningful reference). I just wanted to make a note of how I think about it now, so that I can quickly identify how I can get to a proper definition in the most meaningful way.

This is the perfect example of a note that just is a timestamp-UID: it’s less about coaching than about what I thought on 2020/11/24 10:37. In a month, I will have a more refined idea about coaching and I will add another note, then very likely under filename rather than a meaningless UID.

I can easily imagine complicated concepts where I’d like to defer definition. If I were to think about the meaning of life, for instance, I’d probably always choose UIDs (or UID + file name).

The second one. I might want to take a note about an experience. I might find it hard to put a name on it. Then I’ll go for a UID. (I suppose some people could ask “What’s the value of doing this?” I don’t think that’s a useful question in this context, though.)

I think in both of these cases, having the requested feature would be very helpful to your users.

I for myself use UIDs to avoid duplicates and to date a note. I use a timestamp to do that. The timestamp I create with a keyboard shortcut like .n, which provides a YYYYMMddHHmmss timestamp e.g. 20201125065923. Because it is a keyboard shortcut, I can make these links inline without issue, just like if it were a named note.

As I’m on Mac I use Alfred for the keyboard shortcuts, but TextExpander and Keyboard Maestro are fine too.

I generally avoid functionality in Obsidian that determines how I make notes, so I don’t use the ZK plugin e.g. And I wouldn’t want to ask for new features making assumptions about content, naming conventions etc. Which is why everything that is more about my system of taking notes than about Obsidian functionality I solve in my workflow and keyboard shortcuts. It also avoids functionality lock-in, turning Obsidian into just another walled garden with high cost of moving to another tool.

1 Like

I think using another solution for having shortcut could indeed be a solution for me. I’ll give it a shot to see if it interacts well with using Vim keybindings in the editor.

In my opinion, such an easy to replicate feature (as you demonstrate yourself) doesn’t have a considerable marginal addition to the cost of moving to another tool. In addition to that, Obsidian is by no means “strong defaults, minimal options” kind of software, consider the size of the settings panel. From that perspective, I think the request voiced here is a reasonable one.


If anyone else looks for a free solution for this problem, espanso seems to do the trick.

1 Like

I’d like to add support for this feature. I don’t follow the zettelkasten method, but I do use the zettelkasten feature to insert timestamp on my note name. I use some MOCs as timelines. Ideally, the process flow would be to edit the MOC, adding a new link for a new note name, then following that link to add the note. I cannot do this because I can’t create the zettelkasten date in that context. Instead, I have to create the note, then visit the MOC and find/insert the link. It’s the wrong kind of friction.

If you don’t want to install another program for making it work with a keyboard shortcut, a current Obsidian workaround is to create a template file (Obsidian templates core plugin needed) that only gives the timestamp.

I have a template file called Zettelkasten-ID that contains the following expression to return a date-time ID:

In the inline workflow I then just type the two brackets [[ followed by inserting the Zettelkasten-ID template and then can continue to add the actual title/filename of my newly referenced note.

Hope that helps.


I have ran into the same problem and solved it like the following:

  1. Install Templater plugin
  2. Set a Templater Folder template, so that any note in your Zettelkasten folder gets a template applied automatically
  3. Open the template file you have just specified - well, maybe you need to create the template before you can execute step 2, but displaying code blocks in numbered lists is awful.

Choose this template code:

if (tp.file.title == "Untitled")  {
	// Wenn die Datei gerade neu erzeugt wurde, hat sie noch keinen definierten Titel, er muss nachgefragt werden
	var noteTitle = await tp.system.prompt("Titel:")
} else {
	// Wenn die Datei aus einem Link erzeugt wurde, hat sie den Linknamen als Dateinamen
	var noteTitle = tp.file.title
fileName ="YYYYMMDDHHmm")+" "+noteTitle
await tp.file.rename(fileName)

Created: <% tp.file.creation_date() %>
# <% noteTitle %>



Created: <% tp.file.creation_date() %>

Ignore my comments in german, what really matters is the if-else-logic at the top and the usage of noteTitle.

When you create a new note, you do it basically in two ways:

  1. Press Ctrl+N (or “New Note”)
  2. Klick on a link which is currently not defined

In case 1: Obsidian creates a new note called “Untitled” in the folder, Templater recognizes the new file, and that it is currently called “Untitled”. It asks you for the desired title of the file.

In case 2: Obsidian creates a new note called like the link in the folder. Templater recognizes the new file.

In both cases, after the file has a well-defined name, templater gets the current date and time and prefixes the new file’s filename with a Zettelkasten ID generated from the date and time, and basically renames the note’s file on filesystem level.

Obsidian notices that the file is renamed and rewrites any links, most probably the inline link from which the file was created.

Only downside i haven’t managed yet is that the Zettelkasten ID is appearing in the originating link, is appearing in the graph view, and whatnot. But at least this is a very convenient way how to create a note with Zettelkasten ID inline.