Blog / Guide

How to Move Your Goodreads Data to a New Reading App (Complete Migration Guide)

Move your Goodreads data in five steps: export the CSV, clean it, import it into booksense, StoryGraph, Hardcover or Fable, and know what will not transfer.

TL;DR: Migrating off Goodreads takes five steps: export your CSV from the desktop site, clean the file (missing dates and blank ebook ISBNs are the usual breakage), import it into an app that accepts it (booksense, The StoryGraph, Hardcover, Fable, Literal, or Bookmory), accept that friends and comments do not transfer anywhere, and then decide what the new app is actually for. If the answer is “read more, not re-shelve more”, pick the destination built around that: booksense imports your history and then puts a timer, streaks, and goals on top of it.

Leaving Goodreads is easy. Leaving with your data intact takes about an hour of care, and most of that hour is knowing what breaks before it breaks. This guide covers the whole move: getting the file out, fixing what Goodreads mangles, importing it into the app you actually want, and being honest about what no exporter on earth can carry over.

If you are still deciding whether to leave at all, our breakdown of Goodreads’ ownership and why readers are moving on covers that question. This guide assumes you have decided.

Step 1: Export your Goodreads library to CSV

Everything starts with one file. On the desktop website (the mobile app has no export), go to My Books, click Import and export under Tools in the left sidebar, and press Export Library. A dated download link appears, usually within seconds, sometimes minutes for large libraries. The file contains your titles, authors, ISBNs, ratings, shelves, reviews, read dates, and private notes, one row per book.

We wrote a full walkthrough with screenshots-level detail in how to export your Goodreads library, including everything the file silently drops. Do that first, then come back. Even if you never migrate, keep the CSV. It is the only copy of your reading history that Amazon does not control.

Step 2: Clean the CSV before you import it

Every importer chokes on the same three things. Ten minutes in a spreadsheet now saves an evening of manual fixes later.

Missing and wrong dates

This is the big one. Goodreads has a years-old bug where Date Read exports blank for many books even though the date displays fine on the site. There are long-running threads about it on Goodreads’ own help forum with no fix. Open your CSV, sort by the Date Read column, and check how many read books have no date. For the books you care about, re-enter the date on Goodreads and export again. Start dates are worse: the export never includes them, on any book, so your “read dates” are finish dates only.

Blank ISBNs on ebooks

The export reflects whichever edition you shelved. Kindle editions frequently have no ISBN, so those rows arrive with empty identifier fields wrapped in a spreadsheet-safe ="..." format. Importers then match on title and author alone, which is where wrong-edition and wrong-book mismatches come from. Expect to review the “could not match” list after any import, and fix the highest-priority books by hand.

Shelves as comma lists

Your custom shelves live in a single Bookshelves column as a comma-separated list (“fantasy, owned, signed-copies”). The three exclusive shelves (read, currently reading, to read) map cleanly almost everywhere. Custom shelves depend entirely on the destination: some apps recreate them, some convert them to tags, some ask you to map each one during import. If your shelf system is a mess, this is the moment to prune it. Our guide to organising your TBR is worth reading before you carry fifteen years of “to-read-maybe-someday” into a new home.

Step 3: Pick your destination and import

Here is what each major app supports as of mid-2026, based on their own documentation and current guides. Verify on the day you migrate; import features change.

AppHow you importRatingsReviewsShelvesRead dates
booksenseCSV picked inside the app (onboarding or the add-book screen); parsed on your phone, never uploaded rawYesYesExclusive shelves map to reading statusesYes; imported reads are backdated so they land as history
The StoryGraphCSV upload at signup or via Manage AccountYesYes, attached as notesExclusive shelves map; custom shelves become tags you assignPartial; Date Read often wrong or missing
HardcoverCSV upload on the websiteYesCheck current docsStatuses map, including DNFPartial; users report start dates never arrive
FableCSV at fable.co/goodreads-import (beta), or sign in with Goodreads directlyYesYes, via the direct Goodreads importRead, Reading, and Want to Read listsReading status transfers; verify dates after
LiteralPublic Goodreads profile link, or CSVYesYesCustom shelves recreated by nameYes, where Goodreads has them
BookmoryCSV import inside the app’s settings menuManual reviewNoYou assign each book’s status after uploadManual review

booksense

Our app, so judge the entry accordingly; the importer is described exactly as it works. You pick your goodreads_library_export.csv inside the app (during onboarding or from the add-book screen) and the file is parsed on your phone, never uploaded raw. Ratings, reviews, and read dates come through, and imported reads are backdated to their original dates, so a 600-book history arrives as history rather than flooding your feed and your friends’ feeds on day one. After the import, covers and blurbs are filled in automatically in the background. From there the app’s actual point takes over: a reading timer, streaks, goals, and notes that resurface; the full picture is in our booksense vs Goodreads comparison.

The StoryGraph

