What Is Interaction to Next Paint?

Published
14 min read

Interaction to Next Paint measures page responsiveness across real interactions. Learn thresholds, latency phases, causes and fixes.

What Is Interaction to Next Paint?

Interaction to Next Paint, or INP, measures page responsiveness by observing the latency of qualifying click, tap and keyboard interactions throughout a visit and reporting a high-latency representative interaction.

An interaction begins when a visitor provides input and ends when the browser presents the next visual frame associated with that interaction. INP looks beyond the first input, so it can reveal controls that become slow after the page has loaded. For most visits, the longest observed interaction becomes the value; visits with many interactions use an outlier adjustment so one random hiccup does not dominate indefinitely. INP is a field-oriented outcome. A page with no interactions cannot produce a meaningful interaction sample for that visit. Diagnosis requires attribution to the target, event handlers and latency phases rather than one route-level number.

  • Observes clicks, taps and keyboard interactions
  • Measures throughout the page visit
  • Ends at the next presented frame
  • Represents a high-latency interaction
  • Varies by device and interaction mix
  • Needs field attribution for diagnosis
  1. Frame the decision raised by What Is Interaction to Next Paint.
  2. Render the page with its required scripts and resources.
  3. Compare content, links, metadata and canonical signals.
  4. Trace each difference to the responsible template or script.
  5. Apply the fix and repeat both observations.
INP fundamentals
QuestionAnswerWhy it matters
What is measured?Interaction latencyRepresents responsiveness
Which inputs?Click, tap and keyboardNot every event type
Time spanEntire visitFinds later problems
EndpointNext presented frameIncludes rendering wait
Reported valueHigh-latency representative interactionFocuses worst experience
Primary sourceField interaction dataNeeds real usage

INP becomes actionable when the reported latency is tied to the exact interaction, component and delay phase that produced it.

What Is a Good INP Score?

A practical INP target is 200 milliseconds or less at the 75th percentile of page visits, separated for mobile and desktop; above 200 through 500 milliseconds needs improvement, while above 500 milliseconds is poor.

Percentile evaluation matters because device speed, browser workload and interaction choices vary substantially. Desktop traffic can mask weaker mobile responsiveness, so separate the populations. Route averages can also hide a slow checkout, filter or navigation component. A value near the good boundary still deserves regression protection, especially when new tags or application code ship frequently. Use thresholds to prioritize affected route families and interaction types, then inspect real attribution. Do not optimize only the initial page load when the slow interaction happens minutes later in a modal, form or dynamically loaded panel.

  • Good: 200 milliseconds or less
  • Needs improvement: above 200 through 500 milliseconds
  • Poor: above 500 milliseconds
  • Evaluate the 75th percentile
  • Separate mobile and desktop visits
  • Segment route and interaction types
  1. Frame the decision raised by What Is a Good INP Score.
  2. Render the page with its required scripts and resources.
  3. Compare content, links, metadata and canonical signals.
  4. Trace each difference to the responsible template or script.
  5. Apply the fix and repeat both observations.
INP thresholds
RangeClassificationAction
≤ 200 msGoodProtect against regression
> 200–500 msNeeds improvementFind dominant phase
> 500 msPoorPrioritize shared blockers
Fast desktop, slow mobileDevice capability issueReduce main-thread work
One slow componentInteraction-specific defectFix shared component
Release regressionNew code or third partyReview change timeline

Use INP thresholds to find affected user populations, then repair the interaction path rather than chasing a sitewide average.

How Is INP Calculated?

INP groups related event-timing entries into interactions, measures latency from physical input to the next presented frame and selects a high-latency interaction, generally the worst with an outlier adjustment on highly interactive visits.

A single user action can create multiple browser events. Pointer input may include down, up and click handlers that belong to one interaction. The interaction duration reflects the longest relevant event duration in that group rather than summing every handler naively. For visits with fewer than 50 interactions, the worst interaction is commonly reported. As interaction counts grow, one highest observation is ignored for every 50 interactions. This adjustment reduces the influence of rare random stalls while keeping the metric sensitive to recurring slow behavior. Field instrumentation should capture interaction ID, target and phase details promptly while respecting privacy and data volume.

  1. Observe qualifying user-input events.
  2. Group related events into one interaction.
  3. Measure from input time to the next paint.
  4. Record event duration and interaction identity.
  5. Rank interaction latencies within the visit.
  6. Apply the high-count outlier adjustment.
  7. Report the representative high latency.
  • Evidence for How Is INP Calculated: the raw html returned by the server
  • The rendered DOM after required scripts run
  • Content, links and metadata that differ between those states
  • Network, console and hydration failures tied to the page
  • A repeatable test at the exact URL and device context
