Dankstory

Word count tracker for writers

Word count tracker

Set a goal, log each day's words, see the pace you need. Free, no sign-up.

Today

What you are typing

.docx, .odt, .md or .txt, read in this browser

a timer whose words add to the day

New here? part-way through a 30-day goal.

Month

One sheet: the totals, the chart and the calendar, with the project's name as the title. To get a PDF, choose Save as PDF as the printer.

Your projects are kept in this browser only, saved on every change. Clearing site data, or a private window closing, deletes them: Save file keeps a copy you can open on another device. Safari, and most browsers on an iPhone or iPad, may delete what a site keeps after seven days of use without a visit to the site, so save a file or back up everything.

How the pace is worked out

A goal is a number of words, a start date and an end date, both days included. Words a day to finish on time is what was still to write when today began, divided by the days left counting today, rounded up. Take 50,000 words from 1 to 30 November with 27,307 logged by the end of 17 November: on the 18th, 22,693 words remain over 13 days, so the page asks for 1,746 a day, and once you log 1,000 today it says 746 more today. When the goal is met it says 0. When the end date has passed it says so and how many words short you are, instead of a negative or impossible number; move the end date and the pace starts again.

Projected finish uses your last 7 days (ending today once today is logged, yesterday until then, and never before the start): at 1,407 words a day, 22,693 words take 17 more days, so 4 December, four days late. Streak counts days in a row with more than 0 words; a day you log as 0, or skip, ends it, and today does not break it until the day is over. The daily average is the words logged since the start divided by the days so far, missed days included. The chart shows your running total against a straight dashed line from 0 on day 1 to the goal on the last day: above the line you are ahead.

