HTML script defer Attribute

HTML <script> defer Attribute

❮ HTML <script> tag


A script that will not run until after the page has loaded:

<script src="demo_defer.js" defer></script>
Try it Yourself »

Definition and Usage

The defer attribute is a boolean attribute.

When present, it specifies that the script is executed when the page has finished parsing.

Note: The defer attribute is only for external scripts (should only be used if the src attribute is present).

Note: There are several ways an external script can be executed:

  • If async is present: The script is executed asynchronously with the rest of the page (the script will be executed while the page continues the parsing)
  • If async is not present and defer is present: The script is executed when the page has finished parsing
  • If neither async or defer is present: The script is fetched and executed immediately, before the browser continues parsing the page

Browser Support

The numbers in the table specify the first browser version that fully supports the attribute.

defer Yes 10.0 3.6 Yes 15.0

Differences Between HTML 4.01 and HTML5


Differences Between HTML and XHTML

In XHTML, attribute minimization is forbidden, and the defer attribute must be defined as <script defer="defer">.


<script defer>

❮ HTML <script> tag