INP calculation concepts
ConceptMeaningDiagnostic use
Event entryTiming for one input eventInspect handler timing
Interaction IDGroups related eventsAvoid double counting
DurationInput-to-paint latencyOverall outcome
TargetInteracted elementFind component
Interaction countVisit activity levelAdjust outliers
Representative latencyReported INPPrioritize worst experience

INP calculation is most useful when teams retain enough interaction attribution to reproduce the slow component under realistic conditions.

What Are the Three INP Phases?

INP latency can be decomposed into input delay, processing duration and presentation delay. Each phase has different causes, so the largest phase should guide the first optimization.

Input delay is the time between physical input and the start of event handling. It grows when the main thread is occupied by another task. Processing duration covers the event callbacks that respond to the interaction. Presentation delay begins after handlers finish and lasts until the browser can present the resulting frame; style, layout, paint and queued work can contribute. A long total does not reveal which phase dominates. Splitting work inside the handler will not solve an input delay caused by an unrelated analytics task, while removing a third party will not fix an expensive synchronous component update. Capture all three phases with target and route context.

  • Input delay: waiting before handlers start
  • Processing duration: event callback work
  • Presentation delay: waiting for the next frame
  • Different components can dominate each phase
  • One interaction can include multiple event handlers
  • Attribution determines the correct fix
  1. Frame the decision raised by What Are the Three INP Phases.
  2. Render the page with its required scripts and resources.
  3. Compare content, links, metadata and canonical signals.
  4. Trace each difference to the responsible template or script.
  5. Apply the fix and repeat both observations.
INP latency phases
PhaseCommon causeFix direction
Input delayLong task already runningYield and reduce unrelated work
ProcessingHeavy event handlerSimplify and split logic
PresentationLarge render updateReduce DOM and layout cost
Mixed delayMultiple dependenciesTrace full interaction
Cold componentCode loaded on first actionPrepare likely interaction
Third-party stallVendor task occupies threadDelay or isolate vendor work

Break every slow INP interaction into its three phases before assigning engineering work or choosing an optimization.

How Do Long Tasks and JavaScript Affect INP?

Long JavaScript tasks affect INP by monopolizing the main thread before or during an interaction. Breaking work into smaller tasks lets the browser handle input and present frames between units of computation.

A task longer than the available responsiveness budget can delay an input even when it is unrelated to the clicked control. Split large loops, parsing, initialization and component work at logical boundaries. Yielding should not leave inconsistent application state visible, so commit the minimal user-facing update first and continue secondary work later. Reduce duplicate listeners and avoid redoing global calculations inside every event. Move appropriate pure computation to a worker when messaging and serialization costs make sense. Code splitting helps transfer size, but loading and compiling a new chunk on the first action can move delay into the interaction; prepare code for highly probable primary actions without preloading every feature.

  1. Find long tasks near slow interactions.
  2. Separate essential response work from secondary work.
  3. Break computation at safe state boundaries.
  4. Yield so input and rendering can proceed.
  5. Reduce duplicate listeners and repeated calculations.
  6. Move suitable computation off the main thread.
  7. Prepare code for likely primary actions.
  • Evidence for How Do Long Tasks and JavaScript Affect INP: the raw html returned by the server
  • The rendered DOM after required scripts run
  • Content, links and metadata that differ between those states
  • Network, console and hydration failures tied to the page
  • A repeatable test at the exact URL and device context
Main-thread optimization choices
TechniqueBenefitRisk
Task yieldingShorter input waitState split poorly
Work chunkingFrames between computationCoordination overhead
Web workerMoves pure computationMessaging and serialization
Event delegationFewer listenersComplex target logic
Code splittingLess initial codeFirst-action fetch delay
Selective preparationFast likely actionBandwidth if overused

Main-thread optimization should create frequent opportunities for input and paint while preserving correct application state.

How Do Rendering and DOM Work Affect INP?

Rendering work affects INP when an interaction changes too many nodes, triggers repeated style or layout calculation, or requires a large paint before the next frame can be presented.

Update the smallest DOM region that communicates the result. Virtualize very large lists when accessibility, find-in-page and navigation behavior remain sound. Batch DOM reads before writes to avoid forced synchronous layouts. Prefer CSS transforms and opacity for suitable animations instead of repeatedly changing geometry. Keep hidden application trees from participating in expensive updates. A fast handler can still produce poor INP if it schedules a huge render, so inspect presentation delay and browser rendering events. Framework memoization or component boundaries help only when measurements show unnecessary work; indiscriminate memoization adds complexity and memory cost.

  • Update only the affected component region
  • Batch layout reads before writes
  • Limit active DOM size where appropriate
  • Avoid repeated geometry-changing animation
  • Prevent hidden trees from unnecessary rerenders
  • Measure presentation delay after handler completion
  1. Frame the decision raised by How Do Rendering and DOM Work Affect INP.
  2. Render the page with its required scripts and resources.
  3. Compare content, links, metadata and canonical signals.
  4. Trace each difference to the responsible template or script.
  5. Apply the fix and repeat both observations.
