behavioral ux
Back to library

Fitts's law

Fitts's law models one rapid, aimed movement to a target whose position is already known: time rises with the logarithm of distance divided by target width. It describes the reaching, not the finding, and it was measured with a stylus rather than a finger.

Edit photo
Three tools in the bottom bar
Hit areas match the icons · 24dp, edge to edge
Without a padded hit area
Edit photo
Three tools in the bottom bar
Same icons, padded hit areas · 48dp, 8dp apart
With a padded hit area
Live demo

Fitts had people tap alternately between two metal plates, varying the width of the plates and the distance between them, defined an index of difficulty as log2(2A/W) bits, and found the rate of movement roughly constant across conditions: the claim was never that bigger is better, but that the price of precision is logarithmic. He also noted performance falling off “at the largest amplitudes and tolerances.” MacKenzie's review calls the model “one of the most robust, highly cited, and widely adopted models to emerge from experimental psychology,” replicated for wrist, finger, foot and head movement, under a microscope and underwater, in children and older adults, in Parkinson's disease, and in monkeys; the form HCI now uses is his Shannon version, MT = a + b·log2(A/W + 1). What it covers is narrow, though: Fitts and Peterson ran the task as a discrete response to a stimulus light and reported their rate only after factoring reaction time out. Size and distance govern the reach to a target the user has already chosen, and finding it is a separate, roughly linear cost.

Because difficulty is a logarithm of the distance-to-width ratio, each doubling of a target's width removes less difficulty than the last: from a target an eighth of the distance away, successive doublings take the index from 3.17 bits to 2.32, then 1.58, then 1.00 — savings of 0.85, then 0.74, then 0.58 bits. Parhi and colleagues found the ceiling empirically on a touchscreen: their pilots showed performance “leveled off for target sizes greater than 11.5 mm,” and in the study proper tap speed still improved from 9.6 mm to 11.5 mm while the error rate did not differ between those two sizes at all. Past roughly a finger pad you are paying pixels for nothing, so spend them on the next control. The constants do not travel either: across 24 published mouse models, Soukoreff and MacKenzie found reported throughput for ordinary pointing spread from 2.55 to 12.5 bits/s, tenfold for the same device and task, so no published slope is a time budget for your screen. The model also assumes roughly 4% of taps miss, and a control people miss a third of the time is not being described by it at all.

For finger input the law holds only with a term for the finger itself. Bi, Li and Zhai modelled endpoint spread as two independent normal distributions, one from the speed–accuracy trade-off and one the absolute imprecision of the finger, and their error rates are the numbers to size against: on 2.4 mm circular targets participants missed 65–66% of the time; at 4.8 mm, 25–27%; at 7.2 mm, 7%. Time degrades gently as targets shrink; accuracy falls off a cliff. How best to estimate the finger term is still argued over — Ko and colleagues fit it better as a free parameter than as a pre-measured constant — but the direction is not in dispute. Part of that floor is a systematic offset rather than noise, and it is in the hardware. Holz and Baudisch found users aligning features on the top of the finger with the target while capacitive hardware senses the contact area underneath, and their projected-centre model cut error offsets to 1.6 mm from 4 mm. Henze, Rukzio and Boll instrumented an Android game, found touch positions systematically skewed across over 120 million taps, and shipped a compensation function that reduced the error rate by 7.79%. You cannot style your way out of a sensor that reads low.

The platform minimums everyone quotes are convention that happens to agree with that work, not conclusions drawn from it. WCAG 2.2 adds Success Criterion 2.5.8 Target Size (Minimum) at Level AA — “The size of the target for pointer inputs is at least 24 by 24 CSS pixels” — with five exceptions: spacing, an equivalent control elsewhere on the page, inline targets in a sentence, user-agent-determined sizes, and presentations that are essential or legally required. Success Criterion 2.5.5 Target Size (Enhanced), at Level AAA, asks for “at least 44 by 44 CSS pixels” with four. Android's guidance states that “A touch target of 48x48dp results in a physical size of about 9mm” and that “The recommended target size for touchscreen objects is 7-10mm,” recommends 8dp of separation, and cites nothing on the page. That 9 mm sits almost exactly on the 9.2 mm for discrete tasks and 9.6 mm for serial tasks that Parhi, Karlson and Bederson recommended, so the number is defensible, just not derived in the document that publishes it.

