Skip to content We're live on Product Hunt today Upvote
install

diagnostic · one of 36 free, no counter

Hints

Is that preload actually doing anything?

A resource hint is the page promising itself the future - “this will be needed, start now” - and the resource-timing buffer is the receipt for what actually happened. This reads both and marks where they disagree: the preload nothing consumed, which was paid for and thrown away, and the font preload missing crossorigin, which the browser downloads twice by specification rather than by accident.

Reach it Press + K on any tab and type hints. Ctrl + K on Windows and Linux

Every resource hint judged against what actually loaded
reads the head’s hints and the resource-timing record
fetches nothing by asking - the record already exists
verdicts used, unused, or unknown - never guessed
prefetch for the next page, so never convicted here
overflow a full timing buffer downgrades every verdict to unknown
sends nothing
plan free
section#about

What this actually is

After a performance pass added hints nobody re-audited, when a preload warning appears in the console and needs a verdict rather than a shrug, or when a redesign quietly removed the resource a hint still promises. Hints rot: the carousel gets cut, its preload stays, and every visitor pays for the cut feature.

section#asked

Asked about this diagnostic

Why does an unused preload matter?

Because a preload is a real request at top priority: the bytes are fetched, they compete with the render for bandwidth, and if nothing consumes them they are thrown away. An unused preload is the page paying twice - once in transfer, once in the contention it caused - for nothing.

What is wrong with a font preload without crossorigin?

Fonts are fetched in anonymous CORS mode, and a preload that does not say crossorigin fetches in a different mode - so the browser cannot match the two and downloads the file twice. It is the specification working as written, which is why it stays one of the commonest hint mistakes.

Why is prefetch always unknown rather than unused?

Because prefetch is a promise about the next navigation, and this page never witnesses the next navigation. Convicting it as unused on this page's record would be judging it against the wrong evidence, so it is reported as what it is: unjudgeable from here.

What happens when the timing buffer overflows?

The record is partial, and a hint whose consumer fell out of the buffer would read as unused on missing evidence. Every verdict downgrades to unknown instead, and the reading says why - a wrong conviction would send somebody deleting a hint that was working.

how to use hints

  1. Open Hints on a fresh load, while the resource-timing record is still complete.
  2. Read the verdict per hint: used, unused, or unknown. Never guessed.
  3. Delete the preloads marked unused - those bytes were paid for and thrown away.
  4. If the timing buffer overflowed every verdict downgrades to unknown, so reload and read again.