Interaction to Next Paint (INP): The Responsiveness Metric Most Sites Ignore
Quick answer
Interaction to Next Paint (INP) measures how quickly a page visibly responds after someone taps, clicks or types. It replaced First Input Delay as a Core Web Vital in March 2024. A good INP is 200 milliseconds or less; 200 to 500 milliseconds needs improvement; over 500 milliseconds is poor. Slow INP is almost always caused by too much JavaScript running in the browser, often from plugins, page builders, chat widgets and tracking scripts.
Your page loaded quickly. Great. Now someone taps the menu button. Nothing happens. They tap again. Half a second later the menu opens, then closes, because it registered both taps.
That’s a responsiveness problem, and it’s measured by a metric most business owners have never heard of: Interaction to Next Paint.
What is Interaction to Next Paint?
INP looks at the interactions a visitor has with a page (taps, clicks and key presses) and measures how long it takes for the screen to visibly update after each one. It then reports a value close to the slowest interaction during the visit.
In other words, it’s not about how fast the page loads. It’s about how fast the page reacts once it’s there.
INP became one of Google’s three Core Web Vitals in March 2024, replacing First Input Delay, which only measured the very first interaction. INP is stricter because it considers the whole visit.
What is a good INP score?
| INP | Google’s rating | How it feels |
|---|---|---|
| 200 ms or less | Good | Instant |
| 200 to 500 ms | Needs improvement | Slightly sticky, “did that work?” |
| Over 500 ms | Poor | Laggy; people tap twice or give up |
Why doesn’t INP appear in my lab test?
Good question, and it confuses a lot of people. INP needs a real person interacting with the page, so it can only be measured from real visitors. It appears in the field data section at the top of PageSpeed Insights, if your site has enough traffic.
In the lab test, the closest stand-in is Total Blocking Time (TBT). TBT measures how long the page is too busy running code to respond during loading. High TBT is a strong hint that INP will be poor too. We explain the difference between these two kinds of data in lab data vs field data.
Why does responsiveness matter?
Because the moments when people interact are usually the moments that make you money. Opening the menu to find “Services”. Tapping “Add to cart”. Typing into an enquiry form. Selecting a date in a booking widget.
Imagine a customer booking a table at a restaurant in Stellenbosch. They tap a time slot and nothing seems to happen for a second. They tap again, accidentally selecting a different slot. Frustration, then a phone call, or a booking somewhere else.
Laggy interactions make a site feel broken even if it loaded quickly. And because INP is a Core Web Vital, it’s part of how Google assesses page experience.
What causes poor INP?
Your browser runs most of a page’s code on a single main thread. While it’s busy with a long task, it can’t respond to taps. Common reasons it gets busy:
- Too many plugins and page builder features, each loading its own scripts.
- Third-party scripts: chat widgets, heatmaps, social embeds, multiple analytics and ad tags.
- Heavy event handlers: code that does a lot of work every time someone clicks, such as filtering a large product list.
- Very large pages with thousands of elements, which take longer to update.
- Older, cheaper phones, which magnify every one of these problems. Many of your visitors use them.
How to improve INP
Audit your scripts. List every plugin, tag and widget on the site and ask, “Does this earn its place?” Removing two or three unnecessary scripts often makes a visible difference.
Load third-party tools later. Chat widgets and tracking tags can usually load after the page is interactive, or only when needed.
Use Google Tag Manager carefully. It’s convenient, but it makes it easy to pile up tags. Clean out old ones.
Simplify interactive features. Mega-menus with animations, complex sliders and live filters are frequent offenders.
Ask your developer about long tasks. Breaking heavy code into smaller chunks, so the browser can respond in between, is a standard fix.
Choose lightweight tools. When we built the Outview AI Chatbot, keeping it light on the page was a deliberate design goal, because a chat widget that makes the whole site laggy defeats the purpose.
Common mistakes
Only looking at the lab score. A green lab Performance score doesn’t guarantee good INP. Check the field data and TBT.
Testing on a fast laptop. Try your site on a mid-range Android phone. That’s the reality for a lot of customers.
Adding “one more” tool. Every widget feels small. Ten of them together are not.
When to get help
Removing plugins and old tags is something you can start today. Code-level fixes need a developer. If your site was assembled from many heavy plugins over the years, a cleaner rebuild is sometimes cheaper than patching. It’s one of the foundation checks we run in a website review.
Key takeaways
- INP measures how quickly a page visibly responds to taps, clicks and typing.
- Good is 200 ms or less. It replaced First Input Delay in March 2024.
- INP comes from real users; in lab tests, watch Total Blocking Time instead.
- Heavy JavaScript from plugins and third-party tools is the usual cause.
- Test on a real mid-range phone, not just your laptop.
Frequently asked questions
What does INP stand for?
Interaction to Next Paint, a Core Web Vitals metric for how quickly a page responds to user interactions.
What is a good INP score?
200 milliseconds or less is good, 200 to 500 milliseconds needs improvement, and above 500 milliseconds is poor.
What replaced First Input Delay?
INP replaced First Input Delay as a Core Web Vital in March 2024.
Why can’t I see INP in my PageSpeed lab results?
INP requires real user interactions, so it only appears in field data. Total Blocking Time in the lab test is the closest indicator.
Do chat widgets hurt INP?
Heavy ones can. Choose lightweight tools and load them after the main content is interactive.
Check your Total Blocking Time and real-user data with our free foundation checker.
Check my foundation