Interaction to Next Paint

Was INP misst, warum höchstens 200 ms beim 75. Perzentil als gut gelten, weshalb die Metrik 2024 FID ersetzte und wie sich schlechte Werte technisch verbessern lassen.

Erstveröffentlicht: 26. Juni 2026 · Zuletzt aktualisiert: 21. Aug. 2026 · Fortgeschritten
Sprachen

Interaction to Next Paint (INP) ist der Core Web Vital für Reaktionsfähigkeit. Die Metrik beobachtet Klicks, Tippen und Tastatureingaben eines gesamten Besuchs; maßgeblich ist das 75. Perzentil im Feld. Höchstens 200 ms gelten als gut, mehr als 500 ms als schlecht. INP ersetzte First Input Delay am 12. März 2024, weil FID nur die Verzögerung der ersten Eingabe maß. Verbesserungen entstehen durch geteilte lange Aufgaben, Freigabe des Hauptthreads, kleinere Handler und DOM-Bäume sowie kontrollierte Drittanbieter-Skripte. Total Blocking Time dient nur als Labornäherung.

TL;DR — INP ist der Core Web Vital für Reaktionsfähigkeit. Die Metrik beobachtet die Latenz aller Klick-, Tipp- und Tastaturinteraktionen eines Besuchs und berichtet den Wert beim 75. Perzentil (pro 50 Interaktionen wird ein Ausreißer verworfen) – nicht nur die erste Eingabe wie FID. Die Interaktionslatenz setzt sich aus Eingabeverzögerung + Verarbeitungsdauer + Darstellungsverzögerung zusammen. Gut sind höchstens 200 ms, schlecht sind mehr als 500 ms, jeweils anhand der Felddaten bei p75. INP ersetzte FID am 12. März 2024; bis September 2024 verschwand FID vollständig aus den Werkzeugen. Teilen Sie lange Aufgaben, geben Sie den Hauptthread mit scheduler.yield() frei, erledigen Sie weniger in Ereignis-Handlern, verkleinern Sie den DOM und verschieben Sie Drittanbieter-Skripte. INP ist eine Feldmetrik – Total Blocking Time dient im Labor nur als Näherung, und beide Werte stimmen nicht immer überein.

Was INP misst und wie es sich von FID unterscheidet

Google definiert INP präzise: “assesses a page’s overall responsiveness to user interactions by observing the latency of all click, tap, and keyboard interactions that occur throughout the lifespan of a user’s visit to a page.” (Übersetzung) INP bewertet die allgemeine Reaktionsfähigkeit einer Seite, indem die Latenz aller Klick-, Tipp- und Tastaturinteraktionen während des gesamten Besuchs beobachtet wird.

Evidence for this claim INP observes click, tap, and keyboard interaction latency throughout a page visit rather than measuring only the first input delay. Scope: Current web.dev INP definition and qualifying interaction types. Confidence: high · Verified: web.dev: Interaction to Next Paint

Die Formulierung „alle Interaktionen während des gesamten Besuchs“ ist entscheidend. INP ist eine Metrik auf Besuchsebene, keine Ladezeitmetrik. Google begründet das damit, dass der weitaus größte Teil der Verweildauer auf einer Seite nach dem Laden anfällt. Deshalb zählt die Reaktionsfähigkeit während der Nutzung stärker als nur der erste Eindruck.

Der Unterschied zum First Input Delay ist grundlegend: “FID only measured the input delay of the first interaction on a page. INP improves on FID by observing all interactions on a page, beginning from the input delay, through the time it takes to run event handlers, and finally up until the browser has painted the next frame.” (Übersetzung) FID maß nur die erste Eingabeverzögerung; INP beobachtet alle Interaktionen einschließlich Handler und nächstem Frame.

Eine wichtige Nuance, weil sich darum ein verbreiteter Irrtum hält: INP ist nicht buchstäblich die langsamste Interaktion. Damit eine Seite nicht wegen eines einzelnen zufälligen Ausschlags abgestraft wird, verwirft der Browser pro 50 Interaktionen einen Ausreißer und berichtet anschließend den Wert beim 75. Perzentil der Seitenaufrufe. Bei einem Besuch mit wenigen Interaktionen entspricht das der langsamsten Interaktion; bei einem interaktionsreichen Besuch werden zuerst einige Ausreißer ausgeschlossen.

