Free tool · no signup

GitHub-style habit graph generator

A habit graph is the GitHub contribution graph applied to one habit: one square per day, a column per week, and darker squares on days you did more. Paint the days below or import a CSV, and the page works out your consistency since day one, your current and longest streak, and how many times you came back after a miss, then exports the graph as a PNG or SVG. It leads with consistency rather than streaks because in the best-known habit study, missing a single day did not materially affect habit formation.

Runs in your browser · Nothing uploaded · No account, no email

Habit graph

in your browser

The habit above is an example, so the page has something to show. Clear it and paint your own, or import a CSV. Your graph is saved in this browser on this device; nothing is uploaded, so download the PNG or SVG for a copy you keep.

How it works

A contribution graph, for something that isn’t code.

GitHub’s graph works because a year of small actions fits in one glance. The same picture works for any habit you do on a day or don’t.
  1. 01

    Name it and paint it

    Type the habit’s name, then tap days to mark them. With a mouse you can drag across a run of days in one stroke. “How much” mode gives four shades, the way GitHub shades busy days darker.

  2. 02

    Or import what you already have

    Paste one date per line from any app or spreadsheet, with an optional number after it. A Habit Pocket CSV export works as it is: pick the habit and the graph fills in. Numbers become shades by quartile.

  3. 03

    Style it and download it

    Five colors, light or dark, Monday or Sunday weeks. Download a PNG for a post or a 2× retina image, or an SVG for a README, a slide, or a printout that stays sharp at any size.

The numbers

What each stat means, exactly

Four numbers, each defined in one sentence, so the graph you post means the same thing to everyone who reads it.

Consistency

Done days divided by every day from your first marked day to today (or to the end of the year you are looking at). Days before you started do not count against you. Next to it, the share of the last 30 days you did it, because a year-long average hides last month.

Current streak

Done days in a row, counting back from today. If today is not marked yet it counts back from yesterday, because the day is not over. A past calendar year has no current streak, so the tile shows a dash.

Longest streak

The longest run of consecutive done days inside the range on screen. Shown, but not as the headline, for the reason in the next section.

Comebacks

How many times a done day followed one or more missed days, after your first day. It is the stat a streak counter throws away, and the one the research says matters.

The research

Why consistency comes first, and streaks second

Most habit graphs are built around the streak. The studies point somewhere else.

The 66-day figure, with its range

In Lally and colleagues’ 2010 study, 96 volunteers each repeated one daily behaviour for 84 days and rated how automatic it felt. Among the 39 whose ratings fitted the model well, the median time to reach 95% of their own plateau was 66 days, and the range ran from 18 to 254. Missing a single day “did not materially affect the habit formation process”.

The median is the least useful part of that sentence. A 2024 review of 20 studies and 2,601 people found medians of 59 to 66 days but means of 106 to 154, and individual times anywhere from 4 to 335 days. A 2023 study of 30,110 gym members put exercise at roughly four to seven months, while hospital staff formed a hand-washing habit in a couple of weeks. How long it takes depends far more on the behaviour and the person than on any number of days.

A broken streak costs more than the missed day. Across seven studies, Silverman and Barasch found that seeing an intact streak raised people’s next engagement and seeing a broken one lowered it, even when their actual behaviour was the same. The missed day did almost nothing to the habit in Lally’s data. The way it was displayed did something to the person. So the tool puts consistency first and counts comebacks, the stat a streak counter throws away.

Coming back is the move that works. In a megastudy of 61,293 gym members testing 54 programmes, the most effective one paid a small bonus for returning after a missed workout and lifted visits by about 27%. In the 2023 gym data, the strongest single predictor of a visit was how many days had passed since the last one. The gap matters more than the run.

Looking at the graph is part of the method. A meta-analysis of 138 studies found that monitoring progress improved goal attainment, with a larger effect when progress was physically recorded or made public. A graph you paint yourself, or post, is both.

What this page will not show you

There is no “habit strength” percentage and no “habit formed” badge. Lally’s curve was fitted to how automatic a behaviour felt each day, which a done-or-not grid does not record, it fitted well for fewer than half the participants, and how fast it rose varied seventeen-fold from one person to the next. Any tool that turns your ticks into that number is inventing it.