Rendering-related INP fixes
FindingFix directionRegression check
Large rerenderNarrow update scopeCorrect visible state
Forced layoutBatch reads and writesGeometry accuracy
Huge listPagination or careful virtualizationAccessibility and discovery
Layout animationTransform when suitableFocus and reduced motion
Hidden tree updatesPause inactive workState restoration
Large paintReduce affected visual areaDesign fidelity

A responsive interaction updates the minimum necessary visual area and gives the browser enough time to present the result promptly.

How Do You Improve INP?

Improve INP by identifying the slow interaction and dominant phase, reducing competing long tasks, simplifying handlers, minimizing render work and providing immediate visual feedback before secondary computation.

Begin with field attribution to find real route, target and device patterns. Reproduce the interaction on representative hardware, then inspect input, processing and presentation phases. Remove or reschedule unrelated work that blocks input. Make the essential state change small and visible, then continue optional calculations asynchronously when safe. Reduce client activation work through focused hydration and avoid making primary actions wait for cold code. Review resource scheduling, but remember that INP after load is often dominated by execution rather than transfer. Retest keyboard, touch and pointer behavior.

  1. Find the real slow interaction and target.
  2. Decompose its three latency phases.
  3. Remove competing long tasks.
  4. Simplify the essential event handler.
  5. Commit immediate visual feedback.
  6. Defer secondary safe work.
  7. Reduce DOM and rendering scope.
  8. Confirm field improvement after release.
  • Evidence for How Do You Improve INP: the raw html returned by the server
  • The rendered DOM after required scripts run
  • Content, links and metadata that differ between those states
  • Network, console and hydration failures tied to the page
  • A repeatable test at the exact URL and device context
INP fix map
FindingCandidate fixVerification
Input delayYield unrelated workEarly input trace
Long callbackReduce and chunk handlerProcessing duration
Cold interaction codePrepare likely actionNetwork and field data
Large DOM updateNarrow render scopePresentation delay
Hydration competitionPrioritize critical controlsImmediate-action test
Third-party taskDelay or isolate vendorBusiness and timing check

The strongest INP fix shortens the dominant phase of a real interaction while preserving correct feedback, accessibility and application state.

How Do You Audit Interaction to Next Paint?

Audit INP by segmenting field data, capturing interaction targets and phase attribution, reproducing slow actions on representative devices and mapping long tasks, callbacks and rendering work to shared components.

Start with the 75th-percentile distribution by mobile, desktop and route family. Collect privacy-safe target or component attribution and interaction type. Select common and slow actions such as menus, filters, search, add-to-cart, form validation and modal controls. Reproduce them on mid-range hardware with realistic data. Record event timing, long tasks, call stacks, DOM updates and rendering events. Test early input during page load as well as later interactions. Pair the audit with JavaScript SEO, client rendering and CLS checks so responsiveness fixes do not destabilize the interface.

  1. Segment field INP by device and route.
  2. Capture interaction type and target attribution.
  3. Identify dominant input, processing or presentation delay.
  4. Reproduce actions on representative hardware.
  5. Trace long tasks, handlers and DOM updates.
  6. Test early and long-session interactions.
  7. Verify affected shared components.
  8. Monitor production percentiles after release.
  • Evidence for How Do You Audit Interaction to Next Paint: the raw html returned by the server
  • The rendered DOM after required scripts run
  • Content, links and metadata that differ between those states
  • Network, console and hydration failures tied to the page
  • A repeatable test at the exact URL and device context
INP audit worksheet
CheckEvidencePass condition
Population75th-percentile segmentsAffected routes known
TargetInteraction attributionComponent identified
Input delayEvent timingNo avoidable task wait
ProcessingCallback traceBounded handler work
PresentationRendering tracePrompt next frame
DeviceRepresentative hardwareRealistic result
RegressionInteraction suiteActions stay correct
ReleaseField trendSustained improvement

Start with a relevant free SEO check, continue the evidence workflow in Novaverb, and review pricing when comparing continuous monitoring with a one-time manual review.

A complete INP audit connects a real-user responsiveness outcome to one interaction, one dominant phase and one verified component fix.