At the moment, Biblophile supports bulk imports using a Goodreads-compatible CSV format, with a few Biblophile-specific enhancements.
If you’re coming from:
Goodreads
StoryGraph
Notion / Excel / Google Sheets
…you can modify your spreadsheet to match the format below and import your entire reading history.
Note: Always edit a copy of your spreadsheet, not the original.
Required Columns (must not be empty)
These columns must exist and must have a value in every row.
| Column Name | Description |
|---|---|
| Title | Book title |
| Author | Author name (e.g. Sally Rooney) |
| Exclusive Shelf | One of: read, currently-reading, to-read, did-not-finish, or a custom exclusive shelf |
| My Rating | Number from 0 to 5 (decimals allowed). Use 0 if not rated |
| Date Added | Date you added the book (format: yyyy/mm/dd) |
| Read Count | 0 if unread or DNF, 1 or higher if read |
⚠️ If any required cell is empty, the import will fail.
Reading Status Mapping (Important)
Biblophile maps reading status like this:
| CSV value (Exclusive Shelf) | Biblophile status |
|---|---|
read | Read |
currently-reading | Currently reading |
to-read | To be read |
did-not-finish | Did not finish |
Custom shelf (e.g. reference) | Imported as a tag only, no reading status |
This allows custom exclusive shelves (like reference, academic, etc.) to stay out of reading progress while still being searchable.
Ratings & Reviews
| Column | How Biblophile handles it |
|---|---|
| My Rating | Imported into your ratings |
| My Review | Imported as your review |
Rating = 0 | Ignored (no rating created) |
If a book already has a rating, the newest one is used.
Re-Reads (Fully Supported)
If Read Count is greater than 1:
Biblophile will create multiple reading entries
Each re-read becomes a separate reading instance
This allows accurate re-read history (something Goodreads doesn’t handle well).
Shelves → Tags
| CSV Column | Behavior |
|---|---|
| Bookshelves | Converted into custom tags |
| Multiple shelves | Comma-separated |
| Multi-word shelves | Use hyphens (sci-fi, owned-books) |
Example:
Bookshelves = owned, favourites, sci-fi
Creates tags:
Owned
Favourites
Sci-fi
Owned Books
If Owned Copies = 1:
Book automatically gets the Owned tag
Optional Columns (recommended but not required)
| Column | Notes |
|---|---|
| Date Read | Format: yyyy/mm/dd |
| ISBN13 | Helps match exact editions |
| Number of Pages | Used for stats if available |
| Publisher | Informational only |
| Binding | Hardcover / Paperback / Digital |
What is NOT imported
These are left empty (by design):
Reading sessions
Pages-per-day history
Emotions
Streaks
You can start tracking these after import.
CSV Format Rules
Headers must match exactly
File must be saved as
.csvDates must use
yyyy/mm/ddISBN columns should be text, not numeric (to avoid truncation)
⚠️ Excel may truncate ISBNs (e.g.
9.78037E+12).
If that happens, use LibreOffice or Google Sheets and re-export.
Once you’ve done that, you can then upload it as a CSV on the Import Goodreads page here: biblophile.com/goodreads-import
If you receive an error message, before emailing into support please check:
- That every cell in the mandatory columns listed above has something in them
- That the header rows are pasted exactly
- That your file is definitely saved as a CSV file
If everything looks as it should and you still can't upload it, please email into help@biblophile.com, attach your import to your email, and let us know what the error message says.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article