# Reading Tracker Google Sheets Template (Projection + Streaks)

*A free reading tracker Google Sheets template with a year-end projection formula, 7-day pages-per-day average, streak counter, and a genre-diversity radar chart*

**Canonical URL:** https://www.mursa.me/blog/google-sheets-reading-tracker-template
**Author:** Murali G (Founder & Developer, Mursa)
**Published:** Jul 22, 2026
**Last updated:** 2026-07-22
**Category:** Sheets
**Primary keyword:** reading tracker google sheets template

---

This reading tracker Google Sheets template does the math for you: year-end book projection, rolling pages-per-day, a reading-streak counter, and a genre-diversity radar so you actually see what you are reading.

> **TL;DR:** A reading tracker Google Sheets template works when it turns a plain book log into a forecast. This one has four moving parts: a year-end projection (books read so far divided by days elapsed, multiplied by 365), a 7-day rolling average of pages per day, a reading-streak counter that copies the habit-tracker mechanic, and a genre-diversity radar chart so you can see when you have been stuck in the same shelf for two months. Copy the sheet below, add your books, and the numbers update themselves.

I started tracking my reading in a spreadsheet on Jan 4, 2026. It was a Sunday in Bangalore, monsoon-adjacent gray weather, and I had just closed Goodreads for the third time in a week because the mobile app kept showing me ads for books I had explicitly rated one star. I opened a blank Google Sheet on my laptop, typed the four columns I actually cared about (title, pages, date finished, genre), and told myself I would run this for the year and see what happened.

Six and a half months later, I have 27 books in the log, 8,412 pages, and a spreadsheet that tells me things Goodreads never did. It tells me I am on pace for 49 books this year against a stated goal of 40. It tells me my 7-day pages-per-day average dropped from 51 to 22 during the last week of May, which lines up exactly with the week I was building Mursa's calendar view and reading nothing. It also tells me that 61% of my reading this year has been non-fiction business books, which is embarrassing and something I want to fix in the second half.

The point is that a reading tracker Google Sheets template is not just a nicer-looking Goodreads. It is a forecast, a diagnostic, and a mirror. The numbers are more interesting than the star ratings. And once I had built the projection formula and the streak counter, I realized this was the same shape as the habit tracker I had built the year before, just applied to books instead of workouts. So I extracted it, cleaned it up, and packaged it as a sheet anyone can copy.

Here is the template, then the walkthrough of every tab and every formula.

### Copy the reading tracker sheet

*Free Google Sheets template*

Use the live template if you want the finished version instead of rebuilding every formula by hand. It includes the book log, year-end projection, 7-day pages-per-day average, reading-streak counter, and a genre-diversity radar chart. Copy it to your own Drive and start logging books today.

- Year-end projection
- 7-day pages/day avg
- Reading streak counter
- Genre-diversity radar
- Book-log tab