The most established migration path. New accounts are offered the import during signup; existing accounts find it under profile, then Manage Account, then Goodreads Import. Large libraries can take up to 24 hours to process, and the importer walks you through mapping custom shelves to its categories. One caution: recent guides report that the Goodreads import now requires the paid StoryGraph Plus plan (about $4.99 a month), so check the current pricing page before committing.

Hardcover

Hardcover positions itself directly as the Goodreads replacement and accepts imports from both Goodreads and The StoryGraph. It is a one-time transfer, not a sync (a live two-way sync is a long-standing feature request). Users report that reading dates come through incompletely; there is even a community-built script specifically for patching read dates after import, which tells you how common the gap is.

Fable

Fable gives you two routes: a beta CSV importer at fable.co/goodreads-import (log in with the same account you use in the app), or a direct import that signs into your Goodreads account and pulls your lists and reviews without a file at all. The direct route is the one that carries reviews.

Literal

Literal’s importer is unusual: point it at your public Goodreads profile and it pulls shelves, ratings, reviews, and read dates over directly, recreating custom shelves by name. Most libraries finish in minutes; very large ones can take half an hour.

Bookmory and Bookly

Bookmory accepts the CSV through an import option in its settings menu, after which you assign each book’s status by hand, which is workable for a small library and tedious for a big one. Bookly added a Goodreads import recently; early reports describe it as rough, so treat it as a bonus rather than a migration plan.

Step 4: What does not transfer anywhere

No app can import what the CSV does not contain, and the CSV does not contain your social life. Gone on every platform:

  • Friends and followers. The export has no social graph at all.
  • Comments, yours and other people’s, on every review and thread you ever touched.
  • Review likes and any record of who appreciated what.
  • Progress updates, every “on page 154 of 320” you posted.
  • Group memberships and discussions.

The only fix is human: before you deactivate anything, post your new profile link on Goodreads and give people a week or two to follow you across. Keep the old account dormant rather than deleted if the history matters to you. Fifteen years of comments is worth a zombie account.

Step 5: Decide what your new app is actually for

Here is the question the other migration guides skip: why are you moving?

If the honest answer is “my reading history matters and I want it searchable forever”, pick The StoryGraph or Hardcover, do the import carefully, and enjoy the stats. That archive is worth preserving properly.

But a lot of readers, once the CSV is open in a spreadsheet, notice something uncomfortable: hundreds of to-read books, a handful actually read each year. The catalog was never the problem. Reading was. Migrating the pile to a new app reorganises the pile; it does not shrink it.

That second case is what booksense is for, and you no longer have to choose between the history and the habit: booksense imports the CSV directly (parsed on your phone, ratings, reviews, and read dates preserved, reads backdated so they arrive as history). What you get is a tracker aimed at the habit instead of the archive: a reading timer for focused sessions, streaks that keep you showing up, goals, page-anchored notes you can share as image cards and that resurface later so you remember what you read, plus per-book stats, challenges, and leaderboards. Readers there have logged over 480,000 minutes and finished more than 12,000 reading sessions, one timed sitting at a time. If you are weighing the habit-first approach against the catalog you are leaving, our booksense vs Goodreads comparison lays out feature by feature where each one wins.

A clean setup that works: import the CSV into booksense on iOS so your history and your daily reading live in one place, keep the file as your permanent backup, and add a StoryGraph or Hardcover archive later if you also want a web-browsable copy. If building the daily habit is the part you keep putting off, start with our guide on how to read more books.

Your Goodreads years are a spreadsheet now. What happens next is not.

FAQ

Which reading apps can import a Goodreads CSV?

booksense, The StoryGraph, Hardcover, Fable, Literal, and Bookmory all accept the Goodreads export file, and Bookly added an importer recently. Each preserves a different mix of ratings, reviews, shelves, and dates, so check the comparison before choosing. booksense keeps ratings, reviews, and read dates, parses the file on your phone, and backdates imported reads so they land as history.

Will my Goodreads friends and comments transfer to a new app?

No. The CSV only contains your books, ratings, shelves, reviews, and dates. Friends, followers, comments, review likes, and progress updates stay on Goodreads on every platform. You rebuild the social side by hand, usually by posting your new profile link before you leave.

Why are dates missing after I import my Goodreads library?

Two reasons. Goodreads has a long-standing bug where Date Read is blank in the export for many books even when it shows on the site, and the file never includes start dates at all. Spot-check the CSV before importing and fix the books you care about on Goodreads first, then re-export.

Can I import my Goodreads history into booksense?

Yes. booksense imports the Goodreads CSV directly: the file is parsed on your phone rather than uploaded, ratings, reviews, and read dates are preserved, and imported reads are backdated so they arrive as history rather than a feed flood. Covers and blurbs are filled in automatically after the import. Keep the exported CSV as a backup either way.

The timer is the difference Start a session, read, and booksense logs the minutes, the pages and your real pace. Get booksense free
Daniel Daneshi Creator of booksense. Writes about reading habits, the apps that help and the ones that get in the way. About

Keep reading

All articles
Pick the app that moves the number. Import the same CSV, start a timed session tonight, and keep a streak you can only hold by reading. Download for free