No release in over 3 years
Convert hashcards exports to Readwise highlights and push them to the Readwise API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Runtime

 Project Readme

Hashcards-Readwise Logo

hashcards-readwise

Sync hashcards to Readwise.

Installation

gem install hashcards_readwise

Or add to your Gemfile:

gem "hashcards_readwise"

Usage

All-in-one sync

# Sync a hashcards collection to Readwise
hashcards-readwise sync --collection ./cards

# Dry run (convert but don't push)
hashcards-readwise sync --collection ./cards --dry-run

Step-by-step

# 1. Export hashcards to JSON
hashcards export ./cards --output export.json

# 2. Convert to Readwise format
hashcards-readwise convert -f export.json -o highlights.json -d ./cards/hashcards.db

# 3. Push to Readwise
hashcards-readwise push -f highlights.json

Configuration

Set your Readwise API token via environment variable:

export READWISE_TOKEN="your-token-here"

Or pass it directly:

hashcards-readwise sync --token "your-token-here" --collection ./cards

Deck Metadata

Add TOML frontmatter to your deck files to customize Readwise metadata:

---
name = "My Deck"
author = "Author Name"
source_url = "https://example.com/source"
image_url = "https://example.com/image.png"
tags = ["topic1", "topic2"]
---

Q: Question here
A: Answer here

License

MIT