Colors

← Guides

How long does it take to build a habit?

The honest answer is that it depends, and the range is enormous: somewhere between about three weeks and eight months, with a typical case around two months. That is a less satisfying answer than “21 days”, which is why 21 days is the one everybody repeats.

It is worth knowing where each number came from, because the difference changes what you should expect of yourself.

Where “21 days” came from

In 1960 a plastic surgeon named Maxwell Maltz published Psycho-Cybernetics. In it he noted that his patients seemed to take about 21 days to get used to a change: to stop reaching for a limb that was no longer there, or to stop being startled by a new face in the mirror.

That is a clinical observation, and Maltz reported it as one. It was not an experiment. There was no control group, no measurement of habit strength, and nothing about acquiring a new behaviour like running or flossing. He was describing how long it took people to adjust to something that had already happened to them.

The book sold in enormous numbers, and over the following decades the observation lost its author, its context and its hedging, and became a rule: it takes 21 days to form a habit. It is repeated in productivity books, app onboarding and motivational posts to this day, generally with no source attached, because there is no source to attach.

If you have ever felt like a failure for still finding something hard on day 22, that feeling was manufactured by a misquoted anecdote from 1960.

What the research actually found

The most-cited real study on this is Lally et al. (2009), published in the European Journal of Social Psychology, out of University College London. It is where the useful numbers come from.

Ninety-six participants each chose an everyday habit they wanted to acquire: a healthy eating, drinking or exercise behaviour, like “eat a piece of fruit with lunch” or “run for 15 minutes before dinner”. They performed it daily in the same context and, each day for 12 weeks, recorded whether they had done it and rated how automatic it felt.

Automaticity is the thing being measured, and it is the right thing to measure. A habit is not “the behaviour happened”, it is “the behaviour happened without deliberation”, meaning without having to decide, negotiate with yourself, or expend willpower.

The findings:

  • The median time to reach the automaticity plateau was 66 days. Roughly two months, not three weeks.
  • The range ran from 18 days to 254 days. The fastest participants got there in under three weeks; some were still climbing after eight months, and the researchers had to extrapolate for them.
  • Automaticity built gradually, following a curve that rises steeply at first and then flattens, rather than switching on at some threshold.
  • Missing a single day did not measurably harm the process. One missed opportunity had no significant effect on the eventual automaticity.

The paper is How are habits formed: Modelling habit formation in the real world, and it is worth reading rather than taking anybody’s summary of it, including this one: doi.org/10.1002/ejsp.674.

What that means in practice

Two months is a reasonable expectation, not three weeks. If you are planning a change around a 21-day sprint, you are likely to finish that sprint before the habit is anywhere near automatic, and then interpret the difficulty as a personal failing rather than as the normal middle of the curve.

The range matters more than the median. 18 to 254 days is a factor of fourteen. Where you land depends on the behaviour (50 press-ups is a harder thing to automate than a glass of water), on the person, and on how consistently the cue is available. Comparing your day 40 to somebody else’s is close to meaningless.

Missing one day is not a reset. This is probably the most practically useful finding in the paper, and it directly contradicts the “don’t break the chain” framing that a lot of habit tracking is built on. One missed day did not significantly set participants back. The thing that matters is the overall pattern, not an unbroken run.

That last point is worth sitting with, because streak counters are designed around the opposite belief. A counter that resets to zero after one missed day tells you something the evidence does not support, and it tends to produce the response where, having broken a 40-day streak, you abandon the habit entirely. The streak was never the thing. The two months of mostly-doing-it was the thing.

The plateau is where visual tracking earns its keep

The hard stretch is not the first week. The first week has novelty. The hard stretch is weeks three to eight, where the behaviour is no longer novel but is not yet automatic, and each repetition still costs something.

That is a long time to work without visible feedback, and it is exactly where most attempts die.

What helps is being able to see the accumulation, not as a number that judges you, but as a shape. A month where most days are filled in with a couple of gaps is a good month, and it looks like a good month at a glance. That reading is more accurate than any streak counter, because it matches what the research found: consistency in aggregate, with room for missed days that do not undo anything.

This is what Colors is built around. Every habit gets a color, and the month calendar paints itself as you check in, each day a ring divided into the habits you finished that day. On day 45, when the behaviour still feels like work, you can look at six weeks of color and see that it is working even though it does not feel like it yet.

The plateau is real, it lasts about two months on average, and it is not evidence that you are doing it wrong.

In short

  • 21 days is not a finding. It is a 1960 observation about surgical patients adjusting, repeated until it sounded like science.
  • The research (Lally et al., 2009) found a median of 66 days, ranging from 18 to 254.
  • Automaticity builds gradually; there is no day on which it switches on.
  • Missing one day does not undo the process, which is a good reason to distrust anything that resets to zero when you do.