Missing read dates. Mangled ISBNs. Years of reading history — gone the moment you try to import. Upload your CSV and download a clean copy. That's it.
You've tracked every book for years. Maybe a decade. Maybe longer. Now you want to leave Goodreads — and the export they give you is a mess.
Hundreds of "Date Read" fields are blank. Not because you forgot to log them — because Goodreads drops them during export. The ISBN columns are wrapped in strange formatting that StoryGraph, Calibre, and LibraryThing can't read. Your entire reading history shows up as a wall of "No date" entries.
You've probably already tried re-exporting. The bug is inconsistent — some dates appear, others vanish. No pattern. No logic. You've looked at the spreadsheet and thought about fixing it by hand. For 400 books. For 800 books. For over a thousand.
The existing workaround? A Python script on GitHub that requires installing Python 3.12, running commands in a terminal, and authenticating through your browser. If you don't know what any of that means, you're not alone. Most readers don't — and shouldn't need to.
You just need a clean CSV that actually works.
Real complaints from Goodreads Help, StoryGraph, and LibraryThing — from readers who hit the same wall you did.
When I export my Goodreads data, Date Read is missing on all but 70 books.
— Goodreads Help Forum
Over 400 read dates are missing, across the 15 years and 1,128 books for which I have been consistently entering read dates.
— Goodreads Help Forum
No excuse for their not fixing this in 4 years. I don't think it's a priority for them.
— Goodreads Community Forum
Most of the dates of when I started reading and made progress didn't carry over. The data format is a bit funky.
— StoryGraph / LibraryThing users
No installs. No accounts. No technical knowledge. Just a file in, and a fixed file out.
Drag and drop the goodreads_library_export.csv you downloaded from Goodreads — or try the built-in sample. The file stays on your device — it never touches a server.
The tool fills every empty "Date Read" field using your "Date Added" date, and strips the broken formatting from all ISBN and Book ID columns. Processing takes about 2 seconds, even for 1,000+ books.
You get a brand new CSV file. Your original is never modified. Import the clean copy into StoryGraph, Calibre, LibraryThing, Bookwyrm — or keep it as a proper backup of your reading history.
Free. Instant. Private. No catch.
Drag & drop your goodreads_export.csv here
or click to select file
Demo includes 12 books with intentional missing dates and Excel-style IDs — no real library required.
For every book where Goodreads dropped the read date, the tool copies your "Date Added" value into the empty field — using proper date formatting that imports correctly everywhere.
Goodreads wraps IDs in ="..." for Excel compatibility. Other platforms can't parse this. The tool strips it back to clean values.
What it doesn't fix: Missing titles, corrupted rows, or books you never logged a date for. The tool is focused — it does two things and does them well.
Your file is processed entirely inside your browser using JavaScript. Nothing is sent to a server — not the file, not the contents, not any metadata. The tool works offline. If you'd like proof, disconnect your Wi-Fi before uploading. It still works.
The tool works on the standard Goodreads CSV export format. If your file has the "Date Read" and ISBN columns, it will be processed. If something unusual is going on with your export, email jonathan@hillmade.uk — I'll take a look personally.
It may not be exact. But "Date Added" is the closest proxy Goodreads provides — and importing with an approximate date is far better than importing with no date at all. Hundreds of books showing "No date" makes your new library almost unusable for sorting, stats, or yearly reading goals.
It can't. Your original file is never modified. The tool creates a new, separate CSV. If you don't like it, simply don't use the download. Your original export is exactly where you left it.
Because the problem is small, specific, and frustrating — and fixing it shouldn't cost money. I built this because I needed it. Now you can use it too.
StoryGraph, Calibre, LibraryThing, Bookwyrm, and any platform that accepts standard CSV imports with ISBN fields. If you run into an issue with a specific platform, let me know.
Goodreads has been quietly deteriorating for years. The API was shut down in 2020. Features have been stripped. Staff have been reassigned. The "Date Read" bug — reported by hundreds of users — remains unfixed after four years.
The longer you wait, the more reading history you accumulate on a platform that may not prioritise giving it back to you. Export your library now, while you still can. Fix the file. Keep a clean backup. Whether you switch to StoryGraph tomorrow or stay on Goodreads for another year, your reading history will be safe.
A clean export takes 10 seconds. Manually fixing 800 missing dates takes a weekend you'll never get back.
The fixer is free and complete today. Join the Hillmade waitlist for StoryGraph-optimised profiles, before/after diffs, and future book-data tools.
Upload your Goodreads export. Download a clean copy. Keep every date, every ISBN, every book.
Fix Your Export — Free & InstantNo signup for the tool. No servers. No data collection on your CSV. Built by Jonathan Hill.