Was als Interaktion zählt, ist ebenfalls enger gefasst, als viele annehmen. Gemessen werden nur Klicks, Tippen und Tastatureingaben. Scrollen, Hover-Bewegungen und Zoomen sind ausdrücklich ausgeschlossen. Eine einzelne Geste kann mehrere Ereignisse auslösen: Ein Tippen erzeugt pointerdown, pointerup und click. INP gruppiert diese Ereignisse zu einer Interaktion, nicht zu drei. Innerhalb der Gruppe zählt die längste einzelne Ereignisdauer, nicht deren Summe. Ein schnelles pointerdown neben einem langsamen click wird daher als eine Interaktion mit der Dauer des langsamen Ereignisses berichtet. Gibt es während eines Besuchs keine qualifizierende Interaktion, wird für ihn schlicht kein INP gemeldet.

Die drei Bestandteile der Interaktionslatenz

Jede Interaktion besteht aus drei aufeinanderfolgenden Phasen. Jede Phase weist auf eine andere Korrektur hin:

Interaction latency = Input delay + Processing duration + Presentation delay

  1. Eingabeverzögerung – Wartezeit, bevor Handler beginnen können, meist wegen einer laufenden langen Aufgabe.
  2. Verarbeitungsdauer – Zeit für alle Ereignis-Callbacks der Interaktion.
  3. Darstellungsverzögerung – Zeit vom Ende der Handler bis zum Layout und Zeichnen des nächsten Frames.

Der Attribution-Build von web-vitals stellt alle drei Werte bereit (inputDelay, processingDuration, presentationDelay), sodass die dominierende Phase pro Interaktion sichtbar wird.

INP measures the whole interaction. Attribute the delay to the waiting, handler, or presentation phase before choosing a fix. Quelle: web.dev

The interaction begins with input delay while the event waits for the main thread. Processing duration follows while the event-handler callbacks execute. Presentation delay runs from the end of the handlers until the browser lays out and paints the next frame. Together these three sequential phases make up the interaction latency measured by INP.

© Patrick Stox LLC · CC BY 4.0 ·

Schwellenwerte und das 75. Perzentil im Feld

BewertungINP-WertMesspunkt
Gut≤ 200 ms75. Perzentil, Feld
Verbesserungswürdig> 200 ms und ≤ 500 ms75. Perzentil, Feld
Schlecht> 500 ms75. Perzentil, Feld

Google Search Central nennt das Ziel ausdrücklich: “an INP of less than 200 milliseconds” (Übersetzung) „ein INP unter 200 Millisekunden“. Außerdem heißt es: “We highly recommend site owners achieve good Core Web Vitals for success with Search.” (Übersetzung) „Wir empfehlen Website-Betreibenden nachdrücklich, gute Core Web Vitals zu erreichen, um in der Suche erfolgreich zu sein.“ Das Budget von 200 ms ist tatsächlich knapp, wenn der Browser bei 60 fps ungefähr alle 16,7 ms einen Frame darstellen soll: Sämtliche Handler-Arbeit und die Darstellung müssen darin Platz finden.

Evidence for this claim INP is good at 200 milliseconds or less and poor above 500 milliseconds, assessed at the 75th percentile. Scope: Current web.dev INP thresholds for field measurement. Confidence: high · Verified: web.dev: Interaction to Next Paint

Warum INP eine Feldmetrik ist

Ein grüner Lighthouse-Wert garantiert keinen guten INP. Die Aussage, Lighthouse könne INP nicht messen, muss jedoch in drei Fälle getrennt werden:

  1. Ein normaler, nicht interaktiver Lighthouse-Lauf liefert keinen INP. Er beobachtet nur das Laden und verwendet Total Blocking Time als Labornäherung.
  2. Eine manuell ausgeführte Laborinteraktion kann echte Interaktionslatenz messen. Sie ist reproduzierbar, bildet aber nur dieses Gerät und diese Interaktion ab.
  3. Die Feldverteilung bleibt maßgeblich. CrUX und RUM erfassen viele reale Besuche; das 75. Perzentil entscheidet über den Core-Web-Vitals-Status.

Nutzen Sie das Labor zum Finden und Reproduzieren langsamer Interaktionen; bestätigen Sie im Feld, ob diese reale Besuche tatsächlich beeinträchtigen.

Warum der INP-Wert schlecht ist

Fast jedes INP-Problem entsteht, weil der Hauptthread bei einer Interaktion blockiert ist. Typische Ursachen sind:

  • Lange Aufgaben. Jede Hauptthread-Aufgabe über 50 ms ist lang; der Anteil über 50 ms ist ihre Blockierungszeit.
  • Zu viel synchrone Handler-Arbeit.
  • Layout-Thrashing durch abwechselndes Lesen und Schreiben von Layoutwerten.
  • Große DOM-Bäume, die Stilberechnung, Layout und Zeichnen verteuern.
  • Drittanbieter-JavaScript, das mit eigenem Code um den Hauptthread konkurriert.