Thumb-reach maps are the weakest link in the chain. The grip figures everyone redraws come from Hoober's observation of 1,333 people in public, 780 of them touching the screen: 49% one-handed, 36% cradled, 15% two-handed. It is a field survey rather than an experiment, the article says the reach zones “are only approximate and vary for different individuals,” and Hoober later told readers to ignore the touch-location drawings in it. Bergstrom-Lehtovirta and Oulasvirta derived the thumb's functional area from the kinematics of the gripping hand, with surface size, hand size and index-finger position as inputs, which is to say there is no single map. Where region has been tested directly the result is modest: on a 3.5-inch device Parhi found a main effect of target size on both time and errors but none of screen location on either, with only comfort ratings moving, while Trudeau and colleagues found right-handed thumb tapping on an iPhone best at the top right and worst at the bottom right. Design the thumb arc, but do not trust a coloured overlay copied from a blog post.

Screen edges invert between pointer and finger, which makes the desktop heuristic actively wrong on a phone. With a mouse the edge stops the cursor, making the target effectively unbounded and overshoot impossible, and a recent modelling paper surveying that literature puts the gain at as much as 44% over regular pointing, citing Appert, Chapuis and Beaudouin-Lafon. With a finger there is nothing to stop: Avrahami and Usuba, Yamanaka and Sato both found that smaller target-to-edge gaps increase movement time, Usuba's crowdsourced replication found error rate rising too, the standing guideline from these studies is a gap of at least 4 mm, and Henze's taps likewise showed edge targets to be less accurate. Kasahara's 2026 preprint complicates even that, reporting success rates improving when a target actually touches the edge, apparently because people tap the target and the bezel together — unreviewed, and on current phones the edges are given over to system gestures anyway. What reliably buys size is a hit area larger than the graphic. McGuffin and Balakrishnan found that “users benefit from target expansion even if the target only begins expanding after 90% of the distance to the target has been travelled,” with performance governed by the final size rather than the initial one. Their own caveat is the one to design around: with several adjacent expanding widgets the expansions collide, which is exactly what happens when overlapping touch padding is bolted onto a dense row of icons.

So the core claim is as strong as anything in this library, and almost everything built on top of it is weaker. The millimetre minimums are vendor convention, the thumb maps rest on one partly retracted field survey plus kinematic models of twenty hands, the edge rule reverses on touch, and none of it says anything about whether the target can be found. Use the law to decide what gets the big target and how far the hand must travel to it, then check the error rate, because that is the measure that moves first when a control is too small.

When it holds

  • The user already knows which target they are going for. MacKenzie describes a model for “rapid, aimed movements,” and Fitts and Peterson reached their rate only by factoring reaction time out — finding the control is a separate, roughly linear cost, and that is Hick's law territory.
  • Within a middle band of sizes and distances. Fitts reported that performance “fell off at the largest amplitudes and tolerances,” and Parhi's pilots found tap performance levelling off above 11.5 mm.
  • At roughly a 4% error rate. The standard accuracy adjustment normalises endpoint spread to 4.133 standard deviations, about 4% in the tails, so where people are missing a quarter of their taps the model no longer describes what they are doing.
  • For finger input, only with a term for the finger. FFitts added a separately measured absolute imprecision of 0.94 mm in one dimension and 1.5 mm in two and accounted for 96% of time variance against 86% for the effective-width form; how best to estimate that term is still contested.
  • Accuracy breaks before time does. Circular targets of 2.4 mm were missed 65–66% of the time, 4.8 mm 25–27%, 7.2 mm 7%, while movement times differed by only tens of milliseconds.
  • The coefficients are local to the setup. Reported throughput for mouse pointing ranges from 2.55 to 12.5 bits/s across 24 studies, and 3.7 to 4.9 bits/s across the five models that used the ISO 9241-9 method, so borrowed slopes predict nothing about your screen.
  • Edges help a pointer and hurt a finger. Edge pointing with a mouse has been measured as much as 44% faster, while on touchscreens smaller target-to-edge gaps raise both movement time and error rate, with a 4 mm gap the standing recommendation.
  • Reach depends on grip and hand size, not on a fixed map. The thumb's functional area has been modelled from surface size, hand size and index-finger position; on a 3.5-inch device, screen region changed comfort ratings but not measured time or error.
  • Expansion counts the final size. Users got the benefit of a larger target even when it began growing after 90% of the travel, which is why an invisible hit area works — until adjacent ones overlap.

