https://github.com/HamburgChimps/apple-notes-liberator Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code + Explore + All features + Documentation + GitHub Skills + Blog * Solutions + For + Enterprise + Teams + Startups + Education + By Solution + CI/CD & Automation + DevOps + DevSecOps + Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles + Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} HamburgChimps / apple-notes-liberator Public * Notifications * Fork 0 * Star 171 Free your Apple Notes data from Notes.app License MIT license 171 stars 0 forks Star Notifications * Code * Issues 8 * Pull requests 0 * Actions * Projects 0 * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Security * Insights HamburgChimps/apple-notes-liberator This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 1 branch 1 tag Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/H] Use Git or checkout with SVN using the web URL. [gh repo clone Hambur] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @alexkolson alexkolson move uuid method ... 03881c7 Mar 26, 2023 move uuid method 03881c7 Git stats * 84 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .mvn/wrapper initial commit November 7, 2022 22:40 src/main move uuid method March 26, 2023 04:54 .dockerignore initial commit November 7, 2022 22:40 .gitignore get ready for v0.1.0 March 26, 2023 01:47 LICENSE fix formatting March 26, 2023 01:56 README.md remove redundant wording March 26, 2023 04:45 mvnw initial commit November 7, 2022 22:40 mvnw.cmd initial commit November 7, 2022 22:40 pom.xml get ready for v0.1.0 March 26, 2023 01:47 View code Apple Notes Liberator Credit where credit is due Motivations Usage Output format Embedded object data representation Table README.md Apple Notes Liberator 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 Description text The plain text extracted from the note embeddedObjects A list of the embedded note objects that were extracted from the note Each item in the embeddedObjects list will contain at minimun the following fields: Field Description Name The type of embedded object. Currently, only embedded tables type are extracted so this field will always contain the value TABLE. As support for extraction of more embedded object types is added, this field will indicate their type. data Embedded object data representation Embedded object data representation The structure of the data field will vary depending on the type of the embedded object. This section describes the structure of the data field for each type of embedded object. Table A two-dimensional array represending the rows and columns of the table. Each item in the outer array represents a row in the table, and each element of an inner array represents a column. For example, say you had the following table in your original Apple Note: Animal Cuteness Factor Giraffe 8 Dog 11 Cat 10 Then the data field would contain the following two-dimensional array: [ [ 'Animal', 'Cuteness Factor' ], [ 'Giraffe', '8' ], [ 'Dog', '11' ], [ 'Cat', '10' ] ] About Free your Apple Notes data from Notes.app Topics apple-notes picocli quarkus Resources Readme License MIT license Stars 171 stars Watchers 3 watching Forks 0 forks Releases 1 v0.1.0 Latest Mar 26, 2023 Packages 0 No packages published Languages * Java 100.0% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.