TapCub is live — analytics, insights and live chat, free on one platform
Glossary

First input delay (FID): what it measured and why INP replaced it

First input delay measured how long a page made users wait after their first click or tap. Thresholds, a timeline comparing FID with INP, why Google replaced it in March 2024, lab proxies and how to reduce input delay.

Chen Yu Reviewed by Xu An Also called FID Last updated Nov 5, 2026 Glossary

Quick answer

First input delay (FID) measured the time from a user’s first interaction with a page to when the browser could begin processing event handlers for it. It was a Core Web Vital until 12 March 2024, when Interaction to Next Paint (INP) replaced it.

Formula: FID = time handler processing starts − time of first input

What is first input delay?

First input delay (FID) measures the time from a visitor's first interaction with a page (a click, tap or key press) to the moment the browser can start running the code that responds to it. It captures how long the page ignores the user because the main thread is busy, usually with JavaScript.

FID was one of Google's three Core Web Vitals from 2020. On 12 March 2024 Google replaced it with Interaction to Next Paint (INP), and FID is no longer a Core Web Vital. You will still see it in older reports, articles and tools.

FID thresholds

Google's thresholds, assessed at the 75th percentile of real page loads:

RatingFID
Good100 ms or less
Needs improvement100–300 ms
Poorover 300 ms

What FID measures, and what it misses

An interaction has three parts. A worked timeline for one tap on a "Add to cart" button (sample):

PhaseFromToDurationCounted in FID?Counted in INP?
Input delayTap at 1,200 msMain thread free at 1,380 ms180 msYesYes
Processing1,380 msHandlers finish at 1,470 ms90 msNoYes
Presentation delay1,470 msNext frame painted at 1,510 ms40 msNoYes
TotalFID = 180 msINP = 310 ms (if this is the slowest interaction)

So FID only covered the waiting part of the first interaction. A page could have a good FID while every later click was slow, or while event handlers themselves took hundreds of milliseconds. INP fixes both gaps by considering all interactions on the page and their full duration until the next paint.

Why FID was replaced

  • First interaction only. Many slow interactions happen later, after the page has loaded.
  • Delay only. Slow event handlers and rendering were invisible.
  • Too easy to pass. In Chrome's field data, the large majority of sites already had good FID on mobile, so it no longer separated fast sites from slow ones.

Related lab metrics

FID needs a real user to interact, so it can only be measured in the field. In lab tools such as Lighthouse, total blocking time (TBT) and "max potential FID" (the longest task during load) are used as proxies: both measure how long the main thread is blocked by long tasks.

How to improve input delay

The causes of high FID are the same as the input-delay part of INP:

  1. Break up long tasks. Split JavaScript work into chunks under 50 ms and yield to the main thread between them.
  2. Ship less JavaScript. Remove unused code, split bundles, defer non-critical scripts.
  3. Delay third-party scripts (tags, widgets, A/B testing scripts) until after the page is interactive.
  4. Avoid heavy work on load such as hydrating large components the user cannot see yet.
  5. Move work off the main thread with web workers where possible.

In TapCub

TapCub's performance report measures Core Web Vitals from real visits and reports INP, together with LCP, CLS, time to first byte and first contentful paint, at P75, P95, median or average. It does not report FID, because INP replaced it. If you are comparing against an old FID baseline, read INP's input-delay share as the closest equivalent. See Core Web Vitals and check Core Web Vitals.

Sources

Was this explanation clear?

We use your answers to fix and expand this page.

Chen Yu

Technical Engineer

Focuses on tracking code, SDKs, and API integrations, with practical guidance on implementation checks and troubleshooting.

FAQ

Questions people ask

Short answers to the follow-up questions that come up most.

Still have a question?

Chat with the team behind TapCub — we usually reply within a few hours on business days.

Is first input delay still a Core Web Vital?

No. Interaction to Next Paint replaced FID as a Core Web Vital on 12 March 2024.

What is a good FID score?

100 ms or less at the 75th percentile of page loads; over 300 ms was rated poor.

What is the difference between FID and INP?

FID measured only the input delay of the first interaction. INP considers all interactions and includes processing and rendering time up to the next paint.

Can I measure FID in Lighthouse?

No, FID needs real user input. Lighthouse reports total blocking time and max potential FID as lab proxies.

See this number on your own site

Add one script tag for web and apps, and the first reports fill in within minutes.

See your data clearly. Find your growth.

Every click, backed by data. Install one line of code and see your first numbers in a minute.

No credit card · Free plans for analytics and chat · Cookieless analytics