Performance
How to Improve Interaction to Next Paint (INP)
INP replaced FID in March 2024. It measures the slowest interaction (click, tap, keypress) on the page — from input to next paint. Under 200ms = good. Over 500ms = poor. Heavy main-thread JavaScript is almost always the cause.
Try our Speed testFind the slow interactions
Lighthouse and the Web Vitals extension report the slowest INP and which event triggered it. Chrome DevTools Performance panel shows the breakdown — input delay processing presentation delay.
Break up long tasks
Any task over 50ms blocks input. Split heavy work with await new Promise(r => setTimeout(r 0)) between chunks or use isInputPending() / scheduler.yield() to yield to the browser.
Move work off the main thread
Heavy parsing image processing encryption large array operations — push to a Web Worker. The main thread stays free for input handling.
Defer non-critical scripts
Third-party analytics chat widgets A/B test tools — defer them with or load after first interaction. Reduces JS that runs synchronously on every interaction.
Want to verify your setup?
Run the check now