How do reading statuses map between book tracker apps?
Best Book Tracker Apps editors · Data refreshed 3 November 2026 · Editorial assessment
Bottom line.The four core statuses, want to read, currently reading, read and did not finish, exist in every major tracker under slightly different names, so they move cleanly when you import. Paused, owned and custom shelves are where moves go wrong: StoryGraph has a paused status and an owned marker, Goodreads and Hardcover do not publish a paused status, and custom shelves become tags in StoryGraph but shelves in Literal.
Facts checked 3 November 2026
The crosswalk
| Status | Goodreads | The StoryGraph | Hardcover | Notes |
|---|---|---|---|---|
| Want to read | Want to Read (to-read in the export file) | To read | Want to read | Moves cleanly |
| Currently reading | Currently Reading (currently-reading) | Currently reading | Reading | Moves cleanly; progress usually does not |
| Read | Read (read) | Read | Read | Read dates move if present in the file |
| Did not finish | Did Not Finish shelf, since March 2026 | Did not finish | Did not finish | StoryGraph imports a Goodreads did-not-finish shelf |
| Paused | No built-in status; use a custom shelf | Paused, since December 2024 | Not published; use a list | Will not map automatically |
| Owned | Custom shelf | Owned marker | Use a list | Becomes a tag or list |
| Custom shelves | Custom shelves | Imported as tags | Lists and tags | Literal recreates them as shelves |
Apps not in the table (Literal, Fable, BookBuddy, Bookly, Basmo) use the same core statuses under their own labels; check each app's import screen before a move.
What goes wrong in a move, and how do you fix it?
| Problem after import | Cause | Fix |
|---|---|---|
| Paused books show as currently reading | Source app had no paused status | Re-mark them as paused in StoryGraph, or add a "paused" list in Hardcover |
| DNF books show as read | An old custom "dnf" shelf was not mapped | Filter your old shelf name and change the status |
| Owned books lost | "Owned" was a custom shelf | Re-tag after import; BookBuddy is built for owned books |
| Duplicate entries | Two editions of the same book | Merge or delete one; check yearly totals |
| Progress reset to zero | Progress is not in the export file | Update currently reading books by hand |
How should you set up statuses before you move?
- In the old app, give every paused book a single custom shelf named "paused" and every abandoned book the DNF status.
- Export (see exporting your Goodreads library).
- Import, then filter by your old shelf names and fix statuses using the table above.
- Update progress on currently reading books by hand.
Our guides to moving to StoryGraph and moving to Hardcover walk through each import, paused or DNF explains which status to use, and the lesson on reading statuses and shelves covers the basics.
Questions
Q1Does StoryGraph import Goodreads DNF books?
Yes. StoryGraph says it imports currently-reading, read, to-read and did-not-finish shelves from Goodreads.
Q2Does Goodreads have a paused status?
No. Keep the book on Currently Reading and add a custom shelf such as "paused".
Q3What happens to custom shelves when I move to StoryGraph?
They become tags.