INP: definição, limites e substituição do FID

Atualizado em February 22, 2026
Definição rápida
O INP (Interaction to Next Paint) é a métrica Core Web Vitals que mede a reatividade global de uma página web às interações do utilizador ao longo de toda a sessão. O INP é considerado bom se for inferior a 200 milissegundos, a melhorar entre 200 ms e 500 ms, e mau acima dos 500 ms. O INP substituiu oficialmente o FID (First Input Delay) em março de 2024 nos Core Web Vitals do Google.
Como funciona
O INP (Interaction to Next Paint) mede a latência de todas as interações de um utilizador com uma página — cliques, toques tácteis, digitações no teclado — e retém a pior latência observada durante toda a sessão (com uma tolerância para ignorar alguns outliers). Ao contrário do FID, que apenas capturava a primeira interação, o INP dá uma visão completa da reatividade ao longo de toda a navegação. Os limites oficiais do Google: bom (verde) se inferior a 200 ms, a melhorar (laranja) entre 200 ms e 500 ms, mau (vermelho) acima dos 500 ms. Exemplo concreto: um site de reservas onde o utilizador seleciona datas num calendário, escolhe o número de pessoas e clica em 'Pesquisar'. Se cada uma destas interações demorar 350 ms até a interface responder, o INP será mau. A principal causa de maus INP é a execução de tarefas JavaScript longas na thread principal, que atrasam o processamento das interações. O INP mede três fases: o atraso de entrada (tempo até o navegador começar a tratar o evento), o tempo de processamento (duração dos handlers de eventos) e o atraso de apresentação (tempo até à próxima exibição da frame).
Porque é importante
O INP é agora o sinal oficial de reatividade nos Core Web Vitals desde março de 2024. Um mau INP significa que a interface dá uma impressão de lentidão ou bloqueio mesmo que a página tenha sido carregada rapidamente. Em aplicações web ricas em JavaScript (SPA, e-commerce dinâmico, ferramentas SaaS), o INP é frequentemente o Core Web Vital mais difícil de fazer passar para o verde. Um bom INP está diretamente correlacionado com uma melhor taxa de retenção e envolvimento dos utilizadores.
Como melhorar ou utilizar
Para melhorar o INP: divida as tarefas JavaScript longas utilizando `scheduler.yield()` ou `setTimeout()` para libertar a thread principal. Reduza a quantidade de JavaScript executado no arranque com code-splitting e lazy loading. Otimize os handlers de eventos para que sejam leves e deleguem os processamentos pesados a web workers. Evite re-renders desnecessários nos seus frameworks (React, Vue) memoizando os componentes. Utilize as Chrome DevTools (aba Performance) para criar perfis das interações lentas.
Com o Sublim
A Sublim mede o desempenho de carregamento e a reatividade das suas páginas em condições reais, em paralelo com os seus dados de envolvimento do utilizador. Identifica facilmente as páginas com INP degradado e como isso impacta as suas conversões — tudo sem cookies, com alojamento 100 % europeu em conformidade com o RGPD, e sem dependência do Google Analytics.
Perguntas frequentes
Quando é que o INP substituiu o FID nos Core Web Vitals?
O INP substituiu oficialmente o FID (First Input Delay) como métrica Core Web Vitals em março de 2024. O Google tinha anunciado esta transição em maio de 2023 para dar tempo às equipas se prepararem. Desde essa data, é o INP que aparece no Google Search Console e que é tido em conta no ranking.
Por que é o INP melhor do que o FID?
O FID media apenas o atraso antes da primeira interação e ignorava o tempo de processamento real. O INP mede a latência completa (atraso + processamento + renderização) de todas as interações da sessão. Isso dá uma imagem muito mais fiel da reatividade real de uma página ao longo da sua utilização, em particular para aplicações web interativas.
O meu site React tem um mau INP, por onde começar?
Comece por identificar as interações mais lentas com a extensão Web Vitals do Chrome ou o profiler do React DevTools. As causas comuns no React são re-renders em cascata, efeitos (useEffect) demasiado pesados desencadeados pelas interações e ausência de memoização (React.memo, useMemo). A divisão do código com React.lazy e Suspense também pode reduzir a carga JavaScript inicial.
Termos relacionados
Os Core Web Vitals são um conjunto de três métricas definidas pelo Goo…
O LCP (Largest Contentful Paint) é uma métrica Core Web Vitals que med…
O CLS (Cumulative Layout Shift) é uma métrica Core Web Vitals que mede…
O FID (First Input Delay) era uma métrica Core Web Vitals que media o …