Kostya Struga155 downloadsTrack Readwise reading progress, highlights, heatmaps, and reading inbox notes.
Readwise Reading Tracker is an Obsidian plugin for tracking reading progress and managing your Readwise Reader library. It turns reading activity into an Obsidian-native dashboard with a heatmap, current and completed books, highlight navigation, Reader imports, tag management, and inbox notes created from highlights.
It also supports a Zettelkasten-style workflow: you can quickly review highlight notes, move promising fragments into your inbox, and keep the basic links back to the source book, highlight, and reading context.
![]()
book, source, date, and created.Readwise Reading Tracker in Obsidian community plugin settings.main.js
manifest.json
styles.css
versions.json
.obsidian/plugins/readwise-reading-tracker/
Readwise Reading Tracker.Readwise Reading Tracker is designed to work together with the official Readwise Obsidian plugin.
The official plugin exports the source book notes from Readwise/Reader into your vault. This plugin then reads those files, extracts highlight timelines, builds linked highlight notes, shows the reading heatmap, and lets you create inbox notes from individual highlights.
Install and enable:
Readwise OfficialReadwise Reading TrackerOpen the official Readwise plugin settings or the Readwise Obsidian export page.
Use these export settings:
Export All Reader Documents.Group Files in Category Folders.books -> Booksarticles -> Bookstweets -> Tweets, podcasts -> PodcastsUse Custom Formatting.Use this Page metadata template:
---
type: book
source: readwise
title: "{{full_title}}"
{% if author %}author: "{{author}}"{% endif %}
{% if category %}category: "{{category}}"{% endif %}
created: {{date}}
{% if url %}url: "{{url}}"{% endif %}
{% if document_tags %}tags:{% for tag in document_tags %} - {{tag}}{% endfor %}{% endif %}
---
{% if image_url %}{% endif %}
Use this Highlights header template:
{% if is_new_page %}
## Highlights
{% elif has_new_highlights -%}## New highlights added {{date|date('F j, Y')}} at {{time}}{% endif -%}
---
Use this Highlight template:
> {{ highlight_text }}
{% if highlight_note %}
>> {{ highlight_note }}{% endif %}
📅 *{{ highlight_date | date('Y-m-d, H:i') }}*
{% if highlight_tags %}🏷 {% for tag in highlight_tags %}[[{{tag}}]] {% endfor %}{% endif %}
{% if highlight_location and highlight_location_url %}🔗 [{{highlight_location}}]({{highlight_location_url}})
{% elif highlight_location %}📍 {{highlight_location}}{% endif %}
---
Optional: keep Full Document Text Link enabled if you want links to full Reader content. It is not required for the tracker.
In Obsidian, open Settings -> Readwise Reading Tracker.
Use the same folders as your official Readwise export:
Readwise books folder: Readwise/Books
Linked highlights folder: Readwise/Highlights
Inbox folder: Inbox/Readwise
The tracker reads official book notes from Readwise/Books. It writes linked per-highlight notes into Readwise/Highlights when you run the migration command.
Get your Readwise API token from:
https://readwise.io/access_token
Paste the token into Settings -> Readwise Reading Tracker, then run Test Readwise Token.
Run the command:
Readwise Reading Tracker: Sync All (Official + Tracker)
For large Reader libraries, regular sync uses an incremental update after the initial import.
Run Readwise Reading Tracker: Sync Full Readwise History when you want to import the complete
library. Full-history sync is rate-limited and preserves existing reading activity.
This command:
After sync, open:
Readwise Reading Tracker: Open Progress Dashboard
Readwise Reading Tracker: Open Readwise Book Highlights
If the official Readwise plugin is not installed, you can still run Sync Readwise Data, but linked highlight notes require official exported markdown files or a compatible Readwise export.
Readwise Reading Tracker stores your Readwise token locally in Obsidian plugin data. The plugin calls the Readwise API directly from Obsidian and does not send your token, notes, highlights, or reading data to any server controlled by the plugin author.
The plugin may read markdown files from the configured Readwise folders in your vault to infer highlight dates and build reading timelines. It only writes notes when you run commands that explicitly create or migrate notes.
Readwise token is not set: add your token in plugin settings.https://readwise.io/access_token and try again.Debug Logging in plugin settings.npm install
npm test
npm run build
npm run release
The local release bundle is written to:
release/readwise-reading-tracker/
For BRAT and Obsidian releases, publish a GitHub release whose tag exactly matches the version in manifest.json, for example 1.0.0.
MIT