Readwise Mirror

by jsonmartin
5
4
3
2
1
Score: 63/100

Description

Category: 3rd Party Integrations

The Readwise Mirror plugin allows users to sync their entire Readwise library into Obsidian, automatically downloading highlights and notes, and ensuring they are always up to date. The plugin enhances Markdown formatting by automatically creating links for book titles and authors, along with block-level link references for highlights. It provides a one-way sync, ensuring Readwise is the source of truth for all highlights, and supports custom folder setups for organizing content. Features include full library downloads, templating options, and the ability to sync highlights with notes. It is ideal for users who want to mirror their Readwise library in Obsidian while preserving the organization and structure of their highlights.

Reviews

No reviews yet.

Stats

68
stars
15,110
downloads
2
forks
1,813
days
62
days
139
days
37
total PRs
1
open PRs
9
closed PRs
27
merged PRs
51
total issues
10
open issues
41
closed issues
86
commits

Latest Version

5 months ago

Changelog

2.3.1 (2025-12-21)

Bug Fixes

  • ✨ implement mutex for single note updates (a250f67)

README file from

Github

Readwise Mirror Plugin

[!WARNING]
Readwise Mirror 2.x is a major rewrite of the plugin which will break internal links if you update right away. This is due to changes how the filenames for notes created by this plugin are generated and handled. The documentation contains a step-by-step guide how you can prepare an existing Readwise library for an upgrade to 2.x.x by adding the uri tracking property to the frontmatter of your notes before upgrading. This will ensure links to notes synced from your Readwise library can be updated by Obsidian after the upgrade. You can find the guide in this section.

Readwise Mirror is an unoffical open source plugin for the powerful note-taking and knowledge-base application Obsidian. This plugin allows a user to "mirror" their entire Readwise library by automatically downloading all highlights/notes and syncing changes directly into an Obsidian vault.

Its advanced features allow you to keep internal links to your Readwise notes intact across syncs, protect or update frontmatter properties in your notes, and define custom filenames based on each Readwise item's properties.

example.gif

The format of the output is similar to the Markdown export available directly from Readwise (which groups all highlights together in one file per book/article/etc), except that it is integrated directly into Obsidian and provides beneficial Obsidian formatting enhancements, such as automatically creating [[Links]] for Book Titles and Author Names (supports multiple authors) and block level link references (using highlight ID), as well as custom filenames and advanced frontmatter management.

The first time this plugin is ran, it will do a full sync, downloading all content from Readwise. Every subsequent sync will only check for sources with new changes made after the last sync attempt; if any are found, it will automatically regenerate the note with the most current data.

Commands

  • Sync new highlights: Download all new highlights since previous update

  • Test Readwise API key: Ensure the Access Token works

  • Delete Readwise library: Remove the Readwise library file folder from the Obsidian vault

  • Download entire Readwise library (force): Forces a full download of all content from Readwise

  • Adjust Filenames to current settings: Clean up filenames of existing notes in your Readwise library folder based on current filename settings (whitespace removal and slugify only for the time being)

  • Update all readwise note frontmatter: Scan all notes in your Readwise library folder and update their frontmatter according to your current frontmatter template and protection settings, without changing note content or filename. Useful after changing your frontmatter template or protection settings. Available only if file tracking and frontmatter are enabled.

  • Update current note: Update the currently opened Readwise note using its tracking property. Available only for notes in the Readwise Library folder when file tracking is enabled. Pro tip: Use this to quickly test template or filename changes before rebuilding your entire Readwise library.

Settings

The plugin can be configured via numerous settings and has different, advanced features that will allow for better integration of your Readwise highlights into your Obsidian vault. Please make sure you read the documentation pages in the Wiki:

General Settings

General settings of the plugin:

  • Debug mode: Will generate lots of debug messages, usually not needed.
  • Authentication: The plugin provides OAuth-based authentication with Readwise. After installing, visit the plugin settings and use the "Authenticate with Readwise" button to set up the connection.
  • Library folder name: Specify the folder where the Readwise library will be stored (defaults to Readwise).
  • Filter by tags: Filter Readwise items by tag.
  • Auto sync on startup: Automatically sync new highlights when Obsidian starts.
  • Sync log: Enable writing sync results to a file.
  • Log filename: Specify the name of the log file (defaults to Sync.md).

