The HTML defer attribute
Quick answer
The HTML defer attribute downloads the script in parallel and runs it in order after the document has been parsed. It is used on the <script> element.
Overview
The defer attribute downloads the script in parallel and runs it in order after the document has been parsed. It applies to the <script> element.
defer preserves execution order and guarantees the DOM is ready, making it the safe default for most scripts in the <head>.
Syntax
<script src="app.js" defer></script>
Values
| Value |
|---|
| A boolean attribute — present or absent. |
Best practices
- Declare the character encoding with <meta charset="utf-8"> first in the <head>.
- Load scripts with defer (or as modules) so they do not block parsing.
- Protect third-party resources with integrity and crossorigin (Subresource Integrity).
- Use resource hints like preload deliberately, paired with the right as value.
Frequently asked questions
What does the defer attribute do?
Defers script execution until after parsing.