I’ve been working with a former nvALT user who stored all of their files in RTF format. Ideally, people switching from nvALT to another app — be it nvUltra, Obsidian, or anything Markdown-based — would already be storing their notes as individual text files. If nvALT is still working for you, make that change now and give it a chance to write all the new files to disk. However, if the conversion isn’t what you hoped for, or nvALT is no longer working on your machine and you’re stuck with a bunch of RTF files, I’ve pulled together a solution.
Thanks for the assist
A big thanks to those on the forum and some help from Mastodon, especially @atnbueno and @jackwellborn, for helping me get a grasp on some more advanced Shortcuts implementations. The following solution should work with zero extra dependencies, i.e. you don’t have to install Pandoc or anything like that.
To use the Shortcut, just download below, double click to unzip, and then double click the resulting
.shortcut file to add it to the Shortcuts app. Then just run it from the main screen (click the Play icon). It will first ask you for a source folder, at which point you’ll select the folder containing all of the RTF files. You may be presented with some permissions dialogs as it parses and converts the files, mostly around allowing access to web domains. Don’t worry, the Shortcut isn’t actually accessing those domains or sending any information to them. Once the conversion has run, you’ll get another file dialog at which point you’ll create or select an output folder for the Markdown files.
I’ve tested this on a collection of about 500 notes and it works pretty well. There are some things that don’t convert quite right, especially when lists are created in RTF using individual bullet markers. Those aren’t recognized as lists and will not be converted to Markdown lists. They still look correct in the output, though.
nvALT RTF to Markdown Shortcut v1.0.0
Give it a shot. If you’re a Shortcuts pro and have suggestions for improving it, let me know. If you’re new to this stuff (like I am) and run into problems, leave a comment or join the forum and let me know. We’ll figure it out together.