File tracking and naming

Settings related to tracking notes across syncs, renames, and settings related to the way it generates the filenames used during sync:

  • File tracking: Track the notes created from your readwise items using their unique readwise URL. This allows the plugin to maintain consistency across syncs, including for cases where the metadata of a Readwise item is changed in Readwise itself.1
  • Filenames: Define settings related to how the plugin generates filenames of the notes it creates.
    • Custom filename template: Define filenames using variables like {{title}}, {{author}}, {{book_id}} and others.
    • Colon replacement: Specify a character to replace colons in filenames.
  • Slugify filenames: Convert filenames into a URL-friendly format by replacing spaces and special characters.

Template Settings

The plugin supports three types of templates for formatting content which can be defined individually.

  • Frontmatter Template: Defines the template for frontmatter (also called "properties") and how frontmatter is updated and protected across syncs.
  • Header Template: Defines the structure and metadata display of the header of the documents.
  • Highlight Template: Defines the format of the individual highlights and the way highlights with and without notes are synced into your Obsidian library.

Usage

After installing, visit the plugin configuration page (General) to authenticate with Readwise, and adjust the settings as you see fit.

Then run any of the commands or click the Readwise toolbar to sync for the first time.

[!IMPORTANT] It is highly recommended that you enable at least File tracking. This will ensure future configuration changes, including to the file name template, colon replacement character, or metadata changes made on Readwise (title, author) will not create duplicates in your Obsidian library.

How does this work?

TL;DR

  • Download obsidian-readwise to import new highlights to your library with full control over the ability to modify and format your notes
  • Download this plugin if you want to mirror your entire Readwise Library into Obsidian and sync modifications to previous highlights

One-way mirror sync vs append-based sync

Any changes made to content in Readwise will be automatically updated during the next sync. It's important to note that this is a read only/one way sync, meaning that any new highlights detected from Readwise will cause the note file to automatically regenerate with the new content. This was a deliberate design decision to ensure that Readwise is the ultimate source of truth for data; any changes to currently existing highlights in Readwise are always reflected rather than getting out of sync. The notable exception is frontmatter ("Properties") which can be protected if you allow the plugin to track notes with their unique Readwise URL. See below for other options. While another possible solution is to append new highlights to existing content notes instead, it is not feasible to modify existing highlights; this is how Readwise's integration with other services such as Notion & Roam work:

If I edit or format an existing highlight in Readwise, or make a new note or tag to an existing highlight, will that change be updated in Notion? Not at the moment. Any edits, formatting, notes, or tags you had in Readwise before your first sync with Notion will appear in Notion, but new updates to existing highlights will not be reflected in already synced highlights.

The obsidian-readwise plugin for append-based syncing

In addition to this plugin, there is also another Readwise community plugin for Obsidian named obsidian-readwise, which can be found at: https://github.com/renehernandez/obsidian-readwise. Both plugins exist for different use cases, so please read below to determine which best suits your needs.

Which one to use?

Because of the way the mirror sync works in this plugin, users lose the ability to modify their notes as the plugin is responsible for managing all note files in the Readwise library. If a user needs full control over their library or the ability to modify notes and highlights directly in Obsidian, obsidian-readwise would be the better choice.

Performance

If the update is so large that a Readwise API limit is reached, this plugin has a rate limiting throttling solution in place to continue automatically continue downloading the entire library as soon as the limit expires.

As a reference for performance, syncing my library of 5,067 Highlights across 92 books and 9 articles took approximately 20 seconds.

Manual Installation

Please consult Installation & Setup for instructions on how to manually install the plugin.

Advanced features

The plugin uses three template types (Nunjucks) with defined variables per template. It provides filters for Readwise-specific features (e.g., Q&A, multiple authors), controls for filename generation, tracking for title changes, and options to sync or protect selected properties. See the Templating, Frontmatter Management, and File Tracking & Naming guides.