How to apply

  • Size the primary action for a finger, not a cursor: 48dp, which is about 9 mm at any density, against the 9.2 mm for single taps and 9.6 mm for sequences the thumb studies recommend. Treat WCAG's 24 by 24 CSS pixels as the legal floor, not the design target.
  • Grow the hit area rather than the graphic. Pad a 24dp icon out to a 48dp touch target, and leave at least 8dp between neighbouring targets so the padded areas do not overlap.
  • Keep tap targets at least 4 mm clear of the screen edge, and keep nothing tappable inside the system gesture strip. The desktop habit of parking controls in a corner inverts on touch: the edge that stops a cursor does nothing for a finger.
  • Shorten the travel as well as growing the target. Put the confirm button inside the sheet that asked the question and the submit button at the end of the fields, rather than back up in a header.
  • Place the one-handed happy path inside the thumb's arc — bottom sheets, bottom bars, actions on the thumb side — and move destructive or rare controls to the far corner, diagonally opposite the grip. Decide that arc from the device sizes in your analytics, not from a reach diagram.
  • Give the exit the same target as the entrance. If accept is a full-width 48dp button, then decline, cancel and unsubscribe are full-width 48dp buttons, in the same place in the stack and reachable with the same thumb.
  • Reserve the largest target in a view for the action users most often want, and make everything destructive smaller-but-still-compliant, further away, and confirmed. One large close target beats a 24-pixel cross in the corner of an interstitial.
  • Test on the largest and smallest physical devices you support, not at one density. A 48dp target is about 9 mm everywhere, but the distance a thumb has to cover to reach it is not.

What to avoid

  • Making the protective choice a smaller or harder-to-reach target than the profitable one. The EDPB's deceptive design guidelines state that compliance “does not mean that all options need to look exactly the same,” but that if a provider highlights one option “this needs to be the most restrictive one regarding personal data,” citing data minimisation in GDPR Article 5(1)(c); the pattern where “the action to accept ads is far more visible than the refusing option” is their Annex I item 4.3.2, Hidden in plain sight, engaging Articles 5(1)(a), 7 with 4(11), 12(1) and 12(2).
  • Hiding the opt-out behind an extra tap. In Nouwens and colleagues' field experiment, removing the opt-out button from the first page of a consent notice raised consent by 22–23 percentage points, while adding granular controls to that page lowered it by 8–20; across 680 scraped consent pop-ups on the UK top 10,000 sites, only 11.8% met minimal legal requirements.
  • Making the way out longer than the way in. The EDPB reads Article 7(3) phrase 4 GDPR as a “mirroring effect” — “it shall be as easy to withdraw as to give consent” — and lists Obstructing: Longer than necessary (Annex I 4.4.2) as a pattern in its own right. In the US the binding hook is statutory: 15 U.S.C. § 8403(3) requires “simple mechanisms for a consumer to stop recurring charges,” and it is the statute that matters because the FTC's 2024 click-to-cancel rule was vacated in full by the Eighth Circuit in Custom Communications v. FTC on 8 July 2025 for a procedural defect in the rulemaking.
  • Putting a tiny dismiss control next to a large action that costs money — a 24-pixel cross beside a full-width buy button, an ad close target smaller than the ad. A mis-tap that charges someone is not a measurement error, and on touch the corner is the worst place to put it.
  • Faking large targets with overlapping hit areas. Adjacent expanding or padded targets interfere, so the tap lands on the neighbour; give each one real room instead, at least 8dp apart.
  • Quoting 44 points or 48dp as a research finding. They are platform conventions published without citation; the measured numbers are 9.2 and 9.6 mm, and the normative floor is WCAG 2.2's 24 by 24 CSS pixels at Level AA and 44 by 44 at Level AAA. Leaning on the Spacing exception to ship 10-pixel icons also means honouring the spacing it requires.
  • Reaching for Fitts's law when the screen is slow because nobody can find the control. Size and distance govern the reach; the search is a different cost, and no amount of button is going to fix a label.

Real-world examples

