PomoTodoPomoTodo

Habit Tracker

A month on one grid. Tap the day, keep the streak, print it if you prefer paper.

Loading
Habit
Done

Tap a square to tick the day. A streak survives today being untouched, so it only breaks once a full day is missed. Everything saves in your browser and prints on one page.

Ticking the box is the record. The timer is the doing.

Habits that involve real work need more than a tick. PomoTodo runs the session, tracks how long you actually spent, and keeps the history next to the tasks it belonged to.

Free plan tracks unlimited focus time across unlimited tasks. No card required.

A habit tracker works because it turns something invisible into something you can see. Nobody remembers how many days they read this month. A grid with twelve ticks and nineteen blanks is harder to argue with.

Add the habits you are tracking and tap a square for each day you do one. The streak counts the run you are currently on and does not break just because today has not happened yet, so opening this in the morning does not reset anything.

Everything stays in your browser, and the print button gives you a clean grid for the fridge if you would rather tick it with a pen. Move between months with the arrows to look back at how a habit actually went.

More tools

Questions

How does the streak count work?

It counts backwards from today through consecutive ticked days. Today being untouched does not break the run, so a streak built up to yesterday still shows until the day is genuinely missed.

Can I print a blank habit tracker?

Yes. Add your habit names, leave the squares empty, and use the print button. The editing controls are hidden on the printed version so you get a clean grid for the wall.

Is my data saved anywhere?

Only in your own browser. There is no account and nothing is uploaded, which also means the tracker will not follow you to a different device.

How many habits should I track at once?

Fewer than feels satisfying. Three or four is enough to be useful, and a grid with ten rows tends to get abandoned in the second week.