You also might want to check out some of the advanced Recipes to make the best use of the plugin.

Special Considerations

Remote Duplicates

Readwise can contain multiple items sharing the same title but with different IDs. The plugin handles these cases by:

  1. Using the plain filename (e.g. My Duplicate Book.md) for the first encountered item
  2. Adding a short hash of the Readwise ID to subsequent files (e.g. My Duplicate Book <HASH>.md)

Upgrading from 1.x.x to 2.x.x

[!WARNING] If you update to 2.x.x without following these steps, you will likely end up with duplicate notes for the same Readwise item or, if you delete the whole Readwise folder in your Obsidian vault first, will likely lose any existing internal links to notes created by the plugin.

If you plan to upgrade the plugin from v1.x.x to v2.x.x, and want to make sure any internal links in your Obsidian vault to notes created by the plugin remain intact, then you should ensure all your notes have the file tracking property in their frontmatter before the upgrade.

  1. Make sure you have a backup of your Obsidian vault (or at least your Readwise mirror folder with the notes created by this plugin).

  2. In the plugin settings in v1.x.x, add the uri tracking property (or whatever property key you plan to use for file tracking) to the Frontmatter template. You can replace (recommended) the frontmatter template with the following, and enable Frontmatter2:

    ---
    uri: {{ highlights_url }}
    ---
    
  3. Run a full sync to establish proper tracking properties (this will overwrite your local changes based on the current settings for the colon, but it will preserve the filenames of your existing files according to the way v1.4.11 of the plugin creates these. In consequence, all internal links will remain valid).

  4. Upgrade the plugin to 2.x.x and enable file tracking (this will ensure the tracking property will always be added to newly created or updated notes).

  5. Rebuild the frontmatter templates and adjust the filename settings to your liking (you can also reset the templates to their default: simply delete the whole template value).

  6. Run a full sync to rebuild all the notes according to the new settings and enjoy the new features of Readwise mirror 2.x.x.

Your subsequent syncs will then use the uri property to track unique files and ensure links to items in your Readwise library will be updated, even if the note filenames change with the new version of the plugin.

[!TIP] If you are unsure what the plugin will do to your Obsidian Obsidian vault after the upgrade, we would recommend that you create a copy of the Obsidian vault and run a test upgrade according to the steps described above.

