This is a basic script that will import from Apple Notes directly into Notion. Note that data extraction from Apple Notes is very limited. See Limitations below.
When working with your data, always make a backup and/or perform testing in a safe area to ensure that your valuable data is protected!
The script requires python3
and poetry
. The easiest way to install on macOS is using
Homebrew:
brew install python3 poetry
This application uses poetry
to manage dependencies. This protects your local
environment and makes running the application more reliable.
To initialize the environment, simply run:
poetry install
At any time, you may re-run this command to get the latest supported version of all dependencies.
You will need to edit the default configuration file. Specifically, you need to set
up an integration for your Notion workspace and set the auth_token
property. In
addtion, you will need to provide the ID or URL of the top-level archive page where
notes will be imported. This page must be shared with your integration token.
For more information on setting up the workspace integration, visit the official Authorization Guide.
There are several other configuration options that control how the script handles note content. Check the configuration document in the script for more details.
Run the script, as shown:
poetry run python main.py notes2notion.yaml
You will see the script print the name of each note as it is processed.
Apple Notes only exports a limited set of the formatting from the original note.
- Many colors, font sizes, font styles, etc are not preserved.
- Underline is not preserved due to a limitation in Markdown.
- Hyperlinks are not preserved during Apple Notes export.
See Issues to review current bugs or report new issues.