Generate a random book to read, with its author, year, and a quick summary -- for your next read, a reading list, or discovering a classic.
This generator draws from 84 celebrated and widely-read books across seven genres -- Classic Literature, Fantasy & Sci-Fi, Mystery & Thriller, Romance, Non-Fiction, Contemporary Fiction, and Young Adult & Children's. Each result shows the author and year of first publication alongside a one-line summary.
Every result here is drawn using crypto.getRandomValues() -- the Web Crypto API's cryptographically secure randomness -- instead of Math.random(), so it's genuinely unpredictable, not just statistically random. Learn more.
Use it to find your next read when you're stuck between options. It's great for building a reading list, discovering a classic you've never gotten to, or picking a book at random for a challenge or book club.
Generate draws one book at random from the pool using the site's cryptographically secure randomness, guaranteed not to repeat whatever result is currently showing in single-result mode. Filtering by genre narrows the pool before drawing, and each single result shows the author, year, and a short summary.
A sample of what this generator can draw, spread evenly across the full list:
Yes -- use the filter button to pick one or more of the seven genres. Generate will then only draw from books in the genres you've selected.
Not in single-result mode -- each new roll is guaranteed to differ from the one currently on screen.
No -- it's a curated, cross-era sample of acclaimed and popular books, not an exhaustive library.
Yes -- use the amount control to draw a batch of books at a time.