Despite my frequent warnings, a lot of nvALT (and Notational Velocity) users keep their notes in a database instead of individual files. And people are finding themselves unable to launch nvALT, meaning that database with all their notes is inaccessible. So I made a tool to rescue it.
If you ever lived in nvALT or Notational Velocity, your notes might lived in one opaque blob: the Notes & Settings file. It is a keyed archive full of rich text, labels, and encryption options — not exactly something you can port to another app (like nvUltra).
I built nvalt-export to pull those notes out as plain Markdown files. One .md per note, labels preserved, RTF and rich text converted along the way. There is a small GUI app if you do not want to live in Terminal, and a CLI if you do.
Why bother?
nvALT was great until it wasn’t. Maybe you still have the database sitting in ~/Library/Application Support/Notational Data. Maybe you exported to a folder of .rtf files years ago and forgot. Either way, you want:
- Readable files you can open anywhere
- A path off macOS-only formats without retyping everything
- Support for encrypted databases (with the password you hopefully still remember)
nvalt-export handles the single-database format, folder-based storage (.txt, .rtf, .rtfd, .html), and skips the formats that never made sense to convert (legacy .blor, Word docs).
Download the app
The easiest way to get started is the notarized DMG on GitHub:
Download NVALT Export (latest release)
Open the app, point it at your notes folder or the Notes & Settings file directly, pick an output folder, enter a password if you encrypted the database, and hit Export to Markdown. When it finishes, Reveal in Finder takes you straight to the results.
Requires macOS 13 or later.
Prefer the command line?
Install or build from the project repo, then:
nvalt-export -o ~/exported-notes
That defaults to the classic Notational Data location. Some useful variations:
# Specific notes folder
nvalt-export -o ~/exports -p 'my secret' ~/Notes/nvALT
# Point at the database file itself
nvalt-export -o ~/Desktop/nvalt-md ~/Library/Application\ Support/Notational\ Data/Notes\ \&\ Settings
# RTF files only (no database)
nvalt-export -o ~/rtf-notes ~/Documents/PlainTextNotes
Each note becomes its own .md file.
What happens under the hood
For the big Notes & Settings archive, the tool unarchives FrozenNotation, decrypts and decompresses if needed, then walks the NoteObject list. Note bodies go from NSAttributedString to HTML to Markdown using the same HTMLToMarkdownConverter pipeline I use in Marked. RTF files on disk get the same RTF → HTML → Markdown treatment, with textutil as a fallback when AppKit needs a nudge.
Decryption borrows from the nvALT lineage (thanks to Zachary Schneirov’s original work). It is macOS-only because keyed archives and AppKit types do not travel well, but that’s where your notes are anyway.
Honest limitations
- Legacy
.blor databases are not supported. Import into nvALT first, then export.
.doc / .docx storage in the database is skipped.
- macOS only. This is a rescue tool for data that never left the platform.
Go rescue something
If you have a dusty nvALT library or a Notes & Settings file backed up on a drive, grab the latest release and point it at your notes. The README on GitHub has build instructions if you want to compile the CLI yourself.
Your future self will thank you the first time you can grep a decade of quick captures without opening a dead app, and for those eventually making the switch to nvUltra, this will be the path to port all your notes. I’d love for people to help test, even if nvALT is still working for you, so I can be sure this solution works for everyone.