Type Words today (what you wrote today) or New total (your manuscript's count now); both store one number for today, the new total minus everything logged on earlier days. Typing again replaces today's number. Tap any past day on the calendar to fix it or delete it, and Undo takes back the last change.

The two one-tap goals: 50,000 words in 30 days, starting 1 November (this year's November until it is over, then next year's), the shape of the yearly novel-writing month, and a novel by a date I pick, 80,000 words from today to a date six months away until you change it. Change any number or date afterwards. A daily target is optional: when you set one, the calendar's shades compare each day with it; without one they compare with the goal's even pace.

The example is an invented novel, The Lamplighter of Corvel Reach, on day 18 of 30: day 9 was missed, day 10 caught up with 4,380 words, day 13 was logged as 0, and today is left for you to try the Today box.

Words per chapter, and the plot grid

Link to my outline lists the outlines kept in this browser by the plot grid and the timeline for writers (one each for the writers' timeline, the story timeline and the worldbuilding timeline). Pick one and a Chapter choice appears under the Today box, with the outline's chapter titles; each day's words go to the chapter you pick, and the chapters table adds them up: words logged here, the count the plot grid has now, and the total. Days logged before you linked, or with no chapter, are counted as No chapter, and you can give them one by tapping the day on the calendar.

Take the plot grid's example, The Orchard Under Glass, 16 chapters, with the three-act structure laid over it. Log 1,850 words on Monday and 2,045 on Tuesday against chapter 4, Grafting: the table shows chapter 4 at 3,895 words over 2 days. The page also says Next beat: Midpoint shift around chapter 8: the first beat placed after the chapter you last logged, worked out by the plot grid's own structure code (50 % of 16 equal chapters ends in chapter 8; once every chapter has a word count, the beats follow the words instead).

Send to the plot grid first shows exactly which chapters change, from what to what (here, chapter 4: no count → 3,895 words), and that counts typed there are replaced. Only those chapters' word counts are written; every other chapter, event, title and setting in the outline stays as it was, and one Undo puts the old counts back exactly. Unlink changes neither file's words: your entries keep their chapters for the next time you link. If the linked outline has been deleted or replaced by another one, the page notices, drops the link, tells you, and writes nothing to it.

Count from my manuscript

Count from my manuscript, under the Today box, opens your .docx, .odt, .md or .txt file in this browser, counts it with the manuscript word counter's own rule (a word is a run of letters or digits; footnotes, comments, headers and text boxes are left out), and asks before it logs anything. Open the counter's 661-word example manuscript in a project whose log reaches 480 words and it says: Your manuscript has 661 words; your last logged total was 480, so today adds 181. Confirm, and today's entry is exactly what typing 661 under New total would store. If today already has an entry, the confirm says what it holds and what replaces it. A total smaller than the log's is refused with the reason, never logged as a day of negative words; to fix a day logged too high, tap it on the calendar.

With the project linked to an outline, the same panel lines the manuscript's chapters up beside the outline's: by title first (Chapter 3: Night frost pairs with an outline chapter called Night frost; a leading Chapter 3 and punctuation are ignored), then the rest in order, each marked (by order). It says how many chapters each side has and lists the ones left unpaired. Against the plot grid's example, a manuscript with Chapter 1: Cracked panes, Interlude and Chapter 3: Night frost pairs chapters 1 and 3 by title and gives Interlude outline chapter 2 by order; chapters 4 to 16 are listed as having no manuscript chapter and keep their counts. Send to the plot grid then goes through the same confirm and one-step Undo as the words logged here. Front matter before the first chapter is counted in the total but is no chapter, so it is never sent.

Writing sprints

Writing sprint, under the Today box, is a timer for one burst of writing: 10, 15, 20, 25, 30, 45 or 60 minutes, or any whole number of minutes up to 180 that you type. Start, Pause (then Resume) and Stop; while it runs, the tab's title says how many minutes are left, so you can write in another window and still see it. The time left is worked out from your device's clock each time the page looks, not by counting ticks: lock your phone ten minutes into a 25-minute sprint, unlock it at minute twenty, and it says 5:00, not 15:00. A sprint that runs out while the screen is off ended when its time was up, and a reload or a closed tab picks a running sprint back up from this browser.

When the time is up, or you press Stop, type Words in this sprint. They are added to the day's entry: 1,250 words logged today plus a 480-word sprint makes 1,730. That is the difference from the Today box, where typing replaces the day's number. Undo takes the sprint back and puts the day's number back as it was. A sprint that starts at 23:50 and ends at 00:10 goes to the day it ended, the new day, and the page says so before you add it; the list shows its start time with the day it began.

Today's sprints are listed with their start time, length, words and words per minute, the words divided by the minutes the timer actually ran, pauses left out: 480 words in 25 minutes is 19.2 a minute, and 250 words in a sprint stopped after 10 of 20 minutes is 25. The project's best sprint is the one with the most words a minute. Sprints are kept in the project and in its saved file. The chime at the end is off until you tick it; it is two soft notes the page makes itself with your browser's Web Audio, with no sound file.

Several projects, one file each

Keep a novel, a short story and a revision side by side: New project adds one and the picker beside Today switches between them. Save file writes the open project as its own dankstory-words file: version 1 as before, version 2 once it names chapters or an outline, or version 3 once it holds a writing sprint (an older copy of this page refuses a file newer than it reads instead of misreading it, so a project with sprints opens only on this version of the page); Open file adds a saved project to this browser as a project of its own, so it never replaces the one you have open. A damaged file, a different kind of file (a Dankstory timeline, say) or one from a newer version is refused with a message, and nothing changes.

Exports

Save as spreadsheet (CSV): one row per logged day with the date, the words and the running total, for Excel, Google Sheets or LibreOffice; when the project has sprints, a blank row and then a second table in the same file, one row per sprint: the day it ended, its start, its length, the minutes it ran, its words and its words per minute. Export chart: the chart as a PNG (twice the screen size) or an SVG (fonts inside), on light or dark paper, or Print one A4 or Letter sheet with the totals, the chart and the calendar months of the goal. Progress card: a 1200 × 630 PNG with the project's name, the total against the goal, the day of the goal and your streak, to post if you want to; it carries the plain text dankstory.com and nothing else, no link and no tracking.

Plotting the book too? The plot grid lays a novel out with chapters down and plot lines across, and the timeline for writers keeps the same outline in story order and in the order things happen.

What it cannot do

  • Count from my manuscript reads the file once, when you open it, and never watches it: after the next writing session, open the saved file again. It reads .docx, .odt, .md and .txt only (export a Scrivener project or an online document to one of those first), and its count can differ from your writing app's by a few words, for the reasons the manuscript word counter gives.
  • It never logs a manuscript total smaller than the log's: cut words do not come off the days you wrote them.
  • No reminders or notifications: it only knows about a day when you open the page, and a sprint never nudges you to start one.
  • No sound unless you switch the chime on, and even then only while the page is open: a phone that has put the browser to sleep may stay silent at the end, and the sprint shows Sprint over when you come back.
  • No sprinting with friends: a sprint runs in your browser only, with no shared timer, room or leaderboard.
  • No sync between devices or browsers: carry a project by saving its file and opening it on the other one.
  • One outline per project, and one chapter per day: a day's entry names at most one chapter, so a day spent on two chapters counts towards the one you pick.
  • Chapter totals reach the outline only when you press Send to the plot grid. A plot grid already open in another tab keeps showing its old counts until you reload it, and a change made there before reloading saves over the sent ones.
  • The link knows the outline by where it is kept in this browser and by its name, so renaming the outline drops the link as if it had been replaced: link it again.
  • One entry per day: typing again replaces the day's number, it does not add to it (only a sprint adds). Days are your device's calendar dates; a log made after midnight counts for the new day, and a sprint counts for the day it ended.
  • Print shows at most six calendar months (the six around today) on its one sheet; the chart always covers the whole goal.
  • A goal runs for at most 10 years and 10 million words; a day holds at most 1,000,000 words.

Private by design

No account and no upload. Your log is saved in this browser on every change, and nothing you type leaves your device. A manuscript you open is read by this page in your browser and forgotten when you close the panel or the page; only its total, and with an outline its chapter counts, are kept, and only after you confirm.

Made with AI tools.