Free your Apple Notes data from Notes.app. Currently only extracts Note text and tables, but support for extracting more types of data is planned.
Note: This project is in early development. Bugs are sure to be lurking. Please open an issue or a pull request should you encounter one! Also feel free to do the same if you would like to request a feature.
Credit where credit is due
This project would absolutely not be possible without the incredibly difficult and amazing work by threeplanetssoftware. Their code, their protobuf definitions, and their their blog posts regarding Apple Notes, were invaluable. There’s no way I would have been able to figure out any of the Apple Notes structure without it. Furthermore, their tool supports much more than mine! So if you want a more feature-rich Notes extractor, use theirs.
Motivations
- To “scratch my own itch” of getting data out of Apple Notes so I can use and edit it other places
- Learn more about Quarkus
Usage
This is a java command line application, and therefore you will need to have Java installed on your system such that you can run java -version
from your terminal of choice.
Afer ensuring you have a JRE on your system, download a release jar from the releases page. Execute the program by running java -jar apple-notes-liberator.jar
.
This application will attempt to locate the notes database on your computer, copy it, and parse what it can. If the application cannot locate your notes database, it will print an error to the terminal and exit. In that case, you can specify the -f
or --file
option, passing the path to the notes database you want the application to extract data from.
If the program exits with no output to the terminal, then everything should have gone well and you should have a notes.json
file in the same directory from which you executed the program.
This applicaiton does NOT perform any sort of read or modification operation on your actual notes database, rather it makes a copy of it and reads from its copy.
Output format
Currently, the only supported output format is json, though support for html and csv is planned.
The notes.json
file will contain an array of objects, where each object represents an Apple Note.
Each object will have a text
and embeddedObjects
property. The text
property will contain the extracted plain text from the note, and the embedddObjects
property will contain a list of the embedded note objects that were extracted.
Each object in the the array represents an extracted Apple Note and will contain the following fields:
Field Name | Descriptio |
---|