A program to copy all your Kindle highlights and notes to a page in Notion.
Explore the docs
·
File issues and feature requests here
If you found this script helpful or appreciate my work, you can support me here:
A Python script to export all the clippings from your Kindle device to a page in Notion. Run this script whenever you plug in your Kindle device to your PC. The underlying idea behind this code is to marry the solitary reading experience of a Kindle with the note-taking capabilities of a cloud-based service like Notion.
A key inspiration behind this project was the notes saving feature on Google Play Books, which automatically syncs all your highlights from a book hosted on the service to a Google Doc in real time. I wanted a similar feature for my Kindle and this project is one step towards a solution for this problem.
Intended for
- Avid readers who would want to browse through their prior reads and highlights anytime anywhere.
- For those who take notes alongside their highlights.
To get a local copy up and running follow these simple steps.
- A Kindle device.
- A Notion account to store your links.
- Python 3 on your system to run the code.
- Install the library.
pip install kindle2notion
- Export your Kindle highlights and notes to Notion!
- On MacOS and UNIX,
kindle2notion <your_notion_token> <your_notion_table_id> <your_kindle_clippings_file>
- On Windows
python -m kindle2notion <your_notion_token> <your_notion_table_id> <your_kindle_clippings_file>
-
Plug in your Kindle device to your PC.
-
Duplicate this database template to your Notion workspace.
-
Find your Notion token. Since this code requires access of non-public pages, an authentication token from your Notion page is required. This token is stored in the
token_v2
cookie. This can be found in the Storage tab of your browser's developer tools.- For Chrome: Open Developer Tools (Menu > Other tools > Developer Tools), navigate to Application tab and go to Storage\Cookies to find the token listed next to tokenv2_.
-
Find your Notion table ID: it's simply the URL of the database you have copied to your workspace.
-
You may modify some default parameters of the command-line with the following options of the CLI:
--enable_highlight_date
Set to False if you don't want to see the "Date Added" information in Notion.--enable_book_cover
Set to False if you don't want to store the book cover in Notion.
-
Export your Kindle highlights and notes to Notion!
- On MacOS and UNIX,
kindle2notion <your_notion_token> <your_notion_table_id> <your_kindle_clippings_file>
- On Windows
python -m kindle2notion <your_notion_token> <your_notion_table_id> <your_kindle_clippings_file>
You may also avail help with the following command:
kindle2notion --help
python -m kindle2notion --help
[Note: This code has been tested on a 4th Gen Kindle Paperwhite on both MacOS and Windows.]
See the open issues for a list of proposed features (and known issues).
Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.