Async vs Defer JavaScript – Exploring the Differences

async vs defer javascript
1024 1024 Ahmet Onur

JavaScript is a fundamental building block for today’s web applications. But have you ever wondered how browsers handle HTML and JavaScript files? If you haven’t tried crazy things probably you didn’t use async or defer while loading JavaScript files. Let’s take a closer look what is difference between async vs defer javascript.

How Browsers Read HTML: Understanding the Contrast between Async and Defer JavaScript

When you navigate to a website, your browser starts by parsing the index.html file from top to bottom. If it encounters a <script> tag, it temporarily pauses HTML parsing to execute the JavaScript code. Once the JavaScript execution is complete, it resumes parsing the HTML.

This is the default behavior when including a JavaScript file:

<script src="app.js"></script>

This method suits websites that rely on multiple JavaScript files, some of which may depend on others.

Quick JavaScript: Async Method

The ‘async’ attribute allows JavaScript files to load asynchronously. This means that while the browser parses the HTML, it simultaneously fetches JavaScript files marked with ‘async’.

The JavaScript code within these files will execute as soon as they are downloaded, irrespective of whether the HTML parsing is complete. This can significantly accelerate page loading times.

Here’s how you can utilize the ‘async’ attribute:

<script src="app.js" async></script>

In ‘async’ mode, JavaScript files are non-blocking, ensuring that your page remains responsive. This feature is particularly useful for integrating third-party scripts like ads or analytics tools, which do not rely on your scripts.

Waited JavaScript: Defer Feature

Similar to ‘async’, the ‘defer’ attribute delays the execution of JavaScript until the HTML parsing is complete. However, it maintains the order of script import, ensuring that scripts are executed in the sequence they appear in the HTML file.

In ‘defer’ mode, the browser fetches the script while parsing the HTML but postpones execution until the HTML parsing is finished.

Here’s how you can use the ‘defer’ attribute:

<script src="app.js" defer></script>

While ‘defer’ mode may slightly slow down page rendering due to sequential execution, it ensures proper script dependency resolution.


In summary, there are two distinct strategies for loading JavaScript files: async vs defer javascript. The choice between them depends on your specific requirements.

For scripts that do not rely on others, such as Google Analytics, ‘async’ loading can significantly enhance website performance. On the other hand, if you need to ensure script dependency resolution, ‘defer’ loading may be more suitable.

Understanding these loading strategies empowers developers to optimize their web applications for improved performance and user experience.

Have you ever seen .well-known path, don’t you know what is meaning of it? Lets look together

1 comment

Leave a Reply

Your email address will not be published.