What Is Total Blocking Time
What Total Blocking Time Measures
Total blocking time (TBT) is a lab metric that adds up how long the browser's main thread was blocked, so it could not respond to input, between the first contentful paint and the point the page is considered interactive. It appears in Lighthouse reports and in similar lab tests.
The main thread is the part of the browser that runs most of a page's JavaScript, handles clicks and paints the page. When a task on that thread runs for a long time, the browser cannot respond to input until it finishes. TBT summarises how much of that blocked time happens during loading.
Long Tasks and How TBT Is Calculated
A long task is any task that takes more than 50 milliseconds. TBT counts only the part of each long task beyond the first 50 milliseconds, then adds those parts together for the loading window.
For example, a 250-millisecond task contributes 200 milliseconds of blocking time. Several small tasks under 50 milliseconds add nothing, since each one is short enough not to block input. Because the result is a lab figure, it depends on the device and network profile used in the test, which by default simulates a slower mobile device and connection.
Why TBT Stands In for INP in Lab Tests
Interaction to Next Paint (INP) is the better measure of responsiveness for real visitors, but lab tests cannot record the clicks and taps of actual people. TBT is used because it tracks the delays visitors feel reasonably well. A page with high TBT usually has long tasks that would also delay interactions during loading.
The two are not the same, however. TBT covers only the loading window, while INP measures interactions throughout the visit. A low TBT is encouraging but not a guarantee that INP will be good, because later actions such as opening a menu are not part of the lab test.
Frequently asked questions
What is a good TBT score?
In Lighthouse lab tests, a TBT of 200 milliseconds or less is rated good, and above 600 milliseconds is rated poor. Values in between sit in the middle range. Because results depend on the test setup, compare runs made with the same settings over time.
Why does TBT change between Lighthouse runs?
Lab results vary with background activity on the test machine, caching, browser extensions and network conditions. Many tools run a test several times and report a median, but results still fluctuate. Look for trends across several runs rather than reacting to a single result.
Is a high TBT the same as a slow page?
Not exactly. A page can have a high TBT and still show its content quickly, if the long tasks happen after the content appears. A high TBT points to scripts that tie up the main thread, which is worth investigating when visitors report that taps or clicks feel slow.