Kobo (ereader) Highlights importer

Use case or problem

In the Netherlands (and probably other parts in Europe), Kobo is one of the leading ereader manufacturers instead of Kindle. I enjoy reading books and using the highlight function on my Kobo, but there is no frictionless way of importing them into Obsidian. This is a major hurdle for me in using my Kobo again for books I know I want to take notes from.

Proposed solution

The highlights are stored in an .sqlite file on the internal Kobo memory. I don’t have any python or coding-experience, but several websites/tools exist that are able to read this file and show the highlights, for instance;

More examples can be found on GitHub (Search · kobo highlights · GitHub)

I would really love to see a feature within Obsidian that would access, read the .sqlite file and import new highlights when a Kobo is connected in a note.

Current workaround (optional)

I currently use this tool:

I upload my SQLite file manually, look for any new notes and export them all to individual .md files. Then copy and paste this in new Obsidian notes.

9 Likes

I’ve moved this to plugin ideas, if you don’t mind. I think it has a much higher chance of being implemented as a plugin.

(I also use Kobo)

1 Like

I just switched out my ancient Kindle with a Kobo Clara HD, and I’ve started looking into this. I’m still in the discovery phase, but I’ll keep this thread updated with my progress if I get something of the ground.

4 Likes

And as for me, several years ago, I used this Python tool to export my Kobo notes.

It worked well. And as far as I remember it just outputted a large well-formatted text file of everything. Which would then have to be parsed/separated. I have never finished parsing them.

(But it hasn’t been updated since 2018, so it might be out of date.)

It might be worth considering too, since it is Python, MIT-licensed, and can run locally on your machine, so it could be the basis of a script/tool that could be used with Obsidian directly. The other two options listed so far seem to be websites only?

1 Like

The work-around I mentioned is a website indeed but opensource code:

1 Like

The extraction of the data is pretty easy, as it is basically a relatively simple query to the sqlite database on the Kobo device. Making a good user experience, and packaging it up as a plugin, is another story and where the main challenge lies. :slight_smile:

1 Like

@rsletta Really appreciate you having a go at this!

1 Like

I just bought a Kobo and installed KOReader and I see that it support sending notes to joplin (because joplin offers API).
I’m a backend nodejs developer so creating a (partial) API compatible with joplin should be fairly easy, this way I can create a obsidian plugin to send highlights and notes from KOReader … is anyone interested or is something that can already be achieved in some way?

1 Like

At this point I’m even considering buying a kindle because I can’t integrate my Kobo notes properly with my PKM system. So yes, Im definitely interested!!

1 Like

Are you using koreader or the native reader on your kobo?

Native at the moment, had Koreader on it previously, but I think that got wiped off with an previous update and never bothered to install it again. But that would definitely change if I could export my notes with Koreader to Obsidian.

1 Like

I don’t use a Kobo, I just really like the KOReader on Android since it offers many features and makes any tablet a good ereading device. I’m experienced in Python and it would be fairly easy to write a Python exporter and parser like the one posted above… I just don’t know how to package that into a Obsidian plugin. No experience with Javascript… yet.

I’m working on a proof of concept and I’m having fun with the Obsidian API.

I was thinking to create a single obsidian note for each note taken in a book (instead of the kindle plugin that put all the notes in a note for the book).

Not sure if I’m able to made myself clear (English isn’t my first language and I have a strong headache right now).

The code itself is ugly as hell but it’s a working proof of concept GitHub - Edo78/obsidian-koreader-sync: Obsidian.md plugin to sync highlights/notes from koreader

Right now I still haven’t released it yet so if you want to test it you must follow the same instructions as if you want to develop a plugin.

I’m planning to refactor the code and made a first beta release in the weekend so if you aren’t eager to test it you can wait a few days.

1 Like

Oooo I’m very eager! But since I’m not that technical and its weekend by now, I guess I’ll wait a few days more :slight_smile:

I had some free time, so I was ahead of my schedule. As soon as they approve my [PR] (Add obsidian-koreader-sync to community plugins list by Edo78 · Pull Request #738 · obsidianmd/obsidian-releases · GitHub) my plugin can be installed like any other community plugin.

BTW, I only have Linux, so I can’t test it with other operating systems (I’m pretty sure it shouldn’t have any major problems on Mac but I have no idea how it might behave on Windows).

Anyway any feedback will be welcomed

2 Likes

Perfect! I would be able to test it on Mac and Windows this weekend.

I took a look at the GitHub ReadMe. Will the plug-in generate a note for each highlight/note made in Koreader or a new note for each book with all associated highlights?

1 Like

The plugin KOReader Sync is now available :sunglasses:

Right now it generate an obsidian note for each note in koreader so a single book can have multiple notes.

Do you prefer a single big note for each book?

1 Like

Thank you very much for this. I’ve tested it with my rather large KoReader library that I use Syncthing to sync between multiple devices. Just pointed the plugin at the Sync folder, and setup the destination for the notes. Worked just as needed, and now I can read on other devices, click one button, and know the things I’ve highlighted will be captured/noted in Obsidian for later combination with other notes.

I’m fine with separate files vs one big file, since I don’t think the management of updating notes in the file is going to ever be a “nice” experience, my idea is to just link these extracted notes from other actual notes with my thoughts (and combine multiple together if I need to).

1 Like