How to Export Your Goodreads Library to StoryGraph
Moving your reading history from Goodreads to StoryGraph is one of the more straightforward data migrations in the book-tracking world — but a few variables determine how smoothly it goes and how complete your data ends up on the other side.
What You're Actually Moving
When you export from Goodreads, you get a CSV file containing your entire reading history: book titles, authors, ISBNs, your ratings, shelves, date added, date read, and any review text you've written. StoryGraph then imports this CSV and maps each field to its own data structure.
Understanding this file-based transfer matters because the quality of your export depends on what you put into Goodreads — sparse entries, missing dates, or books without ISBNs can affect how cleanly StoryGraph picks everything up.
Step 1: Export Your Data From Goodreads
- Log into Goodreads on a desktop browser (this feature isn't available in the mobile app)
- Go to My Books
- Click Import and Export in the left-hand tools panel
- Select Export Library
- Goodreads will generate a CSV file — this can take a few minutes for large libraries
- Download the file to your computer
The file will be named something like goodreads_library_export.csv. Keep it somewhere easy to find.
📌 Note: Goodreads has periodically changed where this option lives in the UI. If you don't see it immediately, check under your account settings or look for a "Tools" section within My Books.
Step 2: Import the CSV Into StoryGraph
- Create a StoryGraph account if you don't already have one
- After logging in, go to your profile icon and select Import your books
- Choose Import from Goodreads
- Upload the CSV file you just downloaded
- StoryGraph will process the file — for larger libraries (500+ books), this can take several minutes
StoryGraph will attempt to match each entry to its own database using ISBNs and title/author combinations. Books it can't confidently match may require manual review.
What Transfers Well — and What Doesn't
Not everything maps perfectly between the two platforms. Here's what you can generally expect:
| Data Type | Transfers? | Notes |
|---|---|---|
| Read books | ✅ Yes | Matches by ISBN when available |
| Star ratings | ✅ Yes | Converted to StoryGraph's scale |
| Custom shelves | ⚠️ Partial | Shelf names may import as tags |
| Date read | ⚠️ Partial | Only transfers if recorded in Goodreads |
| Review text | ✅ Yes | Imports as private notes by default |
| Friends/followers | ❌ No | Social graph doesn't transfer |
| Reading challenges | ❌ No | Must be recreated manually |
ISBNs are the key matching mechanism. Books added to Goodreads from editions without ISBNs — older editions, self-published works, or manually added titles — are more likely to fail matching or land incorrectly on StoryGraph.
📚 Variables That Affect Your Experience
Library Size
Smaller libraries (under 200 books) tend to import cleanly with minimal review needed. Larger libraries — particularly those built over many years with inconsistent data entry — often require more post-import cleanup.
How You Used Goodreads
If you used Goodreads mainly as a read tracker with consistent date-read entries and ratings, your import will be rich and accurate. If you used it more casually — adding books without marking them read, using vague shelf names, or skipping ratings — StoryGraph will have less to work with.
Edition Mismatches
StoryGraph has its own book database. Sometimes the edition Goodreads has on file differs from what StoryGraph recognizes, which can result in the wrong cover, page count, or genre tags being applied. This is especially common with non-English titles, omnibus editions, and older public domain texts.
Duplicate Handling
If you've already added some books manually to StoryGraph before importing, you may end up with duplicates. StoryGraph provides tools to merge or remove these, but it's worth auditing your library after import if this applies to you.
After the Import: What to Check
Once StoryGraph finishes processing, scan through a few areas before considering the migration complete:
- Currently Reading shelf — books sometimes land here incorrectly
- Ratings — spot-check that your ratings converted as expected
- Read dates — verify these transferred for books where tracking dates matters to you
- Unmatched books — StoryGraph will flag these for manual resolution
StoryGraph's import tool is generally well-regarded for accuracy, but no automated migration between two independently maintained book databases will be perfectly clean.
One Thing Worth Knowing About the Timing
Goodreads doesn't always generate the export file instantly — and occasionally the export function produces an empty or corrupted file on the first attempt. If your downloaded CSV opens with no data or throws an error on StoryGraph, go back to Goodreads and request the export again. This is a known quirk, not a sign something is wrong with your account.
How much post-import work you'll face depends almost entirely on how consistently your Goodreads data was maintained over the years — and how closely your reading history skews toward mainstream titles with clean ISBN records versus more obscure or non-standard editions.