Forced reflow

Connor Clark
Connor Clark

Published: Oct 8, 2025

A forced reflow occurs when JavaScript queries geometric properties (such as offsetWidth) after styles have been invalidated by a change to the DOM state. This forces the browser to immediately do a layout, which interrupts script execution and results in poor performance.

An example of code that causes forced reflow:

Multiple forced reflows in quick succession is called "layout thrashing".

How to pass this insight

  • Avoid, or at least reduce, the amount of DOM geometry writes that are done just before reads.
  • Have no forced reflows that take longer than 30 milliseconds.

Additional references