So verbessern Sie INP

Die Strategien ungefähr in der Reihenfolge ihrer Wirkung:

1. Lange Aufgaben aufteilen. Googles Kernaussage zu Handlern lautet: “do as little work as possible in them.” (Übersetzung) Führen Sie darin so wenig Arbeit wie möglich aus. Teilen Sie große Aufgaben, damit Eingaben dazwischen verarbeitet werden können.

2. Dem Hauptthread Zeit geben. Der moderne, empfohlene Weg ist scheduler.yield() (Chrome 129+, Firefox 142+): await scheduler.yield() pausiert den Code, lässt den Browser ausstehende Arbeit erledigen und setzt ihn mit Priorität fort, sodass andere Aufgaben die Fortsetzung nicht überholen. Der klassische Rückfall ist setTimeout(..., 0). Er funktioniert weiterhin, stellt den Code aber ans Ende der Aufgabenwarteschlange; nach mehreren verschachtelten Aufrufen erzwingen Browser zudem mindestens 5 ms Wartezeit. isInputPending() sollten Sie dagegen nicht mehr einsetzen. Google sagt dazu: “we no longer recommend using this API.” (Übersetzung) „Wir empfehlen die Verwendung dieser API nicht mehr.“ Das Muster finden Sie im Tab Skripte.

3. In Ereignis-Handlern weniger tun und unkritische Arbeit verschieben. Führen Sie synchron nur die sichtbare Aktualisierung aus, die der nächste Frame benötigt. Verschieben Sie alles andere – Speichern, Rechtschreibprüfung, Analytics und Wortzählung – hinter requestAnimationFrame + setTimeout oder eine Freigabe. Die Reaktion wird sofort sichtbar; die Verwaltungsarbeit folgt danach.

4. Layout-Thrashing vermeiden. Bündeln Sie Layout-Lesevorgänge vor Schreibvorgängen, damit der Browser kein wiederholtes synchrones Layout erzwingen muss.

5. DOM verkleinern. Kleine Bäume werden schneller dargestellt. content-visibility kann Elemente außerhalb des sichtbaren Bereichs verzögert rendern.

6. Drittanbieter-Skripte prüfen und verschieben. Laden Sie Consent-, Tag- und Analytics-Skripte verzögert, begrenzen Sie Ausführung und entfernen Sie redundante Anbieter.

Beeinflusst INP Rankings?

Ja. INP gehört zu den drei Core Web Vitals und damit zu Googles Signalen für Seitenerfahrung. Es ist jedoch ein leicht gewichtetes Signal: Eine relevante Seite verliert nicht allein wegen eines mäßigen INP gegen irrelevante Inhalte.

Zwei praktische SEO-Punkte: Mobilgeräte sind entscheidend, weil sie wesentlich seltener bestehen als Desktopgeräte. Außerdem können langsame Interaktionen Konversionen und Nutzung direkt beeinträchtigen, unabhängig vom Ranking.

INP und FID im vollständigen Vergleich

FID (eingestellt)INP (aktuell)
InteraktionenNur die ersteAlle im gesamten Besuch
Gemessene ZeitNur EingabeverzögerungEingabeverzögerung + Verarbeitung + Darstellung
WertEine VerzögerungRobuster annähernder Höchstwert
Status2024 ersetztCore Web Vital

FID wurde am Starttag von INP aus Search Console und bis September 2024 aus CrUX entfernt. Sein früherer guter Schwellenwert lag bei 100 ms. Verweist ein Werkzeug noch darauf, ist es veraltet.

Sonderfälle, die INP-Daten voneinander abweichen lassen

Die meisten Unterschiede zwischen RUM und CrUX entstehen durch einige Lebenszyklus-Eigenheiten:

  • Keine Interaktion, kein INP. Ohne Klick, Tippen oder Tastendruck entsteht kein Wert.
  • Iframe-Lücke. CrUX kann Interaktionen in Frames einbeziehen, Seiten-RUM sieht fremde Frames nicht.
  • bfcache setzt die Messung zurück. Wiederhergestellte Seiten beginnen einen neuen Messzeitraum.
  • Versteckte oder lange geöffnete Tabs. Die Bibliothek meldet bei Sichtbarkeitswechseln, unload und Seitenende Zwischenwerte.

Einordnung

INP ergänzt Largest Contentful Paint für Ladeleistung und Cumulative Layout Shift für visuelle Stabilität. Bei Leistungsproblemen sollte zuerst die schwächste reale Metrik optimiert werden.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.