Sources

  1. [1]
    How are habits formed: Modelling habit formation in the real world

    Lally, van Jaarsveld, Potts & Wardle, 2010 · European Journal of Social Psychology 40(6), 998–1009

    96 volunteers repeated one daily behaviour for 84 days and rated how automatic it felt. Among the 39 whose curve fitted well, the median time to 95% of their plateau was 66 days (range 18 to 254), and missing one day “did not materially affect the habit formation process”.

  2. [2]
    Time to Form a Habit: A Systematic Review and Meta-Analysis of Health Behaviour Habit Formation and Its Determinants

    Singh, Murphy, Maher & Smith, 2024 · Healthcare 12(23), 2488

    20 studies, 2,601 participants. Median times to form a habit of 59 to 66 days, means of 106 to 154 days, and a full range of 4 to 335 days.

  3. [3]
    What can machine learning teach us about habit formation? Evidence from exercise and hygiene

    Buyalskaya, Ho, Milkman, Li, Duckworth & Camerer, 2023 · PNAS 120(17), e2216115120

    Gym habits in 30,110 members took a median of about 4 to 7 months; hand-washing in 3,124 hospital workers took a couple of weeks. The best predictor of the next gym visit was how many days had passed since the last one.

  4. [4]
    On or Off Track: How (Broken) Streaks Affect Consumer Decisions

    Silverman & Barasch, 2023 · Journal of Consumer Research 49(6), 1095–1117

    Across seven studies, seeing a broken streak lowered people’s next engagement compared with an intact one, independent of what they had actually done. The reason this page leads with consistency, not streaks.

  5. [5]
    Megastudies improve the impact of applied behavioural science

    Milkman, Gromet, Ho, Kay, Lee, Pandiloski et al., 2021 · Nature 600, 478–483

    61,293 gym members, 54 programmes. The most effective one rewarded coming back after a missed workout and added 0.40 visits a week, about 27%. The reason the page counts comebacks.

  6. [6]
    Does monitoring goal progress promote goal attainment? A meta-analysis of the experimental evidence

    Harkin, Webb, Chang, Prestwich, Conner, Kellar, Benn & Sheeran, 2016 · Psychological Bulletin 142(2), 198–229

    138 studies, 19,951 participants. Monitoring progress improved goal attainment (d = 0.40), more so when the information was physically recorded or made public.

This graph holds one habit. Your days hold more than one.

Habit Pocket keeps every habit in one grid, on iPhone and the web, with heatmap charts and a skip that pauses a streak instead of breaking it. You can export everything as CSV at any time, on every plan, and drop it straight back into this page.

5 habits free, forever. No credit card. Your data stays private.

FAQ

Habit graphs, answered

Type the habit’s name at the top of this page, then tap each day you did it, or paste a list of dates to import them. The graph draws one square per day in week columns, exactly like a GitHub contribution graph, and shades a day darker the more you did. When it looks right, download it as a PNG or an SVG. It runs in your browser, needs no account, and saves to this device only.

In the best-known study, 96 volunteers each repeated one daily behaviour, and among those whose data fitted the model it took a median of 66 days for the behaviour to become about as automatic as it would get. The range was 18 to 254 days. A 2024 review of 20 studies found medians of 59 to 66 days and means of 106 to 154, and a 2023 study of 30,110 gym members put gym habits at roughly four to seven months. The honest answer is about two months for something simple, longer for something hard, and wide variation either way.

Not in the research. In Lally and colleagues’ 2010 study, missing a single opportunity “did not materially affect the habit formation process”: automaticity dipped very slightly and kept rising. What a missed day does break is a streak counter, and a 2023 set of seven studies found that seeing a broken streak lowers people’s next engagement even when their actual behaviour was the same. That is why this page leads with consistency and counts comebacks.

There is no validated threshold. For calibration, the people whose habits formed most clearly in the 2010 study did the behaviour on a median of 88% of days, with the middle half between 80% and 94%. For exercise, a 2015 study of 111 new gym members found that at least four sessions a week for six weeks was the minimum to establish the habit. Those are descriptions of what happened in studies, not targets you have to hit.

Both, depending on whether the streak is intact. An intact streak raised people’s next engagement in Silverman and Barasch’s studies, and a broken one lowered it, regardless of what they had actually done. Rewarding the return instead helps: in a 61,293-person megastudy, the best of 54 gym programmes paid a bonus for coming back after a missed workout and added about 27% more visits. A streak is worth seeing; it is a poor thing to make the whole graph about.

Yes, as a CSV. Paste or upload any file with one date per line (2026-03-14 or 2026/03/14), optionally followed by a number, and each date becomes a done day. Rows with a zero, “no”, or “false” after the date are skipped. A Habit Pocket export is read as it is: choose the habit from the list. The file is read in your browser and never uploaded.

Last updated October 2026 · I built this graph myself, and every number on this page links to the paper it comes from · By Bohdan Stefaniuk