Spotify now-playing screen for the podcast Good Hang with Amy Poehler, episode Maya Rudolph (Live). The progress bar reads 2:45 elapsed and -1:19:50 remaining. The transport row runs 1.5× speed at the far left, a skip-back-15-seconds circle, a large white circular pause button at the centre about twice their diameter, a skip-forward-15-seconds circle, and a sleep timer icon at the far right, each separated by a gap. A row of smaller connect, share and queue icons sits below, above a Comments section with Show all (197).
Spotify makes pause the largest target in the player — a filled white circle roughly twice the diameter of the 15-second skip buttons on either side of it — and pushes the 1.5× speed control and the sleep timer out to the ends of the row with a clear gap between each, so the control reached for most often is the easiest one in the row to hit and the occasional ones are not sitting under the same thumb.
Cash App Deposit locations screen showing a map of Chicago with clustered green pins and a header holding a close, search and filter control. A bottom sheet titled Deposit type covers the lower part of the screen with two rows, Barcode with an empty checkbox and Card swipe with a ticked checkbox, above a full-width black Apply button inside the sheet.
Cash App puts Apply inside the sheet that asked the question, as a full-width button directly under the Barcode and Card swipe rows it confirms, so the tap that commits the choice lands where the hand already is instead of travelling back up to a control over the map.
komoot privacy screen headed We value your privacy, with body text explaining that tracking technologies are either essential or used to produce aggregated statistics, that consent to personalised in-app services is given by tapping Accept All and Continue, that settings can be changed under In-app tracking preferences at any time, and that tapping Refuse rejects non-technical tracking technologies, with a link to the Privacy Policy. Two identical full-width green buttons read Accept All and Continue and Refuse, with Customize Preferences as plain text beneath them.
komoot gives Refuse the same full-width button, the same green fill and the same place in the stack as Accept All and Continue, leaving Customize Preferences as a plain text link below the pair, so declining tracking is one tap on a target the size of the one that accepts it.
Instacart cancellation screen headed samlee.mobbin+1, you haven't used your free trial yet, with the line You still have 14 days to take advantage of your member benefits. Three benefits are listed: $0 grocery delivery fees on orders of $10+ with service fees and a $35 minimum for Costco, $0 restaurant delivery fees on eligible orders of $25+, and Shop together with family. A line reads Question or issue? Get help. At the bottom a grey full-width Keep membership button sits above a red full-width Confirm cancellation button of the same size.
Instacart stacks Keep membership and Confirm cancellation as two full-width buttons of the same height at the foot of its retention screen, so after the 14 remaining trial days and the three member benefits have been read, leaving takes the same single tap in the same thumb position as staying.
Formula 1 screen headed Delete F1 Account with the line I will be contacted if there are problems. Two ticked checkboxes read I understand and I confirm my account deletion, with the rest of the screen left empty. Near the bottom a 4/4 marker sits above a red full-width Delete my account button, with an outlined full-width Cancel button of the same size beneath it.
Formula 1 places the irreversible action at the end of a numbered flow, marked 4/4, behind two ticked confirmations reading I understand and I confirm my account deletion, and still gives Cancel the same full-width target as the red delete button, directly below it and nearest the thumb.
1 / 5

Measuring it

  • Primary metric: time from the step being ready to a successful tap on the intended control, segmented by physical device size. An average across a 4.7-inch phone and a tablet hides the reach effect you are trying to change.
  • Secondary: per-control error rate — mis-taps on neighbours, immediate undo, repeated taps, and dismissals followed by a return to the same screen. Watch edge-adjacent and corner controls as their own cohort, since a scrolling list moves any row into that band.
  • Instrument where the finger actually lands, not just whether it hit. A cluster of taps consistently landing high or low on a control tells you the hit area is in the wrong place before the error rate does.
  • Backfire metric: the accept-to-decline ratio, and completion of the cancel, unsubscribe and reject-all flows. If making one button bigger moved that ratio rather than the completion time, you changed the choice, not the ergonomics — and that is the version regulators read as a deceptive pattern.
  • Backfire metric: accidental activations. Count rage taps, undos within a couple of seconds, refunds on one-tap purchases, and ad clicks with sub-two-second bounces. A target that is large and close to the thumb will be hit by accident at a rate proportional to how easy you made it.

References

For agents

An agent-friendly guide to this principle lives at /agents/fitts-law.md.

Our MCP server and skills for all principles are coming soon.

Similar principles

Disclaimer: The theories here are just that — theories. They may not apply universally and should be considered in context. Use your own judgment and consult additional sources when applying these principles.