Mass Create Note files from a list

Obsidian is fast in it’s navigation, and that makes to uses for referencing quickly. What is slow about obsidian is trying to build the repository, which is basically one line, note, tag at a time.

As a user, I’d like to be able to paste 1000 items, one per row, highlight the entire 1000 rows, click a hotkey to create a note file for each row, that is 1000 new files. I’d also be accepting if when creating the creation failed when illegal note characters were encountered, e.g. ></, etc. This allows me to ingest information quickly for reference within Obsidian.

Does anyone know a Community plugin, or how to do that in Obsidian?

1 Like

You could use the Regex Find/Replace or Apply Patterns community plugin (or an external app) to convert each line to a link by adding double brackets to the start and end. You’ll still have to click each link to create the note, but you have to navigate to them somehow anyway so that shouldn’t be a problem.


Makes sense. This may be of interest: Import From Google Sheet: New Note for Each Row - #2 by koala

Edit: the above link was to the wrong thread. It is still interesting so I will leave it. I am trying to find the post about how to do this with the Command Prompt. Perhaps it wasn’t on this forum. Regardless, it is pretty simple to do, but I don’t want to provide bad information until I have tested it. Will check back later.

Good luck!

Might I ask why you want to have a thousand files with no more information than that contained in the file name? Would it be just as easy to use a list, and extract information from that list?

And if some of these needed a little extra information, then add them as subitems? I’m having a hard time visualising what’s the purpose/need for this many empty files.

Where do you get these thousands lines from? Can you use that to also actually genrate your files?

With that being said one option related to creating the files is to use Templater. Split the lines, and create a file for each line using tp.file.create_new(). This would also allow for adding some content to the file, and/ it create a list of links to the files. All in one swift operation. (That is as swift as creating a thousand files will be…)