Footnotes

  1. There are different cases where this can happen. For example, you can manually change Metadata of Reader and Readwise items. Without tracking, this would create a new file during the next sync. With tracking, we can rename the file based on the new metadata, and also based on whatever you chose as custom filename template.

  2. You might want to ensure that properties like author are omitted from the template as these have a tendency to break frontmatter. Alternatively, you can run a plugin like "Linter" to check and fix all your Readwise notes before upgrading, or you simply remove all properties except uri from your template and rebuild it after a successful upgrade.

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Tressel Sync for Obsidian
4 years ago by Tressel
Official Tressel plugin to export various content from the Internet (like Twitter, Reddit, Kindle and more) into Obsidian
KOReader Sync
4 years ago by Federico "Edo" Granata
Obsidian.md plugin to sync highlights/notes from koreader
Pinboard Sync
4 years ago by Mathew Spolin
Obsidian plugin to sync Pinboard.in links to Daily Notes
Vim Multibyte Char Search
4 years ago by anselmwang
Search multibyte characters by the corresponding input method encoding. For example, for Chinese, search "用来" by "yl"
Weread Plugin
4 years ago by hank zhao
Obsidian Weread Plugin is a plugin to sync Weread(微信读书) hightlights and annotations into your Obsidian Vault.
Douban
4 years ago by Wanxp
an obsidian plugin that can pull data from douban to your markdown file
Readavocado Sync
4 years ago by Cyrus Zhang
Readavocado obsidian plugin to sync your favorite highlights.
Vika Sync
4 years ago by romantic-black
Awesome Flashcard
4 years ago by AwesomeDog
Handy Anki integration for Obsidian.
SamePage
3 years ago by SamePage
Sync Graph Settings
3 years ago by Xallt
This is a plugin for syncing graph settings (Color Groups and Search Filters) to Local Graphs
Awesome Reader
3 years ago by AwesomeDog
Make Obsidian a proper Reader.
WuCai highlights Official
3 years ago by 希果壳五彩
WuCai highlights Official, for Sync highlights into your obsidian notes
Askify Sync
3 years ago by Kishlay Raj
Invio
3 years ago by frontend-engineering
Publish obsidian docs online
Syncthing Integration
3 years ago by LBF38
Obsidian plugin for Syncthing integration
TickTick
3 years ago by Viduy Cheung
Share to NotionNext
3 years ago by EasyChris, jxpeng98
Share obsidian markdown file to any Notion database and generate notion share link 同步obsdian文件到任意Notion数据库。
AnkiSync+
3 years ago by RochaG0
Notes Sync Share
3 years ago by Alt-er
Sync and share (publish) your notes in your own private service.
TickTickSync
2 years ago by thesamim
Peerdraft
2 years ago by Peerdraft
Collaboration for Obsidian – Sync, Share, and Edit anywhere
Instapaper
2 years ago by Instapaper
Official Instapaper plugin for Obsidian
Settings profiles
2 years ago by 4Source
This is a plugin for Obsidian (https://obsidian.md). Allows you to create various global settings profiles. You can sync them between different vaults. To keep all your settings in sync, you'll never have to manually adjust them again for every vault you have or create in the future.
GitHub Sync
2 years ago by Kevin Chin
Sync Obsidian vault to personal GitHub
BookFusion
2 years ago by BookFusion
BookFusion Obsidian Plugin
Confluence Sync
2 years ago by Prateek Grover
Obsidian plugin for obsidian confluence sync
Cicada Synchronizer
2 years ago by Adapole, Adapole, Mahyar Mirrashed
Sync config folder to common folder
2 years ago by codeonquer
Voicenotes Sync
2 years ago by Andrew Lombardi
Official Obsidian plugin that syncs your notes from VoiceNotes.com into your vault
Memos Sync
2 years ago by RyoJerryYu
Syncing Memos to Obsidian daily note. Fully compatible with official Daily Notes plugin, Calendar plugin and Periodic Notes plugin.
DocBase (Unofficial)
2 years ago by yurikuvanov
Unofficial DocBase plugin for Obsidian
Vikunja Sync
2 years ago by Peter Heiss
Manage your tasks in vikunja.
AnySocket Sync
2 years ago by Andrei Vaduva
Securely Synchronize your Vault on a self-hosted server
Todoist Sync
6 years ago by jamiebrynes7
Materialize Todoist tasks in Obsidian notes
Filename Heading Sync
5 years ago by dvcrn
Obisdian.md plugin to keep the filename and the first header of the file in sync
Readwise Community
5 years ago by renehernandez
Sync Readwise highlights into your obsidian vault
Taskbone
5 years ago by Dominik Schlund
Obsidian OCR plugin - extract text from images
Readwise Official
5 years ago by Readwise
Official Readwise plugin for Obsidian
Remotely Save
4 years ago by fyears
Sync notes between local and cloud with smart conflict: S3 (Amazon S3/Cloudflare R2/Backblaze B2/...), Dropbox, webdav (NextCloud/InfiniCLOUD/Synology/...), OneDrive, Google Drive (GDrive), Box, pCloud, Yandex Disk, Koofr, Azure Blob Storage.
BookXNote Sync
2 years ago by CodeListening
将bookxnote中的笔记同步到obsidian指定的文件夹中
Cloud Storage
2 years ago by Jiajun Ma
Obsidian Cloud Storage is a powerful and user-friendly plugin designed to seamlessly integrate cloud storage capabilities into your Obsidian workflow. This plugin allows you to effortlessly upload your attachments to the cloud, freeing up local storage space and enabling easy sharing and access across all your devices.
Strava Sync
2 years ago by Howard Wilson
Sync Strava activities to your Obsidian vault
ExMemo Client
2 years ago by Yan.Xie
exmemo obsidian plugin
Unearthed (Kindle Sync)
a year ago by CheersCal
HackMD Sync
a year ago by thor kampefner
obsidian extension to push and pull notes from hackmd conveniently
Google Drive Sync
a year ago by Richard Xiong
A plugin to make Obsidian work in Google Drive to enable access to iOS.
Sync to Hugo
a year ago by Cray Huang
Sync the selected notes from Obsidian to Hugo
Sync Cnblog
a year ago by zhanglei
同步文章到博客园
WikiDocs
a year ago by pahkey
BetaX NAS Sync
a year ago by Skye
Obsidian NAS Sync
Hoarder Sync
a year ago by Jordan Hofker
An Obsidian.md community plugin that allows syncing with https://karakeep.app/
Feedly Annotations Sync
a year ago by Nick Felker
Download my Feedly annotations
Glasp
a year ago by Glasp
Obsidian plugin to import highlights and notes from Glasp
Minote Sync
a year ago by Emac Shen
Minote Sync is a Obsidian plugin to sync Minote(小米笔记) into your Vault.
Checkbox Sync
a year ago by Grol
Keep parent/child checkboxes in sync automatically within your Obsidian task lists.
VaultSync
a year ago by Justin Bird
Obsidian plugin to link your vault to a cloud storage provider.
KOI Sync
a year ago by Luke Miller
Memos AI Sync
a year ago by leoleelxh
obsidian-memos-sync-plugin,将 Memos 内容同步到 Obsidian 的插件,提供无缝集成体验。
Jade Publisher
a year ago by Lucas Ji
This is a simple plugin to help publish your Obsidian vault to a public website(build with Jade).
Sync Vault CE
a year ago by Camus Qiu
The missing bridge between your 10+ TB cloud drive and your AI brain.
InfoFlow
a year ago by RockieStar Inc.
Obsidian plugin for InfoFlow.app - This plugin integrates InfoFlow with Obsidian, allowing you to sync your saved articles, web pages, notes, and highlights directly into your Obsidian vault.
LINE Notes Sync
a year ago by onikun94
GitHub Gitless Sync
a year ago by Silvano Cerza
Sync a GitHub repository with vaults on different platforms without requiring git installation
GitHub Tracker
a year ago by schaier-io
Browser History
a year ago by noy4
Sync your browser history to notes.
Anki Integration
a year ago by Noah Boos AKA Rift
Create flashcards from your notes with a seamless interface, structuring them with metadata and syncing effortlessly via AnkiConnect.
Jira Issue Manager
a year ago by Alamion
Obisdian plugin to sync tasks between Obsidian and Jira
Cubox
a year ago by delphi-2015
Cubox Official Obsidian Plugin
Limitless Lifelogs
a year ago by Maclean Dunkin
Sync your Limitless AI lifelog entries directly into Obsidian markdown files.
Markwhen File Sync
a year ago by rouvenjahnke
Synchronize properties from your Obsidian notes with a Markwhen timeline file.
Markdown Hijacker
a year ago by Yongmini
Beyond the Vault. One hub for every Markdown, everywhere
Google Contacts
a year ago by aleksejs1
Obsidian plugin for sync Google Contacts with obsidian notes
Yandex Wiki Integration
10 months ago by Pavel Sokolov
Github Issues
10 months ago by LonoxX
An Obsidian plugin that integrates with GitHub to track issues and pull requests directly in your vault.
Sync-safe file names
6 months ago by j-maas
Ensure your Obsidian files can always be synced across all your devices.
MrDoc
6 months ago by zmister
An Obsidian plugin for MrDoc that enables two-way synchronization between local Obsidian documents and MrDoc.一个 Obsidian 的 MrDoc 插件,用于 Obsidian 本地文档与 MrDoc 的双向同步
Nutstore Sync
5 months ago by nutstore-dev
Hardcover
3 months ago by aliceinwaterdeep