[GH-ISSUE #922] Import from Readwise and Kindle Highlights (text file) #608

Open
opened 2026-03-02 11:51:17 +03:00 by kerem · 4 comments
Owner

Originally created by @dhruvbhutani on GitHub (Jan 21, 2025).
Original GitHub issue: https://github.com/karakeep-app/karakeep/issues/922

Describe the feature you'd like

Readwise has been an excellent solution to store information from around the internet, and more importantly as a home for Kindle highlights. Would love to be able import a Readwise export and/or Kindle highlights straight to Hoarder as a catchall space.

Describe the benefits this would bring to existing Hoarder users

Hoarder is an incredible catchall for data/information/important information from around the internet -- including notes. It only makes sense to support ebooks that are a key aspect of information gathering and hoarding.

Can the goal of this request already be achieved via other means?

Not that I'm aware of.

Have you searched for an existing open/closed issue?

  • I have searched for existing issues and none cover my fundamental request

Additional context

No response

Originally created by @dhruvbhutani on GitHub (Jan 21, 2025). Original GitHub issue: https://github.com/karakeep-app/karakeep/issues/922 ### Describe the feature you'd like Readwise has been an excellent solution to store information from around the internet, and more importantly as a home for Kindle highlights. Would love to be able import a Readwise export and/or Kindle highlights straight to Hoarder as a catchall space. ### Describe the benefits this would bring to existing Hoarder users Hoarder is an incredible catchall for data/information/important information from around the internet -- including notes. It only makes sense to support ebooks that are a key aspect of information gathering and hoarding. ### Can the goal of this request already be achieved via other means? Not that I'm aware of. ### Have you searched for an existing open/closed issue? - [x] I have searched for existing issues and none cover my fundamental request ### Additional context _No response_
Author
Owner

@MohamedBassem commented on GitHub (Feb 1, 2025):

While we can import the highlights themselves as text and link them to the bookmarks. It'll be extremely hard to actually link them to the text of the articles themselves.

The last release 0.21, exposed the highlights in the API. So it shouldn't be hard to write a quick script that syncs them with hoarder.

<!-- gh-comment-id:2628978108 --> @MohamedBassem commented on GitHub (Feb 1, 2025): While we can import the highlights themselves as text and link them to the bookmarks. It'll be extremely hard to actually link them to the text of the articles themselves. The last release `0.21`, exposed the highlights in the API. So it shouldn't be hard to write a quick script that syncs them with hoarder.
Author
Owner

@dhruvbhutani commented on GitHub (Feb 1, 2025):

I think if we can parse book titles as titles, and the highlight as body,
and add a custom tag that would be enough.

On Sat, Feb 1, 2025, 20:09 Mohamed Bassem @.***> wrote:

While we can import the highlights themselves as text and link them to the
bookmarks. It'll be extremely hard to actually link them to the text of the
articles themselves.

The last release 0.21, exposed the highlights in the API. So it shouldn't
be hard to write a quick script that syncs them with hoarder.


Reply to this email directly, view it on GitHub
https://github.com/hoarder-app/hoarder/issues/922#issuecomment-2628978108,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHDF755UVIGMF23FDPXEXT2NTMANAVCNFSM6AAAAABVSWTXC2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMRYHE3TQMJQHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

<!-- gh-comment-id:2628995808 --> @dhruvbhutani commented on GitHub (Feb 1, 2025): I think if we can parse book titles as titles, and the highlight as body, and add a custom tag that would be enough. On Sat, Feb 1, 2025, 20:09 Mohamed Bassem ***@***.***> wrote: > While we can import the highlights themselves as text and link them to the > bookmarks. It'll be extremely hard to actually link them to the text of the > articles themselves. > > The last release 0.21, exposed the highlights in the API. So it shouldn't > be hard to write a quick script that syncs them with hoarder. > > — > Reply to this email directly, view it on GitHub > <https://github.com/hoarder-app/hoarder/issues/922#issuecomment-2628978108>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AAHDF755UVIGMF23FDPXEXT2NTMANAVCNFSM6AAAAABVSWTXC2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMRYHE3TQMJQHA> > . > You are receiving this because you authored the thread.Message ID: > ***@***.***> >
Author
Owner

@Sumalyo commented on GitHub (Jun 2, 2025):

I have been looking into this. Vibe coded something yesterday
Uploading a python script with the basic logic for this (rename file to .py open the file and set the parameters accordingly)
kindle_karakeep_importer.txt
Someone can work with this and create a JS extension to add to the import/export section. @dhruvbhutani hope you get some help from this.
All kindle books are tagged with author names and a custom tag "kindle-book"
You can do some prompt engineering also and get some customized AI tags for the excerpts.
Rememeber that MyClippings.txt only appends new highlights so things might be messy if you remove highlights and everytime you sync please only sync the newer parts of the file (remove the old highlights)
There are a lot of ways to do this better, I just posted this as somewhere to get started on.

Image This is how it looks after Sync Image
<!-- gh-comment-id:2928933041 --> @Sumalyo commented on GitHub (Jun 2, 2025): I have been looking into this. Vibe coded something yesterday Uploading a python script with the basic logic for this (rename file to .py open the file and set the parameters accordingly) [kindle_karakeep_importer.txt](https://github.com/user-attachments/files/20545675/kindle_karakeep_importer.txt) Someone can work with this and create a JS extension to add to the import/export section. @dhruvbhutani hope you get some help from this. All kindle books are tagged with author names and a custom tag "kindle-book" You can do some prompt engineering also and get some customized AI tags for the excerpts. Rememeber that MyClippings.txt only appends new highlights so things might be messy if you remove highlights and everytime you sync please only sync the newer parts of the file (remove the old highlights) There are a lot of ways to do this better, I just posted this as somewhere to get started on. <img width="1470" alt="Image" src="https://github.com/user-attachments/assets/07053576-33d7-4342-8b5d-2627af76da12" /> This is how it looks after Sync <img width="1566" alt="Image" src="https://github.com/user-attachments/assets/a3661405-026b-4b15-9189-47906289ca49" />
Author
Owner

@thiswillbeyourgithub commented on GitHub (Jun 2, 2025):

Hi,

It is with great pleasure that I can plug my own script as a starting point for this.

I made omnivore2karakeep-highlights to turn the omnivore highlights into karakeep highlights.

To quote @MohamedBassem :

It'll be extremely hard to actually link them to the text of the articles themselves.

The format for omnivore highlights in the exporter is just a markdown file with the highlights in a quote, and no metadata whatsoever (which was not nice from the developer if you ask me :/)

That's indeed why I had to make string_context_matcher.py for this. I made it intentionally to be easy to import into other projects so I believe you can quite easily make your import kindle importer.

Don't hesitate to make a PR for me to include it in the community-scripts

<!-- gh-comment-id:2929413647 --> @thiswillbeyourgithub commented on GitHub (Jun 2, 2025): Hi, It is with great pleasure that I can plug my own script as a starting point for this. I made [omnivore2karakeep-highlights](https://github.com/thiswillbeyourgithub/karakeep_python_api/tree/main/community_scripts/omnivore2karakeep-highlights) to turn the omnivore highlights into karakeep highlights. To quote @MohamedBassem : > It'll be extremely hard to actually link them to the text of the articles themselves. The format for omnivore highlights in the exporter is just a markdown file with the highlights in a quote, and no metadata whatsoever (which was not nice from the developer if you ask me :/) That's indeed why I had to make [string_context_matcher.py](https://github.com/thiswillbeyourgithub/karakeep_python_api/blob/main/community_scripts/omnivore2karakeep-highlights/string_context_matcher.py) for this. I made it intentionally to be easy to import into other projects so I believe you can quite easily make your import kindle importer. Don't hesitate to make a PR for me to include it in the [community-scripts](https://github.com/thiswillbeyourgithub/karakeep_python_api/tree/main/community_scripts)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/karakeep#608
No description provided.