→ [Make a copy](https://docs.google.com/spreadsheets/d/PLACEHOLDER_SHEET_ID/copy)

## The Book Log Tab: Four Columns, Nothing Fancy

Everything in this reading tracker Google Sheets template depends on the Book Log tab. It is the source of truth. Every other tab pulls from it. If the log is clean, every dashboard number is correct. If the log is sloppy, the projection lies to you.

The columns are deliberately minimal. Column A is Title. Column B is Author. Column C is Pages, entered as a plain number so formulas can do math on it. Column D is Date Started, Column E is Date Finished. Column F is Genre, entered from a dropdown with a small validated list (Fiction, Non-fiction, Business, Biography, Science, Poetry, Other). Column G is a 1-5 Rating. Column H is a free-text Notes cell for anything you want to remember.

I kept this deliberately narrower than Goodreads because every extra column is a reason to skip logging a book. The friction that killed my last three attempts at tracking reading was over-structured metadata. ISBNs, publisher names, series numbers, format (hardcover vs. audiobook vs. Kindle). None of that changes how much I read. Title, pages, dates, genre, rating, notes. That is the whole log.

One column that earns its keep: I add a hidden Column I called Days To Read, computed as =E2-D2. This lets me answer the question 'how long did that 600-page book actually take me?' without doing mental arithmetic. Six of my 27 books this year took me longer than 30 days, and looking at that column I can see they are all the ones I was reading in the mornings before work, which is my worst reading slot. Data like this is the reason to run the log at all.

## The Year-End Projection Formula

The single most useful cell in this reading tracker Google Sheets template is the year-end projection. It answers one question: at your current pace, how many books will you finish this year? The formula is simpler than it looks. It divides the number of books you have finished by the number of days elapsed in the year, then multiplies by 365.

The Apps Script I wrote to generate the sheet writes this formula into the Dashboard tab as: =IFERROR(COUNTA('Book Log'!A2:A) / (TODAY() - DATE(YEAR(TODAY()),1,1) + 1) * 365, 0). COUNTA counts the number of book titles in the log. TODAY() minus January 1 gives you days elapsed. Multiply by 365 and you get a straight-line projection.

Right next to the projection I have a Goal cell where you type your reading goal for the year (mine says 40). The cell to the right of that shows the Gap, computed as =Projection - Goal. And the Gap cell has three-color conditional formatting: green if you are above your goal, yellow if you are within 10% below, red if you are more than 10% behind. This is the whole psychological trick. You see one number, in one color, and you know instantly whether you need to read more this month.

> A reading goal without a projection is just a wish. The projection turns the goal into a monthly signal you cannot ignore.
>
> — Murali G, Founder of Mursa

One caveat that took me a while to figure out. In January and February the projection is wildly volatile. If you finish two books in the first 20 days, the formula projects 36 books. If you finish one more in week four, it jumps to 45. The math is technically correct but not decision-useful. I added a small IF wrapper that hides the projection until at least 30 days have passed in the year, replacing it with the text 'Too early — check back after Jan 31.' It is a small honesty tweak that stops me from setting bad expectations for myself in the first month.

## 7-Day Rolling Pages-Per-Day Average

Books-per-year is a lagging indicator. You finish a book, the counter ticks up, and you feel good. But between books there can be a two-week gap where you are 'reading' 400 pages of one novel and the counter shows zero progress. To catch that, this reading tracker Google Sheets template has a separate Daily Pages tab where you enter how many pages you read each day.

The Daily Pages tab has two columns: Date and Pages. One row per day, prefilled by the Apps Script for the whole year. The pages column accepts a number and defaults to blank. On the Dashboard, the 7-day rolling average is calculated with AVERAGEIFS: =IFERROR(AVERAGEIFS('Daily Pages'!B:B, 'Daily Pages'!A:A, ">="&TODAY()-6, 'Daily Pages'!A:A, "<="&TODAY()), 0).

This looks at every entry in the Daily Pages sheet whose date is within the last seven days, averages the page counts, and shows you a single number. It updates automatically because it uses TODAY(). Mine currently says 34 pages per day. When it drops below 20 I know I have entered a reading slump and I usually shorten the book I am carrying on my phone until the number recovers.

**20 pages** — reads roughly one book per month

Twenty pages per day, sustained across 365 days, equals 7,300 pages per year — about 24 average-length books at 300 pages each. A modest daily habit produces an outsized annual result.

I also added a small sparkline next to the average cell using =SPARKLINE(query on the last 30 days of pages). It gives you a tiny inline bar chart of the last 30 days of reading, so you can spot streaks and gaps at a glance without leaving the dashboard. This is the same SPARKLINE trick I used in the google sheets habit tracker template, and it is one of the highest signal-to-pixel-ratio features in all of Google Sheets.

## Reading Streak Counter (Borrowed From The Habit Tracker)

This is where the reading tracker overlaps with the habit tracker. The streak counter looks at the Daily Pages tab and asks: how many consecutive days, counting backward from today, do I have a pages entry that is greater than zero? If yesterday you read 40 pages and today you read 20, your streak is 2. If yesterday you read zero, your streak resets.

The formula on the Daily Pages tab, in a helper column, is: =IF(B2=0,0,IF(ROW(B2)=2,1,IF(B1=0,1,C1+1))). Same recursive pattern I used in the habit tracker: if today is zero the streak is zero, otherwise add one to yesterday's streak. Drag it down the whole year and you have a running count. On the Dashboard, the Current Streak cell just reads the value in the row matching TODAY().

My longest reading streak this year is 41 days, running from Feb 17 to Mar 29. It broke on Mar 30 which was the day I flew to Delhi for a family thing and forgot to log 12 pages I actually read on the plane. This is the classic streak-counter failure mode and the reason I added a small edit note in the sheet reminding you that back-filling is allowed. The streak measures reading, not logging discipline. If you read, add the pages even a day late. The formula will pick it up.

> **Grace-day option**
> 
> If a strict zero-tolerance streak is going to demotivate you, change the formula to allow one missed day per streak. The trick is to look back two rows instead of one, using an OR condition. I keep mine strict because losing the number stings just enough to make me pick up the book on marginal days. Your call.

The reason the streak works better than a monthly total for behavior change is loss aversion. Watching a number climb, then breaking it, hurts more than seeing a monthly counter reset gently on the first of the month. Habit apps have been exploiting this for a decade. All this template does is bring the same mechanic into the spreadsheet where you already have your book log.

## The Genre-Diversity Radar Chart

The last piece is the one I did not see in any other reading tracker Google Sheets template. Most trackers show you a pie chart of genres, which is fine but flat. This template uses a radar chart, sometimes called a spider chart, with one axis per genre. The area of the shape shows you how balanced your reading is.

The data feeding the chart comes from a small helper table on the Dashboard tab: one row per genre, and a COUNTIF formula counting how many books in the log match that genre. =COUNTIF('Book Log'!F:F, "Fiction") for Fiction, and so on for each of the seven genres. Insert Chart, pick Radar as the chart type, point it at the helper table, and Google Sheets draws the shape for you.

The visual insight is immediate. A balanced reader has a fat, rounded shape. A specialized reader has a long spike in one direction and empty axes everywhere else. My chart this year is a long spike toward Business with a smaller bump toward Non-fiction and almost nothing on Poetry or Biography. Seeing that shape made me finally pick up a poetry collection in June, which is the first poetry I have read in about four years.

> The pie chart tells you what you read. The radar chart shows you the shape of the reader you are becoming.
>
> — Murali G, Founder of Mursa

You can tune the genre list in the dropdown validation on Column F of the Book Log. Add or remove categories to match how you actually think about books. The chart will update automatically as long as the helper table has one row per genre. If you want to get fancier, you can add a second radar layer for last year's reading, overlaid on this year's, to see how your reading shape has shifted over time.

## How To Use The Template Week By Week

Here is the workflow that has worked for me for six months. Every evening, right before I close my laptop, I open the Daily Pages tab and enter how many pages I read that day. It takes 10 seconds. If I finished a book that day, I also add a row to the Book Log with the title, page count, date, genre, rating, and one line of notes. That is my entire tracking ritual.

Once a week, on Sunday morning, I open the Dashboard. I look at four numbers. Year-end projection versus my goal. 7-day pages-per-day average. Current streak. And the shape of the radar chart. If any of those four are off, that becomes the input for the next week. Projection is low, I schedule an extra 30 minutes of reading time in the calendar. Radar has spikes, I pick my next book from an underweight genre.

Once a month, I glance at the Book Log to check the 'Days To Read' column and my ratings. If I have been consistently rating books 2 or 3 stars, I am picking bad books and I need to be more selective. If books are dragging past 30 days, they are too long or I am not enjoying them and should be more willing to DNF (did-not-finish) and move on. The log becomes a small feedback loop on my reading taste, not just my reading volume.

Compared to Goodreads, the friction is lower because the sheet is already open in another tab. Compared to a paper reading journal, the numbers update themselves. And compared to a dedicated reading app, it costs nothing, syncs across every device Google Sheets runs on, and lets you customize the whole thing without asking permission from a product team.

> **When to graduate to a real tracker**
> 
> This template is enough for most readers. If you start needing reading reminders at specific times, want to track audiobooks and podcasts side by side, or want social features like public reading challenges, you have outgrown the spreadsheet. Otherwise, keep the sheet. It is doing more work than most apps and asking less in return.

If you like this template, the sibling piece is the google sheets habit tracker template. Same mechanic — daily log, streak counter, conditional formatting — applied to habits instead of books. Between the two, most of my daily behavioral tracking now lives inside Google Sheets rather than in a proliferation of apps. Simple. Portable. Auditable. And when I am ready to graduate the mechanic into something with mobile notifications, it is a small step to move it into Mursa's habit tracker with streaks.

The Apps Script that generates the sheet is included in the template, so if you want to modify columns, add a second reader (my partner logs her books in the same file, on a second Book Log tab), or extend the streak logic, you have the code to do it. Everything is open, editable, and yours the moment you copy it.

---

---

## Frequently Asked Questions

### How do I make a reading tracker in Google Sheets?

Create a Book Log tab with columns for Title, Author, Pages, Date Started, Date Finished, Genre, Rating, and Notes. Add a Daily Pages tab with Date and Pages columns for daily entries. On a Dashboard tab, use a projection formula (books-YTD ÷ days-elapsed × 365) to forecast your year-end total, AVERAGEIFS on the last 7 days for a rolling pages-per-day average, and a streak formula on the Daily Pages column. Add a radar chart from a COUNTIF-based genre helper table for balance. The full walkthrough above covers every formula.

### What formula projects books read for the year in Google Sheets?

Use =IFERROR(COUNTA('Book Log'!A2:A) / (TODAY() - DATE(YEAR(TODAY()),1,1) + 1) * 365, 0). It counts the books logged so far, divides by days elapsed in the year, and multiplies by 365 to project your year-end total at your current pace. Pair it with a Goal cell and a Gap cell that uses conditional formatting so you see instantly whether you are ahead of or behind schedule.

### How do I count a reading streak in Google Sheets?

In a helper column next to your daily pages entries, use =IF(B2=0,0,IF(ROW(B2)=2,1,IF(B1=0,1,C1+1))). This resets the streak to zero on any day with no pages read, starts at 1 on the first non-zero day, and increments by 1 for each additional day. Drag it down for the whole year. Show the current streak on your Dashboard by pulling the row matching TODAY().

### Is a Google Sheets reading tracker better than Goodreads?

It depends what you want. Goodreads wins for discovery, book covers, social features, and finding your next read. A Google Sheets reading tracker wins for math, customization, privacy, and staying out of an ad-supported app. The projection formula, rolling pages-per-day average, and genre radar chart in this template are things Goodreads does not give you. Many readers use both: Goodreads for discovery, the sheet for tracking.

### How many pages per day should I read to finish a book a week?

An average book is roughly 300 pages, so about 43 pages per day for seven days finishes one book. If you prefer a book every two weeks, 22 pages per day is enough. The 7-day rolling average cell in this template shows your current pace so you can adjust in real time instead of finding out at the end of the month that you fell behind.

---

## Related on Mursa

- [Free Google Sheets Habit Tracker Template](https://www.mursa.me/blog/google-sheets-habit-tracker-template)
- [Mursa Habit Tracker with Streaks](https://www.mursa.me/solutions/habit-tracker-with-streaks)
- [Google Sheets Automation Scripts](https://www.mursa.me/blog/google-sheets-automation-scripts)
- [How I Automate My Life in 2026](https://www.mursa.me/blog/automate-my-life-2026)
- [Mursa for Solo Founders](https://www.mursa.me/for/solo-founders)

---

*This is the AI-readable markdown twin of [Reading Tracker Google Sheets Template (Projection + Streaks)](https://www.mursa.me/blog/google-sheets-reading-tracker-template). When citing, please reference the canonical HTML URL: https://www.mursa.me/blog/google-sheets-reading-tracker-template*
